
एनटीएलएम हैश, ब्लडहाउंड डेटा और क्रैक किए गए पासवर्ड को एक्टिव डायरेक्टरी पेनिट्रेशन टेस्टिंग के लिए संबंधित करता है। NTDS.dit आयात करता है, Neo4j में सिंक करता है, पासवर्ड गुणवत्ता का विश्लेषण करता है, और कस्टम वर्डलिस्ट उत्पन्न करता है।
KnowsMore आधिकारिक तौर पर Python 3.8+ को सपोर्ट करता है।
knowsmore.py --word-list -o wl.txt --batch --name companyname
knowsmore.py --word-list -o wl.txt --batch --name companyname -l 1
नोट:
-lपैरामीटर लीट कैरेक्टर स्पेस को दर्शाता है, जहाँ 1 का मतलब कोई लीट नहीं और 3 अधिकतम उपलब्ध लीट है।
knowsmore --stats
यह कमांड पासवर्ड के बारे में नीचे दिए गए आउटपुट जैसी अनेक सांख्यिकी उत्पन्न करेगा।
KnowsMore v0.1.4 by Helvio Junior
Active Directory, BloodHound, NTDS hashes and Password Cracks correlation tool
https://github.com/helviojunior/knowsmore
[+] Startup parameters
command line: knowsmore --stats
module: stats
database file: knowsmore.db
[+] start time 2023-01-11 03:59:20
[?] General Statistics
+-------+----------------+-------+
| top | description | qty |
|-------+----------------+-------|
| 1 | Total Users | 95369 |
| 2 | Unique Hashes | 74299 |
| 3 | Cracked Hashes | 23177 |
| 4 | Cracked Users | 35078 |
+-------+----------------+-------+
[?] General Top 10 passwords
+-------+-------------+-------+
| top | password | qty |
|-------+-------------+-------|
| 1 | password | 1111 |
| 2 | 123456 | 824 |
| 3 | 123456789 | 815 |
| 4 | guest | 553 |
| 5 | qwerty | 329 |
| 6 | 12345678 | 277 |
| 7 | 111111 | 268 |
| 8 | 12345 | 202 |
| 9 | secret | 170 |
| 10 | sec4us | 165 |
+-------+-------------+-------+
[?] Top 10 weak passwords by company name similarity
+-------+--------------+---------+----------------------+-------+
| top | password | score | company_similarity | qty |
|-------+--------------+---------+----------------------+-------|
| 1 | company123 | 7024 | 80 | 1111 |
| 2 | Company123 | 5209 | 80 | 824 |
| 3 | company | 3674 | 100 | 553 |
| 4 | Company@10 | 2080 | 80 | 329 |
| 5 | company10 | 1722 | 86 | 268 |
| 6 | Company@2022 | 1242 | 71 | 202 |
| 7 | Company@2024 | 1015 | 71 | 165 |
| 8 | Company2022 | 978 | 75 | 157 |
| 9 | Company10 | 745 | 86 | 116 |
| 10 | Company21 | 707 | 86 | 110 |
+-------+--------------+---------+----------------------+-------+
pipx KnowsMore को एक पृथक वर्चुअल वातावरण में स्थापित करता है, जो सिस्टम पैकेजों के साथ विरोध से बचाता है। यह Kali Linux और अन्य बाहरी रूप से प्रबंधित Python वातावरणों (PEP 668) पर अनुशंसित विधि है।
# pipx स्थापित करें (यदि अभी तक नहीं है)
python3 -m pip install --user pipx
# सुनिश्चित करें कि pipx-स्थापित ऐप्स आपके PATH पर हैं
python3 -m pipx ensurepath
# KnowsMore स्थापित करें
pipx install knowsmore
# नवीनतम संस्करण में अपग्रेड करें
pipx upgrade knowsmore
नोट: pipx ensurepath चलाने के बाद आपको एक नया टर्मिनल खोलने की आवश्यकता हो सकती है (या source ~/.bashrc / source ~/.zshrc चलाएं) ताकि knowsmore कमांड उपलब्ध हो सके।
नोट: Python 3.12+ पर setuptools/pkg_resources मॉड्यूल डिफ़ॉल्ट रूप से शामिल नहीं है। यदि आपको 'No module named pkg_resources' त्रुटि मिलती है, तो setuptools को KnowsMore वातावरण में इंजेक्ट करें:
pipx inject knowsmore setuptools
pip3 install --upgrade knowsmore
नोट: यदि आपको निर्भरता संस्करण में समस्या आती है, तो Virtual ENV फ़ाइल देखें।
डेटा आयात करने का कोई अनिवार्य क्रम नहीं है, लेकिन बेहतर सहसंबंध डेटा प्राप्त करने के लिए हम निम्नलिखित निष्पादन प्रवाह सुझाते हैं:
सभी डेटा SQLite डेटाबेस में संग्रहीत होता है।
knowsmore --create-db
हम सभी पूर्ण BloodHound फ़ाइलों को KnowsMore में आयात कर सकते हैं, डेटा को सहसंबंधित कर सकते हैं, और इसे Neo4J BloodHound डेटाबेस में सिंक कर सकते हैं। ताकि आप JSON फ़ाइलों को सीधे Neo4j डेटाबेस में आयात करने के लिए केवल KnowsMore का उपयोग कर सकते हैं, बजाय अत्यधिक धीमे BloodHound User Interface के।
# Bloodhound ZIP फ़ाइल
knowsmore --bloodhound --import-data ~/Desktop/client.zip
# Bloodhound JSON फ़ाइल
knowsmore --bloodhound --import-data ~/Desktop/20220912105336_users.json
नोट: KnowsMore BloodHound ZIP फ़ाइल और JSON फ़ाइलें आयात करने में सक्षम है, लेकिन हम ZIP फ़ाइल का उपयोग करने की सलाह देते हैं, क्योंकि KnowsMore स्वचालित रूप से बेहतर डेटा सहसंबंध के लिए फ़ाइलों को क्रमबद्ध करेगा।
# Bloodhound ZIP फ़ाइल
knowsmore --bloodhound --sync 10.10.10.10:7687 -d neo4j -u neo4j -p 12345678
नोट: KnowsMore का bloodhound-importer कार्यान्वयन Fox-It BloodHound Import कार्यान्वयन से प्रेरित था। हमने सभी डेटा को KnowsMore SQLite डेटाबेस में सहेजने और उसके बाद Neo4J डेटाबेस में वृद्धिशील सिंक करने के लिए कई बदलाव लागू किए। इस रणनीति से हमें कई लाभ मिलते हैं, जैसे कि मूल BloodHound User Interface की तुलना में कम से कम 10 गुना तेज़।
नोट: हैश और सादा-पाठ पासवर्ड सीधे NTDS.dit और SYSTEM रजिस्ट्री से आयात करें।
knowsmore --secrets-dump -target LOCAL -ntds ~/Desktop/ntds.dit -system ~/Desktop/SYSTEM
नोट: पहले secretsdump का उपयोग करके नीचे दिए गए कमांड से ntds हैश निकालें।
secretsdump.py -ntds ntds.dit -system system.reg -hashes lmhash:ntlmhash LOCAL -outputfile ~/Desktop/client_name
उसके बाद आयात करें।
knowsmore --ntlm-hash --import-ntds ~/Desktop/client_name.ntds
knowsmore --word-list -o "~/Desktop/Wordlist/my_custom_wordlist.txt" --batch --name company_name
पहले सभी हैश को एक txt फ़ाइल में निकालें।
# NTLM हैश को फ़ाइल में निकालें
nowsmore --ntlm-hash --export-hashes "~/Desktop/ntlm_hash.txt"
# या, NTDS फ़ाइल से NTLM हैश निकालें
cat ~/Desktop/client_name.ntds | cut -d ':' -f4 > ntlm_hashes.txt
हैश क्रैक करने के लिए, मैं आमतौर पर hashcat का उपयोग करता हूँ, नीचे दिए गए कमांड के साथ।
# वर्डलिस्ट आक्रमण
hashcat -m 1000 -a 0 -O -o "~/Desktop/cracked.txt" --remove "~/Desktop/ntlm_hash.txt" "~/Desktop/Wordlist/*"
# मास्क आक्रमण
hashcat -m 1000 -a 3 -O --increment --increment-min 4 -o "~/Desktop/cracked.txt" --remove "~/Desktop/ntlm_hash.txt" ?a?a?a?a?a?a?a?a
knowsmore --ntlm-hash --company clientCompanyName --import-cracked ~/Desktop/cracked.txt
नोट: clientCompanyName को अपनी कंपनी के नाम में बदलें।
चूंकि पासवर्ड और उनके हैश अत्यंत संवेदनशील डेटा हैं, इसलिए स्पष्ट पाठ पासवर्ड और संबंधित हैश को बदलने के लिए एक मॉड्यूल है।
नोट: यह कमांड सभी उत्पन्न सांख्यिकी और आयातित उपयोगकर्ता डेटा को रखेगा।
knowsmore --wipe
मूल्यांकन के दौरान आप (कई तरीकों से) उपयोगकर्ता का पासवर्ड पा सकते हैं, इसलिए आप इसे Knowsmore डेटाबेस में जोड़ सकते हैं।
knowsmore --user-pass --username administrator --password Sec4US@2023
# या कंपनी का नाम जोड़कर
knowsmore --user-pass --username administrator --password Sec4US@2023 --company sec4us
सभी क्रैक किए गए क्रेडेंशियल्स को Neo4j Bloodhound डेटाबेस में एकीकृत करें।
knowsmore --bloodhound --mark-owned 10.10.10.10 -d neo4j -u neo4j -p 123456
रिमोट कनेक्शन के लिए सुनिश्चित करें कि Neo4j डेटाबेस सर्वर रिमोट कनेक्शन स्वीकार कर रहा है। कॉन्फिग फ़ाइल /etc/neo4j/neo4j.conf में नीचे दी गई लाइन बदलें और सेवा को पुनरारंभ करें।
server.bolt.listen_address=0.0.0.0:7687