======= Intro Что же такое Виртуальная Машина и зачем она нужна? Виртуальная Машина - это программа, которая программно-аппаратно эмулирует виртуальное оборудование, на которое можно установить вполне реальную гостевую операционную систему. Тоесть при её помощи вы можете работать в другой операционной системе, не выходя из основной. Конечно, есть некоторые ограничения и тонкости, которые мы рассмотрим. Важно, чтобы ваше железо было не слишком старым, так как виртуалка требует значительных ресурсов и сильно нагружает комп. Желательно, чтобы частота процессора была выше 1.5 ГГц, а оперативы более 256 Мб. Иначе ничего приличнее 98 винды, или 4-го RedHat'a поставить вы не сможете, а если и сможете - я вам не завидую. ======= Вот основные задачи, решаемые с помощью виртуальной машины: - Обучение. Зачастую многие бояться ставить другую операционную систему - слишком неожиданный и грубый переход, особенно для неопытных пользователей. Непривычная среда, незнакомые программы и интерфейс - легко запутаться и растеряться, тем более, если нет знающего человека поблизости. Неудобство обращения с накопленной информацией на носителях(NTFS, ext3, mac не поймут друг друга без спец.утилит). Плюс ко всему - риск потери важной информации при неумелом обращении с новой системой. Всех этих ньюансов можно избежать, постепенно обучаюсь на виртуальной машине - это поможет медленно адаптироваться к новой оси. Можно не бояться убить систему перекомпиляцией ядра или установкой экзотических настроек\драйверов, так как имеется запись "сохранений" состояния (snapshot). - Тестирование кросплатформенного и прочего ПО. Программисту бывает крайне неудобно программировать, если он разрабатывает какой-либо кросплатформенный продукт или его основная система отличаеться от целевой. Не каждый имеет возможность докупить вторую машину, тем более, если надобность в двух системах носит единичный характер. Постоянные перезагрузки отнимают много бесценного времени. Сам встречаюсь иногда с ситуацией, когда пользователю нужно "показать", как что-то настроить в другой операционке, к которой физически нет удалённого доступа, а идти далеко или влом - Тестирование незнакомых программ. Если программа скачана из сомнительного источника, либо у вас есть какие-то сомнения в ней - испытание на виртуалке - лучший выход. В случае вредоносных действий вируса не пострадет основная ос. Такую методику часто применяют при тестировании разной гадости - помогает сэкономить время и силы + относительная безопасность. - Анонимность. Как ещё можно скрыть данные о себе, путешествуя по закромам сети? Повсюду происходит логирование версий используемых нами программ, сайты кишат коварными жава-скриптами, везде идёт сбор статистики. Вот, например: http://antichat.ru/txt/old/header_cl.shtml Пожалуй, самая высокая степень анонимности нужна тем, кто не хочет о себе много рассказывать по вполне понятным причинам. Например, Кардерам. На виртуальная виртуальную машину устанавливают иностранную версию какой-либо ОС + такой же софт + прокси из того же региона. И попробуй догадайся, что это не Mr.Tramper из штата Вашингтон, а Васька-хакер из России. Ходят слухи, что в последние клиенты WM Keeper встроено определение виртуальной среды, и при обнаружении таковой - информация о кошельке и операциях передаёться на сервер. ======= Программ виртуальных машин существует несколько. Мы подробно рассмотрим две самые рпаспространённые VirtualPC vs VMWare. Проведём сравнительный тест VirtualPC и VMWare и оценим их пригодность для выполнения различных задач. 1) Совместимость. Принцип работы виртуалок таков. Нам требуеться исходная(хостовая\основная) операционная система, в которой нам собственно удобно работать и от которой мы ещё не готовы отказаться =] - Соответственно, сам инсталятор виртуалки должен поддерживать нашу хостовую ОС. VMWare - Windows\Linux VirtualPC - Windows Ага! Итак, на самом начальном этапе выясняеться, что если вы заядлый линуксоид - ваш выбор очевиден, и вам полезно лишь ознакомится с особенностями ВМвари, описанными ниже. А поклоники винды могут выбирать виртуалку своей мечты =] - Операционная система, устанавливаемая в виртуальной среде, называеться гостевой. И опять же, здесь есть ограничения. VMWare - офф. поддержка любой ОС: 32\64 разрядная, i386 архитектуры. VirtualPC - офф. поддержка Win систем, неофициальная - всех остальных i386. Тоесть, по сути одно и тоже, что несколько радует. Правда не факт, что какой-нибудь новейший дистрибутив вдруг встанет на одну и не встанет на другую. ======= Для совместимости драйверов ОС виртуалка эмулирует самые распространённые девайсы, потому как правило проблем и глюков не возникает. Есть два отличия: - эмуляция в VMWare позволяет сымитировать двух- четырёх-процессорную мат-плату. VirtualPC на такое не способен. - для работы VirtualPC НЕОБХОДИМА файловая система NTFS на хостовой системе. ======= В линейке дистрибутивов виртуалок есть некоторое разнообразие, однако не будем углубляться на ненужных нам различиях, просто учтём, что: VMware: - Player - только запуск готового образа - Workstation - создание\запуск\настройка образа - Virtual Server - как Workstation+серверные фичи VirtualPC: - Virtual PC - создание\запуск\настройка образа - Virtual Server - как Virtual PC+серверные фичи - Windows Scripting Host - удалённое управление(раб.стол!) через WEB ======= Оба продукта имеют одинаковые возможности по поддержке сетевых интерефейсов: - "Use bridged" - непосредственный доступ к сетевому интерфейсу: виртуалка юзает одну и туже сетевую карту с хостовой никак не мешая, имея свой собственый айпи-мак(!). Я реально оценил такую возможность, и долго прикалывался в болталке над юзерами, разговаривая с ними и сам с собой =] Это очень интересная особенность поскольку можно держать сколь угодно много(кол-во виртуалок) айпи-маков на одном интерфейсе без применения спуфинга и сниферов в локальных сетях на свичах. - "Use NAT" - трансляция сетевых адресов. При использовании ната гостевая машина может общаться с внешней сетью, имеет тот же IP, что и ваша машина, к гостевой системе НЕЛЬЗЯ обратиться из вне напряую. Помните, что некоторые провайдеры не допускают использование NAT'a и могут обнаружить вашу гостевую ОС, так как при прохождении пакетов через вас размер TTL уменьшаеться на единицу, что может быть зафиксировано. Кроме того, в NAT'e ВМвари была недавно найденна уязвимость, позволяющая выполнить произвольный код на основной системе. http://www.securitylab.ru/vulnerability/243282.php Публичного сплоита пока нет, но долго ли небудет? - "Use NAT host-only" - отдельное изолированное подключение между хостовой и гостевой ОС. - "Do not use networking" - нет сетевых подключений. ======= Интересной особенностью являеться динамическое расширение дискового пространства. Те оно не резервируеться, а увеличиваеться в процессе надобности, хотя гостевая думает, что его всегда много. Впрочем, можно сделать статическое выделение места, но нужно ли? Если так сделать, то лишь для профилактики дефрагментации. ======= Разумееться, производительность гостевой системы не на высоте, потому не стоит пытаться запускать ресурсоёмкие приложения\игры и прочее - ничего хорошего из этого не выйдет. 2) Анонимность. А можно ли определить использование виртуальной среды? Ещё как! Есть множество способов, и ни отнюдь не теоретические. Механизмы детектирования виртуалок давно реализованы. Вот несколько сорсов, используемых в продвинутых вирусах и червях(например, Agobot'e). Здесь есть методы детектирования виртуалок, антиотладочные приёмы: Tracking Botnets - Source Code Механизмы обнаружения VMWare: - специфическое оборудование видеокарта VMware Inc [VMware SVGA II] PCI Display Adapter; сетевая карта Advanced Micro Devices [AMD] 79c970 [PCnet 32 LANCE] (rev 10); жесткие диски VMware Virtual IDE Hard Drive и VMware SCSI Controller; Если вирус поинтересуеться конфигурацией вашего железа - приехали. Более того, виртуальныю среду можно элементарно определить удалённо: сетевая карточка ВМвари имеет специфический мак-адрес: Code: 00:05:69:**:**:** VMWARE, Inc. 00:0C:29:**:**:** VMware, Inc. 00:50:56:**:**:** VMWare, Inc. Полный список соответствий мак-разработчик можно скачать ТУТ (взято из инстала NetView). Соответственно рекомендуеться сменить мак-адрес гостевой системы программными методами, описанными здесь. - механизм управления Так называемый бэкдор для служебных целей, через который происходит управление ВМварей через порт ввода\вывода. При выполнении определённых операций с регистрами произойдёт исключение на реальном компе, но не на ВМвари - она будет обнаружена. VMware Backdoor I/O Port Существует патч, написанный Костей Кортчинским, изменяющий тип и версию оборудования, MAC-адрес сетевой карточки и номер бэкдора. http://honeynet.rstack.org/tools/vmpatch.c Однако, это не панацея. Например, виртуалка имеет специфический биос, и номер бэкдора можно ведь и подобрать при желании... Механизмы обнаружения VirtualPC: В принципе много схожего с VMware. - специфическое оборудование видеокарта S3 Trio32\64 сетевуха Intel 21140 По идее можно встроить в вирус защиту на неактивацию при нахождении этих двух железяк. Думаю, количество ложных срабатываний будет близко к нулю. - механизм управления ВиртуалРС использует инвалидные инструкции процессора, которые также можно детектировать. Изменяющих заплаток нет. ======= Трудно сказать, какой из продуктов более защищён от обнаружения. Наверняка у каждого из них есть отличительные особенности, известные узкому кругу разработчиков\хакеров, позволяющие их идентифицировать. ======= Хм, пожалуй самый интересный и оригинальный вариант - хакерить на MacOS Ни VMWare, ни VirtualPC не позволяют его установить, поскольку не поддерживают эмуляцию PowerPC. Для эмуляции и установки Мака используют PearPC(есть и под Windows и под Linux: СКАЧАТЬ ). Но это уже совсем другая история... ======= Линки на скачку и документацию Официальный сайт VMWare: http://www.vmware.com Скачать: http://www.vmware.com/download/ws/ http://softsearch.ru/programs/178-107-vmware-workstation-download.shtml http://download3.vmware.com/software/wkst/VMware-workstation-5.0.0-13124.tar.gz Установка под Линукс: http://www.vandekamer.com/linux/vmware.php Серийники от www.keygen.ru: SERIAL-vmware_5.5.1.19175: U1DA4-E0G2D-DAH4G-4P8Z3 SERIAL-vmware_5.0.0-13124: A99YT-0888V-NANDZ-4MRX2 Официальный сайт VirtualPC: http://www.microsoft.com/windows/virtualpc/default.mspx ======= Использованы материалы: "Виртуалкины" пакости и заподлостроительство: VMWARE. Клонируем компы. Делаем из одного компа много разных Захват чужого ботнета: Смена командования Методы обхода виртуальных машин: Побег из VMWare (Хакер 03.2006) А также мой личный опыт и наблюдения. Всем качать и ставить! =]
МАК может быть только у реальной карты, так как настоящий свич КАК по твоему будет передавать пакеты? =)
Ха-ха )) Ты не первый =] КЕЗ тоже долго сомневался: Локальные Войны ... и как писал Булгаков, "чуть меня самого с ума не свёл, доказывая, что меня нет!" )))) Вобщем, хз как, но оно работает!
У свичей есть буфер маков и на одну дырку он может записать большое количество маков, вот поэтому все нормально работает. Да кстати, почему-то Elekt не удилил внимания самым ярким особенностям Виртуалок. К примеру, VMware позволяет, где-то за 10 секунд, создать клон готовой ОС и он будет жить, практически отдельной жизнью, к тому же, очень хорошо организована работа с сетью, и на своем компе ты можеш создать целую корпаративку с маршрутизаторами, роутерами, потерями пакетов, переломами сети и т.д. что бывает очень полезно, прежде чем прокладывать сеть. Ну а так, как всегда молодец.
Статья отличная -) ток небольшие дополнения, ты пишешь не читал статью касперского про то как вирусы вырываются с виртуалок ? =)
А вот этот патч http://honeynet.rstack.org/tools/vmpatch.c сужествует ли откомпелированная версия под WIN32 ???
Хотел немного добавить 8) Ставим эмулятор на основную ос, берем freecap допустим ставим проксю, и весь траф сразу пускаем на эмулятор, и уже в нем не нужно возится и внем выстовлять прокси соксы ... лично мне так удобней может комуто тоже поможет
Статья отличная! Мне больше VMWare нравится, после VirtualPC у меня сеть копыта откидывает. Начинаются такие баги..., сетевое подключение по локалке постоянно пропадает. В итоге обращается тем, что у меня комп только раза с пятого нормально загружается А до этого наблюдаю BSOD
А как настроить виртуальную сеть между Windows и Linux или FreeBSD в каких из двух созданных сетевых карт че надо прописывать? У меня VMware.
Настраиваешь так же, как если бы это была реальная сеть. Например, у твоего компа с виндой(реальный комп) ip: 192.168.1.1, маска: 255.255.255.0, тогда в линуксе от рута даешь такие команды Code: ifconfig eth0 192.168.1.2 netmask 255.255.255.0 и если интерфейс eth0 опущен, тогда ifup eth0 Только не забудь разрешить гостевой ОС доступ к твоей сетевухе(в настройках)
http://rapidshare.de/files/37115982/virtualnie_mashiny.rar 32 mb все подробно и яснительно Ж-)) Издательство: Питер, 2006 г. Тираж: 2000 экз.
Статья супер, юзал бы , да комп помрет (( (слабый), чё то похожее читал на http://www.xakepy.ru/statia-bezopasnostii-karderov-t15410.html , хотя нет, эта очень гуд, однозначно +...
Все респекты справедливо принадлежат Крису Касперски ака мыщъх. Я лишь скромно дополнил, оформил и донёс его труды до Вас.