
DLL Injection tool to unlock guest VMs
V M I n j e c t o r
(c) 2012 by Marco Batista
<marco.batista [at] secforce.com>
Licensed under GPLv3 (см. файл LICENSE)
VMInjector — это инструмент, предназначенный для обхода экранов аутентификации входа в ОС основных операционных систем, работающих на VMware Workstation/Player, с использованием прямого манипулирования памятью.
VMInjector — это инструмент, который манипулирует памятью гостевых систем VMware для обхода экрана аутентификации операционной системы. VMware управляет ресурсами, выделенными гостевым операционным системам, включая оперативную память. VMInjector внедряет DLL-библиотеку в процесс VMware для получения доступа к отображенным ресурсам. DLL-библиотека работает путем анализа пространства памяти, принадлежащего процессу VMware, и поиска файла RAM, отображенного в память, который соответствует образу RAM гостевой системы. Манипулируя выделенным файлом RAM и патчингуя функцию, отвечающую за аутентификацию, злоумышленник получает несанкционированный доступ к базовой виртуальной хост-системе. В настоящее время VMInjector может обходить заблокированные операционные системы Windows, Ubuntu и Mac OS X. Патчинг в памяти не является постоянным, и перезагрузка гостевой виртуальной машины восстановит обычную функциональность пароля.
VMInjector может использоваться, если пароль виртуального хоста забыт и требует сброса. Чаще всего этот инструмент используется при проведении тестов на проникновение, когда получен доступ к хосту VMware, и злоумышленник стремится получить дополнительный доступ к гостевым системам, работающим на этом хосте.
Машина Windows (с правами администратора); VMware Workstation или Player; Заблокированная гостевая ВМ;
VMInjector состоит из 2 частей: Приложение для внедрения DLL (скрипт Python или предоставленный скомпилированный исполняемый файл) DLL-библиотека (x86 и x64)
Инструмент поддерживает как 32-битную (x86), так и 64-битную (x64) архитектуры, предоставляя обе DLL. Можно использовать собственный инжектор DLL для выбора гостевой виртуальной машины, работающей на хосте.
Для запуска инструмента выполните исполняемый файл VMInjector (32 или 64) из командной строки. VMware запускает каждую гостевую систему в отдельном процессе. VMInjector необходимо указать на процесс, запускающий гостевую систему, для которой требуется обход. После выбора пользователем процесса он внедрит DLL в выбранную цель. После внедрения DLL пользователю необходимо указать ОС, чтобы можно было выполнить патчинг памяти.
Этот инструмент предназначен только для легальных целей. Код распространяется по лицензии GPLv3.
Я хотел бы поблагодарить Michael Ligh за его ценные исследования по внедрению шелл-кода в гостевые виртуальные машины еще в 2006 году.
Также я хотел бы поблагодарить Carsten Maartmann-Moe за его работу над Inception — инструментом, который может разблокировать заблокированные машины Windows, Ubuntu и OS X с помощью трюка IEEE 1394 FireWire. Это было впервые продемонстрировано инструментом winlockpwn (ныне устаревшим).