VMkatz: скрытая угроза для виртуальной инфраструктуры

от автора

В 2026 году был опубликован инструмент VMkatz. По функционалу он напоминает широко известный инструмент Mimikatz, но, в отличие от него, целью VMkatz является извлечение учетных данных напрямую из файлов виртуальных машин (снимков памяти и виртуальных дисков) без необходимости входа внутрь гостевых Windows-систем. VMkatz может работать с файлами виртуальных машин разных платформ, включая VMware ESXi, Microsoft Hyper-V, VirtualBox и QEMU/KVM.

Для ESXi-систем разработчиком был подготовлен отдельный Python-загрузчик, предназначенный для размещения VMkatz в памяти без запуска бинарного файла через execve(). Вместо этого скрипт открывает ELF-бинарь как набор байтов, разбирает его заголовки и загружаемые сегменты, выделяет области памяти в адресном пространстве текущего процесса, копирует туда содержимое ELF и затем передает управление на его точку входа.

В результате VMkatz не запускается как отдельный процесс, а выполняется внутри уже существующего процесса Python. Такой механизм используется для обхода ограничений параметра execInstalledOnly, который запрещает запуск неподписанных бинарных файлов. На скриншоте 1 представлен пример работы VMkatz на ESXi, запущенного с помощью Python-загрузчика. В качестве входных данных инструменту был передан снимок оперативной памяти виртуальной машины. В результате VMkatz извлек доступные учетные данные.

В одном из расследований команда PT ESC IR столкнулась со сценарием, в котором злоумышленники, получив доступ к гипервизору VMware ESXi, использовали подобный подход для извлечения учетных данных из виртуальных машин с помощью следующих команд:

python /tmp/vmkatz_loader.py /tmp/vmkatz --dump lsass /vmfs/volumes/DATA/VM-DC01/VM-DC01-Snapshot.vmsnpython /tmp/vmkatz_loader.py /tmp/vmkatz /vmfs/volumes/DATA/VM-DC01/VM-DC01-Snapshot.vmsnpython /tmp/vmkatz_loader.py /tmp/vmkatz /vmfs/volumes/DATA/VM-DC01/VM-DC01.vmdk

Отдельный риск представляет функция утилиты для извлечения базы данных Active Directory NTDS.dit и раздела реестра SYSTEM с контроллеров доменов (пример показан на скриншоте 2). В таком случае компрометация гипервизора может привести не только к компрометации отдельных виртуальных машин, но и к компрометации всего домена.

Как защититься?

  • Включать шифрование всех файлов виртуальных машин.

  • Отключать SSH-доступ и не использовать его как основной способ администрирования. SSH должен включаться только временно, когда это необходимо для диагностики или устранения неисправностей. В качестве метода аутентификации следует использовать SSH-ключи вместо паролей. Также необходимо организовать мониторинг событий входа на гипервизор под привилегированными учетными записями.

  • Доступ к TCP-порту 22 необходимо ограничить с помощью межсетевых экранов или выделенного административного сегмента. Подключения должны разрешаться только с jump-узлов или доверенных административных IP-адресов, доступ к которым защищен многофакторной аутентификацией.

(Источник: https://t.me/ptescalator)

ссылка на оригинал статьи https://habr.com/ru/articles/1057588/