
Active Directory पासवर्ड्स का Python का उपयोग करके तेज़ ऑफलाइन ऑडिटिंग।
पायथन का उपयोग करके सक्रिय निर्देशिका पासवर्डों का तेज़ ऑफ़लाइन ऑडिट।
लिल पोनी एक पायथन एप्लिकेशन है जो सक्रिय निर्देशिका से प्राप्त उपयोगकर्ताओं के पासवर्डों के NTLM हैश का, Have I Been Pwned से ज्ञात समझौता किए गए पासवर्डों के विरुद्ध ऑफ़लाइन ऑडिट करने के लिए है। परिणाम JSON प्रारूप में आउटपुट होंगे जिनमें उपयोगकर्ता नाम, मिलान हैश (अस्पष्ट किया जा सकता है), और मिलान पासवर्ड HIBP में कितनी बार देखा गया है, यह शामिल होगा।
लिल पोनी के बारे में अधिक जानकारी मेरे ब्लॉग पर पाई जा सकती है।
लिल पोनी आपकी कस्टम पासवर्ड सूची में आपके कस्टम पासवर्डों के सामान्य रूप से उपयोग किए जाने वाले रूपांतरों को जोड़कर संवर्धित करने की कार्यक्षमता प्रदान करता है। इनमें शामिल हैं:
P@ssw0rd)PASSWORD, Password)password!, !password)password123!, !passwordabc, passwordpassword)
password1950, password2034)100 सादा टेक्स्ट पासवर्डों की एक कस्टम पासवर्ड सूची 49848660 रूपांतर उत्पन्न करती है।
लिल पोनी उन उपयोगकर्ताओं की तलाश करता है जो अपने उपयोगकर्ता नाम के रूपांतरों को पासवर्ड के रूप में उपयोग कर रहे हैं।
यह उपयोगकर्ता के उपयोगकर्ता नाम को निम्नलिखित प्रारूपों में परिवर्तित करता है:
इन्हें फिर NTLM हैश में परिवर्तित किया जाता है, और AD हैश के विरुद्ध ऑडिट किया जाता है।
इस एप्लिकेशन को पायथन में मल्टीप्रोसेसिंग का अधिकतम लाभ उठाने के लिए विकसित किया गया है, जिसका उद्देश्य उपभोक्ता स्तर के हार्डवेयर पर यथासंभव तेज़ चलना है।
क्योंकि यह मल्टीप्रोसेसिंग का उपयोग करता है, आपके पास जितने अधिक कोर उपलब्ध होंगे, लिल पोनी उतनी ही तेज़ चलेगी। मैंने कम संख्या में लॉजिकल कोर के साथ भी बहुत अच्छे परिणाम प्राप्त किए हैं:
लिल पोनी परिणामों को stdout पर आउटपुट करेगा:
या JSON:
{"localtime": "2021-00-00 00:00:00,000", "level": "NOTIFY", "source": "Lil Pwny", "match_type": "hibp", "detection_data": {"username": "RICKON.STARK", "hash": "32ED87BDB5FDC5E9CBA88547376818D4", "matches_in_hibp": "24230577", "obfuscated": "True"}}
आप लिल पोनी के JSON आउटपुट को फ़ाइल में रीडायरेक्ट कर सकते हैं:
lil-pwny -ad ... > lil-pwny-results.json
यह JSON स्वरूपित लॉगिंग आसानी से SIEM या अन्य लॉग विश्लेषण उपकरण में सम्मिलित की जा सकती है, और स्वचालित समाधान कार्रवाइयों के लिए अन्य स्क्रिप्ट्स या प्लेटफार्मों में फीड की जा सकती है।
pip के माध्यम से स्थापित करें
pip install lil-pwny
Lil-pwny एक वैश्विक कमांड के रूप में स्थापित होगा, निम्नानुसार उपयोग करें:
usage: lil-pwny [-h] -hibp HIBP [-v] [-c CUSTOM] [-custom-enhance CUSTOM_ENHANCE] -ad AD_HASHES [-d] [-output {file,stdout,json}] [-o] [--verbose]
पायथन का उपयोग करके सक्रिय निर्देशिका पासवर्डों का तेज़ ऑफ़लाइन ऑडिट
options:
-h, --help यह सहायता संदेश दिखाएं और बाहर निकलें
-hibp HIBP, --hibp HIBP
HIBP NTLM हैश वाली .txt फ़ाइल
-v, --version प्रोग्राम का संस्करण संख्या दिखाएं और बाहर निकलें
-c CUSTOM, --custom CUSTOM
जाँचने के लिए अतिरिक्त कस्टम पासवर्ड वाली .txt फ़ाइल
-custom-enhance CUSTOM_ENHANCE, --custom-enhance CUSTOM_ENHANCE
प्रदान की गई कस्टम पासवर्ड सूची के आधार पर एक संवर्धित कस्टम पासवर्ड सूची उत्पन्न करें। -c/--custom फ़्लैग के साथ उपयोग किया जाना चाहिए। संवर्धित सूची मेमोरी में संग्रहीत होगी और डिस्क पर नहीं लिखी जाएगी। उन पासवर्डों की न्यूनतम लंबाई प्रदान करें जो आप चाहते हैं। डिफ़ॉल्ट 8 है
-ad AD_HASHES, --ad-hashes AD_HASHES
AD उपयोगकर्ताओं से NTLM हैश वाली .txt फ़ाइल
-d, --duplicates डुप्लिकेट पासवर्ड उपयोगकर्ताओं की एक सूची आउटपुट करें
-output {file,stdout,json}, --output {file,stdout,json}
परिणाम कहाँ भेजें
-o, --obfuscate खोजे गए मिलानों से हैश को एक यादृच्छिक नमक के साथ हैश करके अस्पष्ट करें
--verbose विस्तृत लॉगिंग चालू करें
उदाहरण:
lil-pwny -hibp ~/hibp_hashes.txt -ad ~/ad_user_hashes.txt -c ~/custom_passwords.txt -output stdout -do
एक डोमेन नियंत्रक पर अपने AD डोमेन का IFM डंप उत्पन्न करने के लिए ntdsutil का उपयोग करें। एक उन्नत PowerShell विंडो में निम्नलिखित चलाएँ:
ntdsutil
activate instance ntds
ifm
create full **आउटपुट पथ**
AD IFM डेटा से NTLM हैश पुनर्प्राप्त करने के लिए, PowerShell मॉड्यूल DSInternals आवश्यक है।
एक बार स्थापित होने पर, IFM डेटा में SYSTEM हाइव का उपयोग करके हैश को username:hash प्रारूप में पुनर्प्राप्त करें और उन्हें ad_ntlm_hashes.txt फ़ाइल में सहेजें:
$bootKey = Get-BootKey -SystemHivePath '.\registry\SYSTEM'
Get-ADDBAccount -All -DBPath '.\Active Directory\ntds.dit' -BootKey $bootKey | Format-Custom -View HashcatNT | Out-File ad_ntlm_hashes.txt -Encoding ASCII
फ़ाइल को HIBP API से .net उपयोगिता का उपयोग करके यहाँ डाउनलोड किया जा सकता है।
scripts निर्देशिका में PowerShell स्क्रिप्ट का उपयोग प्रसंस्करण से पहले IFM आउटपुट से अवांछित खातों को हटाने के लिए किया जा सकता है। इनमें शामिल हैं: