
un generatore veloce di wordlist di password, uno strumento per la creazione di Smartlist e per l'analisi ibrida-mask delle password, scritto in Rust puro e sicuro
Cracken è un veloce generatore di wordlist di password, creazione di Smartlist e strumento di analisi ibrida-mask delle password scritto in puro Rust sicuro (maggiori informazioni su [talk/][talk]). Ispirato da grandi strumenti come [maskprocessor][mp], [hashcat][hashcat], [Crunch][crunch] e 🤗 HuggingFace's [tokenizers][tokenizers].
Al [DeepSec2021][talk-abstract] abbiamo presentato un nuovo metodo per analizzare le password come Hybrid-Masks sfruttando sottostringhe comuni nelle password utilizzando tokenizer NLP (maggiori informazioni in [talk/][talk]).
Il nostro metodo suddivide una password nelle sue sottoparole invece di una semplice maschera di caratteri. HelloWorld123! suddiviso in ['Hello', 'World', '123!'] poiché queste tre sottoparole sono molto comuni in altre password.
?w1?w2?l?d)
tabella completa qui
Hybrid-Masks MOLTO VELOCEMENTE 🦸⚡💨 (vedi sezione performance)Smartlist - elenco compatto e rappresentativo di sottoparole da file di password forniti (usando i 🤗 HuggingFace's [tokenizers][tokenizers])Hybrid-Masks - costruire statistiche per migliori candidati password (di nuovo molto veloce)cracken -w rockyou.txt -w 100-most-common.txt '?w1?w2?d?d?d?d?s'hashcat, john o al tuo cracker di password preferitocracken createcracken entropyHybrid-Masks più frequenti per generare rapidamente candidati password - cracken generate -i hybrid-masks.txtPer maggiori dettagli consulta la sezione Utilizzo
download (solo linux attualmente): [ultima release 🔗][releases]
per altre opzioni di installazione vedi sezione installazione
esegui Cracken:
genera tutte le parole di lunghezza 8 che iniziano con maiuscolo seguite da 6 caratteri minuscoli e poi una cifra:
$ cracken -o pwdz.lst '?u?l?l?l?l?l?l?d'
genera parole da due wordlist con suffisso anno (1000-2999) <nome><cognome><anno>
$ cracken --wordlist nomi.txt --wordlist cognomi.lst --charset '12' '?w1?w2?1?d?d?d'
crea una Smartlist di dimensione 50k da sottoparole estratte da rockyou.txt
$ cracken create -f rockyou.txt -m 50000 --smartlist smart.lst
stima l'entropia della hybrid mask della password HelloWorld123! usando una 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
Al momento della stesura, Cracken è probabilmente il generatore di wordlist più veloce al mondo:
Cracken ha un aumento di prestazioni di circa il 25% rispetto al veloce [maskprocessor][mp] di hashcat, scritto in C.
Cracken può generare circa 2 GB/s per core.
maggiori dettagli su benchmarks/ 🔗
Perché la velocità è importante? Una GPU tipica può testare miliardi di password al secondo a seconda della funzione hash della password. Quando il generatore di wordlist produce meno parole al secondo rispetto a quanto il tool di cracking può gestire - la velocità di cracking diminuirà.
Cracken utilizza l'algoritmo A* per analizzare le password molto velocemente. Può trovare la Hybrid-Mask minima di un file di password a una velocità di ~100k Password/sec (cracken entropy -f parole1.txt -f parole2.txt ... -p pwd.txt)
Installa Cracken o compila dal sorgente
Scarica l'ultima release da [releases 🔗][releases]
Cracken è scritto in Rust e necessita di rustc per essere compilato. Cracken dovrebbe supportare tutte le piattaforme supportate da Rust.
istruzioni per l'installazione di [cargo 🔗][rustc-installation]
ci sono due opzioni per compilare dal sorgente - installare con cargo da crates.io (preferito) o compilare manualmente dal sorgente.
installa con cargo:
$ cargo install cracken
clona Cracken:
$ git clone https://github.com/shmuelamar/cracken
compila Cracken:
$ cd cracken
$ cargo build --release
eseguilo:
$ ./target/release/cracken --help
$ cracken --help
Cracken v1.0.0 - un veloce generatore di wordlist di password
USO:
cracken [SUBCOMANDO]
FLAGS:
-h, --help Stampa le informazioni di aiuto
-V, --version Stampa le informazioni sulla versione
SUBCOMANDI:
generate (predefinito) - Genera parole separate da newline secondo la maschera e i file wordlist forniti
create Crea una nuova smartlist dal file(i) di input
entropy
Calcola l'entropia stimata di una password o di un file di password.
L'entropia di una password è log2(len(keyspace)) della password.
Esistono due tipi di stime della dimensione del keyspace:
* mask - keyspace di ogni carattere (cifra=10, minuscolo=26...).
* hybrid - trova la suddivisione minima in sottoparole e charset.
Per l'aiuto specifico sui subcomandi esegui: cracken <subcomando> --help
Esempi di utilizzo:
## Esempi del Subcomando Generate:
# tutte le cifre da 00000000 a 99999999
cracken ?d?d?d?d?d?d?d?d
# tutte le cifre da 0 a 99999999
cracken -m 1 ?d?d?d?d?d?d?d?d
# parole con prefisso pwd - da pwd0000 a pwd9999
cracken pwd?d?d?d?d
# tutte le password di lunghezza 8 che iniziano con maiuscolo seguite da 6 minuscole e poi una cifra
cracken ?u?l?l?l?l?l?l?d
# stesso comando di sopra, scrive l'output su pwds.txt invece che stdout
cracken -o pwds.txt ?u?l?l?l?l?l?l?d
# charset personalizzato - tutti i valori esadecimali
cracken -c 0123456789abcdef '?1?1?1?1'
# 4 charset personalizzati - l'ordine determina l'id del charset
cracken -c 01 -c ab -c de -c ef '?1?2?3?4'
# 4 caratteri minuscoli con suffisso anni 2000-2019
cracken -c 01 '?l?l?l?l20?1?d'
# inizia con nome da wordlist seguito da 4 cifre
cracken -w nomi.txt '?w1?d?d?d?d'
# inizia con nome da wordlist con cognome da wordlist che termina con simbolo
cracken -w nomi.txt -w cognomi.txt -c '!@#$' '?w1?w2?1'