
ein schnelles Tool zur Passwort-Wortlistengenerierung, Smartlist-Erstellung und Passwort-Hybrid-Mask-Analyse, geschrieben in reinem, sicherem Rust
Cracken ist ein schneller Passwort-Wortlistengenerator, ein Werkzeug zur Erstellung von Smartlists und zur Analyse von Passwort-Hybrid-Masken, geschrieben in reinem, sicherem Rust (mehr dazu unter [talk/][talk]). Inspiriert von großartigen Werkzeugen wie [maskprocessor][mp], [hashcat][hashcat], [Crunch][crunch] und 🤗 HuggingFaces [tokenizers][tokenizers].
Auf der [DeepSec2021][talk-abstract] haben wir eine neue Methode zur Analyse von Passwörtern als Hybrid-Masken vorgestellt, die häufige Teilstrings in Passwörtern mithilfe von NLP-Tokenizern ausnutzt (mehr Infos unter [talk/][talk]).
Unsere Methode zerlegt ein Passwort in seine Teilwörter anstelle einer reinen Zeichenmaske. HelloWorld123! wird zerlegt in ['Hello', 'World', '123!'], da diese drei Teilwörter auch in anderen Passwörtern sehr häufig vorkommen.
?w1?w2?l?d)
vollständige Tabelle hier
Hybrid-Masken – sehr SEHR SCHNELL 🦸⚡💨 (siehe Abschnitt Leistung)Smartlists – kompakte & repräsentative Liste von Teilwörtern aus gegebenen Passwortdateien (mit 🤗 HuggingFaces [tokenizers][tokenizers])Hybrid-Masken – Erstellung von Statistiken für bessere Passwortkandidaten (wieder sehr schnell)cracken -w rockyou.txt -w 100-most-common.txt '?w1?w2?d?d?d?d?s'hashcat, john oder Ihren bevorzugten Passwortknacker weitergeleitet werdencracken createcracken entropyHybrid-Masken, um schnell Passwortkandidaten zu generieren – cracken generate -i hybrid-masks.txtWeitere Details finden Sie im Abschnitt Verwendung
Download (derzeit nur Linux): [aktuelles Release 🔗][releases]
Weitere Installationsmöglichkeiten finden Sie im Abschnitt Installation
Cracken ausführen:
Generieren aller Wörter der Länge 8, die mit einem Großbuchstaben beginnen, gefolgt von 6 Kleinbuchstaben und dann einer Ziffer:
$ cracken -o pwdz.lst '?u?l?l?l?l?l?l?d'
Generieren von Wörtern aus zwei Wortlisten mit Jahres-Endung (1000–2999) <vorname><nachname><jahr>
$ cracken --wordlist firstnames.txt --wordlist lastnames.lst --charset '12' '?w1?w2?1?d?d?d'
Erstellen einer Smartlist der Größe 50k aus Teilwörtern, die aus rockyou.txt extrahiert wurden
$ cracken create -f rockyou.txt -m 50000 --smartlist smart.lst
Schätzung der Entropie der Hybrid-Maske des Passworts HelloWorld123! unter Verwendung einer Smartlist
$ cracken entropy -f smart.lst 'HelloWorld123!'
hybrid-min-split: ["hello", "world1", "2", "3", "!"]
hybrid-mask: ?w1?w1?d?d?s
hybrid-min-entropy: 42.73
--
charset-mask: ?l?l?l?l?l?l?l?l?l?l?d?d?d?s
charset-mask-entropy: 61.97
Zum Zeitpunkt der Erstellung dieses Artikels ist Cracken wahrscheinlich der schnellste Wortlistengenerator der Welt:
Cracken bietet eine rund 25% höhere Leistung als hashcats schneller [maskprocessor][mp], der in C geschrieben ist.
Cracken kann etwa 2 GB/s pro Kern generieren.
Weitere Details unter benchmarks/ 🔗
Warum Geschwindigkeit wichtig ist? Eine typische GPU kann Milliarden von Passwörtern pro Sekunde testen, abhängig von der Passwort-Hash-Funktion. Wenn der Wortlistengenerator weniger Wörter pro Sekunde produziert, als das Knackwerkzeug verarbeiten kann, sinkt die Knackgeschwindigkeit.
Cracken verwendet den A*-Algorithmus, um Passwörter sehr schnell zu analysieren. Es kann die minimale Hybrid-Maske einer Passwortdatei mit einer Rate von etwa ~100k Passwörtern/Sekunde finden (cracken entropy -f wörter1.txt -f wörter2.txt ... -p pwds.txt)
Installieren Sie Cracken oder kompilieren Sie es aus dem Quellcode
Laden Sie das neueste Release von [releases 🔗][releases] herunter
Cracken ist in Rust geschrieben und benötigt rustc zur Kompilierung. Cracken sollte alle Plattformen unterstützen, die Rust unterstützt.
Anweisungen zur Installation von [cargo 🔗][rustc-installation]
Es gibt zwei Möglichkeiten, aus dem Quellcode zu erstellen – Installation mit cargo von crates.io (bevorzugt) oder manuelle Kompilierung aus dem Quellcode.
Mit cargo installieren:
$ cargo install cracken
Cracken klonen:
$ git clone https://github.com/shmuelamar/cracken
Cracken erstellen:
$ cd cracken
$ cargo build --release
Ausführen:
$ ./target/release/cracken --help
$ cracken --help
Cracken v1.0.0 - ein schneller Passwort-Wortlistengenerator
VERWENDUNG:
cracken [SUBCOMMAND]
FLAGS:
-h, --help Druckt Hilfeinformationen
-V, --version Druckt Versionsinformationen
SUBCOMMANDS:
generate (Standard) - Generiert durch Zeilenumbrüche getrennte Wörter gemäß übergebener Maske und Wortlistendateien
create Erstellt eine neue Smartlist aus Eingabedatei(en)
entropy
Berechnet die geschätzte Entropie eines Passworts oder einer Passwortdatei.
Die Entropie eines Passworts ist der log2(len(keyspace)) des Passworts.
Es gibt zwei Arten von Schlüsselraumgrößenschätzungen:
* mask - Schlüsselraum jedes Zeichens (Ziffer=10, Kleinbuchstabe=26...).
* hybrid - Finden der minimalen Aufteilung in Teilwörter und Zeichensätze.
Für spezifische Subcommand-Hilfe ausführen: cracken <subcommand> --help
Beispielverwendung:
## Generate Subcommand Beispiele:
# alle Ziffern von 00000000 bis 99999999
cracken ?d?d?d?d?d?d?d?d
# alle Ziffern von 0 bis 99999999
cracken -m 1 ?d?d?d?d?d?d?d?d
# Wörter mit pwd-Präfix - pwd0000 bis pwd9999
cracken pwd?d?d?d?d
# alle Passwörter der Länge 8, beginnend mit Großbuchstabe, dann 6 Kleinbuchstaben, dann Ziffer
cracken ?u?l?l?l?l?l?l?d
# wie oben, Ausgabe in pwds.txt statt stdout
cracken -o pwds.txt ?u?l?l?l?l?l?l?d
# benutzerdefinierter Zeichensatz - alle Hexwerte
cracken -c 0123456789abcdef '?1?1?1?1'
# 4 benutzerdefinierte Zeichensätze - die Reihenfolge bestimmt die ID des Zeichensatzes
cracken -c 01 -c ab -c de -c ef '?1?2?3?4'