
Hashcat-Regelanalysator und -Interpreter – Ein Rosetta-Stein zur Dekodierung der Hashcat-Regelsyntax
_ _ _ _ ____ _ _
| | | | __ _ ___| |__ ___ __ _| |_| _ \ ___ ___ ___| |_| |_ __ _
| |_| |/ _` / __| '_ \ / __/ _` | __| |_) / _ \/ __|/ _ \ __| __/ _` |
| _ | (_| \__ \ | | | (_| (_| | |_| _ < (_) \__ \ __/ |_| || (_| |
|_| |_|\__,_|___/_| |_|\___\__,_|\__|_| \_\___/|___/\___|\__|\__\__,_|
Decode the Rosetta Stone of Password Cracking Rules
Ein Python-Projekt zur Analyse von Hashcat-Debug-Modus-4- und Modus-5-Ausgabedateien, um die effizientesten Regeln zu identifizieren und Basiswort-Häufigkeitsmuster zu verfolgen, die bei Passwort-Cracking-Angriffen verwendet werden.
--debug-mode 4 und --debug-mode 5) mit automatischer Basiswort- und Regel-ExtraktionWenn Sie uv verwenden, können Sie ohne Installation ausführen:
# Clone the repository
git clone https://github.com/bandrel/HashcatRosetta.git
cd HashcatRosetta
# Run as a module (recommended)
uv run python -m hashcat_rosetta --help
# Or use the installed command
uv run hashcat-rosetta --help
uv tool install git+https://github.com/bandrel/HashcatRosetta.git
Die Entwicklerwerkzeuge befinden sich in der dev-Abhängigkeitsgruppe.
# With uv (installs the dev group by default)
uv sync
# With pip (25.1+)
pip install -e . --group dev
Eine Hashcat-Debug-Datei analysieren (zeigt standardmäßig eine Zusammenfassung):
hashcat-rosetta debug_output.txt
Top-Regeln nach Häufigkeit anzeigen:
hashcat-rosetta debug_output.txt --rules --top 10 --metric frequency
Top-Regeln nach anderen Metriken anzeigen:
hashcat-rosetta debug_output.txt --rules --metric basewords
hashcat-rosetta debug_output.txt --rules --metric candidates
Basiswörter anzeigen, die mehrfach vorkommen:
hashcat-rosetta debug_output.txt --basewords --top 10
Top-Wortlisten anzeigen (nur Debug-Modus 5):
hashcat-rosetta debug_output.txt --wordlists --top 10
Detaillierte Statistiken pro Wortliste anzeigen (eindeutige Basiswörter, Kandidaten und Regeln):
hashcat-rosetta debug_output.txt --wordlists --top 10 --detail
Die --wordlists-Ausgabe spiegelt --rules wider: eine Top N Wordlists-Überschrift, gefolgt von
nummerierten Wordlist: <name> (<count>)-Zeilen. Wenn eine Modus-5-Datei ohne
Ausgabe-Flags analysiert wird, enthält die Standardzusammenfassung auch einen Abschnitt Wordlist Statistics.
Einen bestimmten Debug-Modus erzwingen, anstatt ihn automatisch zu erkennen:
hashcat-rosetta debug_output.txt --debug-mode 5 --wordlists
Detaillierte Basiswort-Analyse anzeigen:
hashcat-rosetta debug_output.txt --basewords --top 10 --detail --min-occurrences 2
Vollständigen Analysebericht exportieren:
hashcat-rosetta debug_output.txt --export report.json --format json
hashcat-rosetta debug_output.txt --export report.csv --format csv
Schritt für Schritt erklären, was eine Hashcat-Regel bewirkt:
hashcat-rosetta --explain "c$1" --baseword admin
hashcat-rosetta --explain "u$!" --baseword myword
Hashcat-Masken aus englischen Beschreibungen mithilfe eines lokalen LLM generieren:
hashcat-rosetta --mask "The word 'Summer' followed by six digits."
Ausgabe:
Mask Suggestions for: 'The word 'Summer' followed by six digits.'
======================================================================
1. Summer?d?d?d?d?d?d
literal "Summer", then 6 × digit → 1,000,000 candidates
Why: matches the literal word followed by a 6-digit number
Die generierte Maske in eine Datei speichern:
hashcat-rosetta --mask "The word 'Summer' followed by six digits." -o masks.hcmask
Masken aus anderen Beschreibungen generieren:
hashcat-rosetta --mask "a capitalized season, two digits, and a special char"
hashcat-rosetta --mask "year 2020-2025 followed by exclamation or question mark"
Die Maskengenerierungsfunktion verwendet einen lokalen Ollama-Server, der einen OpenAI-kompatiblen Chat-
Endpunkt ausführt. Standardmäßig verbindet sie sich mit http://localhost:11434 und verwendet das Modell
gemma3:27b (siehe unten). Diese können über Umgebungsvariablen
oder CLI-Flags konfiguriert werden:
# Using environment variables
OLLAMA_HOST=http://192.168.1.100:11434 OLLAMA_MODEL=llama2:70b \
hashcat-rosetta --mask "your description here"
# Using CLI flags (override environment variables)
hashcat-rosetta --mask "your description" --ollama-host http://custom.host:11434 --model llama2
Sicherheitshinweis: Maskenbeschreibungen werden nur an den von Ihnen konfigurierten Ollama-Endpunkt gesendet
(standardmäßig localhost oder wohin --ollama-host/OLLAMA_HOST zeigt) — niemals an einen
Cloud-Anbieter. Das OpenAI SDK wird ausschließlich als HTTP-Client gegenüber diesem Endpunkt verwendet;
es werden niemals Daten oder API-Schlüssel an api.openai.com übertragen.
gemma3:27b?Der Standardwert wird von scripts/benchmark_mask_models.py gewählt, das einen festen Satz von
14 --mask-artigen Prompts ausführt — einschließlich benutzerdefinierter Zeichensatz-Rückverweise und Kategorie-Erinnerungs-
Prompts (Bibelbücher, Bibelvers-Referenzen, europäische Hauptstädte) — gegen jedes lokal installierte
Kandidatenmodell und bewertet jede Antwort auf drei Arten:
mp64 (maskprocessor) aus hashcat-utils verifiziert, sofern installiert — dies ist
dieselbe Prüfung, die generate_masks() selbst bei jedem Vorschlag in der Produktion ausführt, sodass ein
Hard Fail im Benchmark hier auch bedeutet, dass die reale --mask-Nutzung ihn abgelehnt hätte.gemma3:12b auf einer zweiten Maschine, speziell
deshalb gewählt, weil es selbst kein Kandidat ist — vermeidet Selbstbewertungs-Bias) bewertet
jede Antwort mit 1-5 dafür, wie gut sie die ursprüngliche Anfrage erfüllt. Anfragen werden
mit aktiviertem Thinking gesendet, da ein langsames Modell ohnehin bereits die Round-Trip-Zeit kostet.