
पेंटेस्टर्स के लिए डोमेन पासवर्ड ऑडिट टूल
DPAT एक Python-आधारित सुरक्षा उपकरण है जो सक्रिय निर्देशिका डोमेन नियंत्रकों से निकाले गए पासवर्ड हैश का विश्लेषण करता है। यह NTDS डंप और पासवर्ड क्रैकिंग परिणामों दोनों से पासवर्ड उपयोग आँकड़े, नीति उल्लंघन और सुरक्षा अंतर्दृष्टि दिखाने वाली व्यापक HTML रिपोर्ट तैयार करता है।



कोर निर्भरताएँ स्थापित करें:
pip install -r requirements.txt
विकास और परीक्षण के लिए:
pip install -r requirements-dev.txt
यदि आप निर्भरताएँ अलग-अलग स्थापित करना पसंद करते हैं:
pip install pycryptodome
poetry install
python dpat.py -n customer.ntds -c hashcat.potfile -p 8
python dpat.py -n <ntds_file> -c <cracked_file> -p <min_password_length>
-n, --ntdsfile: NTDS फ़ाइल (secretsdump.py से आउटपुट)-c, --crackfile: पासवर्ड क्रैकिंग आउटपुट फ़ाइल (hashcat.potfile, john.pot, आदि)-p, --minpasslen: डोमेन नीति से न्यूनतम पासवर्ड लंबाई-o, --outputfile: HTML रिपोर्ट फ़ाइल नाम (डिफ़ॉल्ट: _DomainPasswordAuditReport.html)-d, --reportdirectory: आउटपुट निर्देशिका (डिफ़ॉल्ट: "DPAT Report")-s, --sanitize: रिपोर्ट में पासवर्ड और हैश को स्वच्छ करें-g, --groupsdirectory: समूह सदस्यता फ़ाइलों वाली निर्देशिका-m, --machineaccts: विश्लेषण में मशीन खाते शामिल करें-k, --krbtgt: विश्लेषण में krbtgt खाता शामिल करें-kz, --kerbfile: Kerberoastable खातों वाली फ़ाइल-w, --writedb: निरीक्षण के लिए SQLite डेटाबेस डिस्क पर लिखें--no-prompt: ब्राउज़र प्रॉम्प्ट को छोड़ें (स्वचालन के लिए उपयोगी)-dbg, --debug: डीबग आउटपुट सक्षम करेंमूल विश्लेषण:
python dpat.py -n customer.ntds -c hashcat.potfile -p 8
समूह विश्लेषण के साथ:
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -g /path/to/groups
स्वच्छ की गई रिपोर्ट:
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -s
Kerberoastable खातों के साथ:
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -kz kerberoastable.txt
NTDS फ़ाइल secretsdump.py द्वारा आउटपुट स्वरूप में होनी चाहिए:
domain\username:RID:lmhash:nthash:::
Hashcat स्वरूप:
nthash:password
lmhash:password
John the Ripper स्वरूप:
$NT$nthash:password
$LM$lmhash:password
हेक्स एन्कोडेड पासवर्ड:
nthash:$HEX[68656c6c6f]
समूह सदस्यता फ़ाइलों में प्रति पंक्ति एक उपयोगकर्ता नाम होना चाहिए:
domain\username
एक डोमेन नियंत्रक पर, एक IFM (Install From Media) बैकअप बनाएँ:
ntdsutil "ac in ntds" "ifm" "cr fu c:\temp" q q
यह बनाता है:
c:\temp\Active Directory\ntds.ditc:\temp\registry\SYSTEMबैकअप को बदलने के लिए secretsdump.py का उपयोग करें:
secretsdump.py -system registry/SYSTEM -ntds "Active Directory/ntds.dit" LOCAL -outputfile customer
पासवर्ड इतिहास के लिए (यदि उपलब्ध हो):
secretsdump.py -system registry/SYSTEM -ntds "Active Directory/ntds.dit" LOCAL -outputfile customer -history
Hashcat का उपयोग करना:
hashcat -m 1000 customer.ntds /path/to/wordlist
John the Ripper का उपयोग करना:
john --format=NT customer.ntds
DPAT व्यापक रिपोर्ट तैयार करता है जिनमें शामिल हैं:
रिपॉजिटरी में परीक्षण के लिए sample_data/ निर्देशिका में नमूना डेटा शामिल है:
customer.ntds: नमूना NTDS फ़ाइलoclHashcat.pot: नमूना क्रैक किए गए पासवर्डhistory/: पासवर्ड इतिहास के साथ नमूना डेटानमूना डेटा के साथ परीक्षण करें:
python dpat.py -n sample_data/customer.ntds -c sample_data/oclHashcat.pot -p 8
PowerShell का उपयोग करके समूह सदस्यता फ़ाइलें बनाएँ:
Get-NetGroupMember -Recurse -GroupName "Domain Admins" > "Domain Admins.txt"
बेहतर विश्लेषण के लिए Kerberoastable खाता फ़ाइलें उत्पन्न करने हेतु CypherHound के parse-kerberoastable.py स्क्रिप्ट का उपयोग करें।
आप CypherHound द्वारा उत्पन्न फ़ाइलों को DPAT में प्लग कर सकते हैं ताकि DPAT रिपोर्टों में अधिक आँकड़े प्रदान किए जा सकें। वर्तमान में, अतिरिक्त आँकड़े हैं:
यदि आप इन अतिरिक्त आँकड़ों को प्रदान करने के लिए इसका उपयोग करना चाहते हैं तो आपको यहाँ स्क्रिप्ट का उपयोग करना होगा:
-g फ्लैग के साथ DPAT को पास करें।-kz फ्लैग के साथ DPAT को पास करें।ये सरल स्क्रिप्ट हैं जिनका उपयोग ऊपर लिंक किए गए उपयोग के साथ है और इनका उपयोग सीधा होना चाहिए।
साझा करने के लिए उपयुक्त स्वच्छ की गई रिपोर्ट बनाने के लिए -s फ्लैग का उपयोग करें:
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -s
"'distutils' नाम का कोई मॉड्यूल नहीं"
खाली रिपोर्ट
गुम विवरण लिंक
समस्या निवारण के लिए डीबग आउटपुट सक्षम करें:
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -dbg
परीक्षण सूट चलाएँ:
python -m unittest tests.unit.test_core -v
python -m unittest tests.integration.test_integration -v
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
समस्याओं, प्रश्नों या योगदान के लिए, कृपया GitHub मुद्दा ट्रैकर का उपयोग करें।