
Korreliert NTLM-Hashes, BloodHound-Daten und geknackte Passwörter für Active Directory Penetrationstests. Importiert NTDS.dit, synchronisiert mit Neo4j, analysiert die Passwortqualität und erstellt benutzerdefinierte Wortlisten.
KnowsMore unterstützt offiziell 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
Hinweis: Der Parameter
-lgibt den Leetspeak-Zeichenraum an, wobei 1 für kein Leet und 3 für das maximale Leet steht.
knowsmore --stats
Dieser Befehl erzeugt mehrere Statistiken über die Passwörter, wie unten gezeigt.
KnowsMore v0.1.4 von Helvio Junior
Active Directory, BloodHound, NTDS-Hashes und Passwort-Crack-Korrelationstool
https://github.com/helviojunior/knowsmore
[+] Startparameter
Befehlszeile: knowsmore --stats
Modul: stats
Datenbankdatei: knowsmore.db
[+] Startzeit: 2023-01-11 03:59:20
[?] Allgemeine Statistiken
+-------+----------------+-------+
| top | Beschreibung | qty |
|-------+----------------+-------|
| 1 | Gesamtbenutzer | 95369 |
| 2 | Eindeutige Hashes | 74299 |
| 3 | Geknackte Hashes | 23177 |
| 4 | Geknackte Benutzer | 35078 |
+-------+----------------+-------+
[?] Allgemeine Top-10-Passwörter
+-------+-------------+-------+
| top | Passwort | 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 schwache Passwörter nach Unternehmensnamensähnlichkeit
+-------+--------------+---------+----------------------+-------+
| top | Passwort | 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 installiert KnowsMore in eine isolierte virtuelle Umgebung und vermeidet so Konflikte mit Systempaketen. Dies ist die empfohlene Methode auf Kali Linux und anderen extern verwalteten Python-Umgebungen (PEP 668).
# pipx installieren (falls noch nicht vorhanden)
python3 -m pip install --user pipx
# Sicherstellen, dass mit pipx installierte Programme im PATH sind
python3 -m pipx ensurepath
# KnowsMore installieren
pipx install knowsmore
# Auf die neueste Version aktualisieren
pipx upgrade knowsmore
Hinweis: Nach pipx ensurepath müssen Sie möglicherweise ein neues Terminal öffnen (oder source ~/.bashrc / source ~/.zshrc ausführen), damit der Befehl knowsmore verfügbar wird.
Hinweis: Unter Python 3.12+ ist das Modul setuptools/pkg_resources nicht mehr standardmäßig enthalten. Wenn Sie einen Fehler No module named 'pkg_resources' erhalten, injizieren Sie setuptools in die KnowsMore-Umgebung:
pipx inject knowsmore setuptools
pip3 install --upgrade knowsmore
Hinweis: Falls Sie Probleme mit der Abhängigkeitsversion haben, lesen Sie bitte die Virtual ENV-Datei
Es gibt keine verpflichtende Reihenfolge zum Importieren von Daten, aber für eine bessere Datenkorrelation empfehlen wir den folgenden Ablauf:
Alle Daten werden in einer SQLite-Datenbank gespeichert
knowsmore --create-db
Wir können alle vollständigen BloodHound-Dateien in KnowsMore importieren, Daten korrelieren und mit der Neo4J BloodHound-Datenbank synchronisieren. So können Sie nur KnowsMore verwenden, um JSON-Dateien direkt in die Neo4j-Datenbank zu importieren, anstatt die extrem langsame BloodHound-Benutzeroberfläche zu nutzen.
# BloodHound ZIP-Datei
knowsmore --bloodhound --import-data ~/Desktop/client.zip
# BloodHound JSON-Datei
knowsmore --bloodhound --import-data ~/Desktop/20220912105336_users.json
Hinweis: KnowsMore kann BloodHound ZIP- und JSON-Dateien importieren, aber wir empfehlen die ZIP-Datei, da KnowsMore die Dateien automatisch zur besseren Datenkorrelation ordnet.
# BloodHound ZIP-Datei
knowsmore --bloodhound --sync 10.10.10.10:7687 -d neo4j -u neo4j -p 12345678
Hinweis: Die KnowsMore-Implementierung des BloodHound-Importers wurde von der Fox-It BloodHound Import-Implementierung inspiriert. Wir haben mehrere Änderungen vorgenommen, um alle Daten in der KnowsMore SQLite-Datenbank zu speichern und danach eine inkrementelle Synchronisierung mit der Neo4J-Datenbank durchzuführen. Mit dieser Strategie haben wir mehrere Vorteile, darunter eine mindestens 10-fache Geschwindigkeitssteigerung gegenüber der originalen BloodHound-Benutzeroberfläche.
Hinweis: Hashes und Klartext-Passwörter direkt aus NTDS.dit und SYSTEM-Registrierung importieren
knowsmore --secrets-dump -target LOCAL -ntds ~/Desktop/ntds.dit -system ~/Desktop/SYSTEM
Hinweis: Zuerst mit dem folgenden Befehl die NTDS-Hashes mit secretsdump extrahieren