![]() |
eXeL@B —› Вопросы новичков —› Как скрыть от программы запуск в среде VMware? |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 21 декабря 2012 23:39 · Поправил: stepsid · Личное сообщение · #1 всех приветствую! поискал решение на форуме, явного ответа не нашел. Вопрос: как спрятать от программы то, что она запускается в виртуальной среде VMware. Прошу Вас делиться положительным или отрицательным опытом. Итак, что мною было сделано в процессе поиска решения. 1. Нашел два документа, объясняющих как обнаружить запуск программы под виртуальной машиной а. б. 2. Добавил параметры в конфигурационный файл .vmx смотри ниже. После перезагрузки VM, использовал утилиты 2. Модифицировал serial number vmware SMBIOS, убрав упоминание о Vmware (Vmware-, VMW) 3. Удалял VMTools. 4. Мониторил с помощью 5. Отключал у процессора поддержку виртуализации, что бы исключить проверку по Следующий этап решения проблеммы - запуск программы в среде отладчика, поиск и блокировка проверяющего кода. Судя по всему, задачка не совсем тривиальная. Разработчик программы снабдил свое творение не только защитой от запуска в виртуальной среде, но и защитой от запуска в среде отладчика + частично зашифровал исполняемый код. Честно говоря, последный раз отладчиком пользовался лет 18 назад. Но сейчас посмотрю что и как, почитаю статьи на тему - думаю разберусь. И если у кого-то есть опробированное решение разворачивания комплекса отладки дебагера+дизассемблера, работающего в стелс режиме, на виртуальное машине - буду рад услышать совет. Желательно с сылками на установочные дистрибутивы и на "покурить мануалы" ![]() Спасибо. Да поможет нам 0xCD03h и 0x90h. PS: привожу список настроек vmware ws9, с которыми гостевая система проходит большинство проверок на наличие виртуальной среды. Ссылка на Code:
Совет: Не должны быть установлено VMware Tools. Все неиспользуемое оборудование - отключайте. Пример: Code:
![]() |
|
Создано: 21 декабря 2012 23:51 · Личное сообщение · #2 |
|
Создано: 22 декабря 2012 00:06 · Поправил: stepsid · Личное сообщение · #3 |
|
Создано: 22 декабря 2012 01:04 · Личное сообщение · #4 VMProtect doesn’t support .NET executables and has a limited support of VB executables. Имеет смысл выложить программу. Если написано на .net, то dedot, Dis# и GrayWolf в помощь. Тут все есть http://exelab.ru/f/action=vthread&forum=1&topic=16650 ----- Nulla aetas ad discendum sera ![]() |
|
Создано: 22 декабря 2012 01:29 · Поправил: stepsid · Личное сообщение · #5 |
|
Создано: 22 декабря 2012 10:25 · Поправил: Refcat · Личное сообщение · #6 |
|
Создано: 22 декабря 2012 13:47 · Поправил: ARCHANGEL · Личное сообщение · #7 Refcat Приложили б вы ещё и ссылку на скачивание этой версии вари - было б вообще всё замечательно. Added ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 22 декабря 2012 22:13 · Поправил: ==DJ==[ZLO] · Личное сообщение · #8 |
|
Создано: 23 декабря 2012 07:45 · Личное сообщение · #9 |
|
Создано: 23 декабря 2012 09:52 · Поправил: Refcat · Личное сообщение · #10 ARCHANGEL пишет: Refcat Приложили б вы ещё и ссылку на скачивание этой версии вари - было б вообще всё замечательно. Не знал куда залить, залил сюда: VMware_workstation_6.0.2-59824 + VMware_Anti-detect_patch_for_6_0_2-59824 http://zalivalka.ru/25865 http://zalivalka.ru/25867 Для восстановления архива добавил 5%. На антидект Nod ругается. Я сам пользовался всем этим, нечести нет. Прошу без претензий, выложил как есть. ![]() |
|
Создано: 29 декабря 2012 20:21 · Личное сообщение · #11 |
|
Создано: 07 июля 2013 16:02 · Поправил: stepsid · Личное сообщение · #12 таки нашлось время "поплотнее" заняться темой "антидетекта среды виртуальной машины vmware". за основу взял концепцию из документа 1.б в первом посте. Идея реализации подсказана Moyshe (VMware_Anti-detect_patch) и kostya.kortchinsky (vmpatch.c). На данный момент есть среда vmware (с 3d acceleration), с отсутствующей сигнатурой "vmware" на аппаратном и программном уровне. Что сделано: - из bios-ов (системного и контроллеров (lsi scsi, svga, ethernet)) удалена сигнатура vmware; - vendorID и product_name оборудования не содержат и не указывают на vmware. - драйвер и библиотеки SVGA не содержат сигнатуру vmware. - к настройкам .vmx из первого поста добавлены настройки, повышающие степень сокрытия обнаружения среды виртуальной машины vmware Результат: все тесты, что мог найти в сети показывают "native machine" - ScoopyNG, VirtualMachineDetect (rdtsc окно крашится), VmDetect, CrashInVM (anti-rdtsc), virt-what (cygwin) и прочие... А вот TNT D3 Bot определяет наличие виртуальной машины. Кто может посоветовать дополнительный интсрументарий/алгоритм тестирования, интересут вопрос о "временных отпечатках выполнения". ![]() |
|
Создано: 07 июля 2013 16:54 · Личное сообщение · #13 |
|
Создано: 07 июля 2013 21:59 · Поправил: stepsid · Личное сообщение · #14 Вкратце по методам обнаружения. В моем случае vmware ws 9 x64. Все что применялось для обнаружения до 2007 года, использующее особенности реакции виртуальной машины vmware на "ситуации", маскируется настройками vmware последних версий А именно: VERR/VERW (CrashInVM) - Not under VM IDT, LDT, GDT, STR, "get version", "get memory size" - (ScoopyNG) - Native OS "vmware emulation mode" (ScoopyNG) - Native OS or VMware without emulation mode (enabled acceleration) LDT, MSW (vm_detect) - Native machine RDTSC (VME Detector) - Time between 2 RDTSC calls was: 18 . It is very likely that you ARE NOT in a VME Hypervisor_GPUID (PCWIZARD 2012 и иже с ним) - Native machine Интересным оказался пакет Приведу результаты тестирования этой программой (в процентах вероятность нахождения в среде vmware). Hardware Fingerprint: 16% Registry Check: 0% Instruction Check (SIDT, SLDT, SGDT, STR, IN): 0% Timing Test: 0% . Справедливости ради, хочу заметить, что разработчик заявляет о "неполной состоятельности" тестов на время. Приложение Rdtsc.exe крашится через пару секунд после запуска с кодом исключения 0xC0000417 в модуле msvcr90.dll. Всвязи с этим, если есть алгоритмы/инструментарий по проведению тестов на время исполнения в среде vmware - скажите, буду пробовать. ![]() |
|
Создано: 07 июля 2013 22:24 · Поправил: stepsid · Личное сообщение · #15 Все это "фэйлится" настройками самой vmware. Сложнее убрать хардварные следы vmware в системе. Убрал почти все. Однако tnt bot определяет наличие виртуальной среды при триальной попытке логина на сервер. Может кто подскажет, как правильно "поправить" таблицы в smbios structure, что бы убрать "лишнние" записи, ну кто в теме, тот поймет о чем я. Просто удалением (заполнение нулями лишнего, удаление со смещением остальных данных вверх, при неизменности размера файла) - не получается "красиво" поправить smbios structure. Но даже при "кривой" структуре таблиц, tnt bot "видит" виртуальную машину. Что же он может проверять? ![]() |
|
Создано: 07 июля 2013 22:42 · Личное сообщение · #16 |
|
Создано: 07 июля 2013 23:10 · Поправил: stepsid · Личное сообщение · #17 это не патч. это hexeditor-ом правленные: исполняемый файл, bios-ы контроллеров, системный bios, драйвер svga (убраны строки vmware итд). одним словом - пока рабочий бардак. все надо руками донастраивать. описать процесс настройки\подключения еще руки не дошли. пока тестирую. что точно можно выложить - настройки vmware, которые "глушат" простую проверку запуска в виртуальной среде, без определения признаков наличия характерного для vmware "оборудования". ![]() |
|
Создано: 08 июля 2013 14:10 · Личное сообщение · #18 |
|
Создано: 08 июля 2013 17:53 · Личное сообщение · #19 |
|
Создано: 08 июля 2013 21:49 · Поправил: zeppe1in · Личное сообщение · #20 |
|
Создано: 08 июля 2013 22:08 · Поправил: stepsid · Личное сообщение · #21 |
|
Создано: 08 июля 2013 23:43 · Личное сообщение · #22 |
|
Создано: 09 июля 2013 00:09 · Поправил: zeppe1in · Личное сообщение · #23 |
|
Создано: 09 июля 2013 09:09 · Личное сообщение · #24 zeppe1in спасибо за информацию и идеи! после установки соединения 1 пакет уходит на сервер и 1, в ответ, присылается клиенту. данные, закодированы, как я полагаю, так как в явном виде ничего не передается. можно, конечно, "ломать" проверку ответа, или подсовывать клиенту псевдосервер, отсылающий на запрос "правильные" пакеты, снятые при ответе на запрос с реальной машины. но, тогда не понять, что именно "засвечивает" виртуальную среду. кроме того, я в теме msil и отладки .net приложений новичок, без инструментария (unpaсker) "ломать" новые версии программы у меня не получится. А формат запросов к серверу может измениться в новой версии программы. ![]() |
|
Создано: 09 июля 2013 17:50 · Личное сообщение · #25 Скажу тоже пару слов.. 1) Вырезка из новостей: "Avatar использует интересный прием для обнаружения среды виртуальной машины. Он вызывает функцию nt!MmMapIoSpace для чтения данных BIOS по адресу 0xF0000 и проверяет присутствие следующих строк: Parallels Software Virtual Machine VirtualBox QEMU BIOS VMware Bochs" 2) Виртуальные среды искажают какой то там запрос (100%), читал в новостях. Не могу найти подробности. 3) Эта борьба бесконечна, решений на все случаи не найдете. Как malware-AV. 4) Еще один "Этот метод использует точку входа, работающего в пределах виртуальной среды regedit.exe. Перемещаясь по виртуальному реестру можно увидеть ключ HKEY_LOCAL_MACHINE\Software\Thinstall\ProcessList. В этом ключе легко увидеть список корректно работающих процессов." Лично я смотрю реестр и BIOS. Так же может выдать не стандартное разрешение экрана. ![]() |
|
Создано: 09 июля 2013 18:48 · Личное сообщение · #26 |
|
Создано: 09 июля 2013 21:47 · Личное сообщение · #27 |
|
Создано: 09 июля 2013 22:06 · Личное сообщение · #28 |
|
Создано: 10 июля 2013 20:16 · Поправил: stepsid · Личное сообщение · #29 привожу список настроек vmware ws9, с которыми гостевая система проходит большинство проверок на наличие виртуальной среды. Ссылка на Code:
Совет: Не должны быть установлено VMware Tools. Все неиспользуемое оборудование - отключайте. Пример: Code:
![]() |
|
Создано: 10 июля 2013 20:51 · Личное сообщение · #30 stepsid пишет: А вот TNT D3 Bot определяет наличие виртуальной машины. cpuid с eax = 1 и проверка 31 бита в ecx, оно? ----- PGP key ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Вопросы новичков —› Как скрыть от программы запуск в среде VMware? |