Solo per espandere la risposta precedente.
Is my reasoning correct, a wordlist is only useful if there's words in the password, and wastes time if there's not?
Non è necessario che la password in questione contenga parole. Dipende dallo stesso wordlist. Una buona lista di parole può farti risparmiare un sacco di tempo. Alcune liste di parole popolari non contengono solo parole che si trovano in un dizionario, ma anche alcune parole storpiate (ci arriverò tra poco). Programmi come john e crunch possono aiutarti a creare un elenco di parole personalizzato per il tuo target. Ma sì, è altamente improbabile trovare una password generata casualmente in una lista di parole e almeno una parte della password dovrebbe contenere parole per migliorare le probabilità di un attacco basato su elenchi di parole.
I know in John the Ripper there's word mangling rules, what is this?
Ora, questo è un argomento interessante. Word Mangling (in caso di johntheripper) è in termini semplici che mutano tutte le parole in una lista di parole in base alle regole definite in /etc/john/john.conf (su una macchina Linux). Spiegherò meglio questo con l'esempio.
Gli utenti tendono a mutare le loro password in vari modi. Ciò potrebbe includere l'aggiunta di alcuni numeri alla fine della password, lo scambio di lettere minuscole per lettere maiuscole, la modifica di determinate lettere in numeri, ecc. Quindi, supponiamo che tu sappia che una determinata persona (o vittima nel nostro caso) ama aggiungere due numeri alla fine delle sue password (che nella maggior parte dei casi è una parola per ricordarlo meglio). Puoi aggiungere una regola nel file di configurazione di johntheripper.
$[0-9]$[0-9]
E dopo di ciò si crea una lista di parole mutate con il seguente comando.
john --rules --wordlist=/path/to/wordlist --stdout > new_word_list
Questo creerà una nuova lista di parole (usando le regole nel file di configurazione) che è una versione storpiata della vecchia lista di parole, che migliorerà le possibilità di un attacco di wordlist di successo. Allo stesso modo è possibile aggiungere elementi (caratteri, numeri, caratteri speciali), cambiare caratteri in maiuscolo / minuscolo, cambiare indici specifici in un carattere di propria scelta, ecc. Semplicemente aggiungendo le regole pertinenti al file di configurazione. Non sono sicuro di come spiegarlo meglio, ma spero che ne abbiate capito il senso.
By the way, are the terms "dictionary" and "wordlist" usually used interchangeably in this context?
Sì, in questo contesto "dizionario" e "elenco di parole" sono termini intercambiabili. Questo perché quando l'attacco è uscito per la prima volta, gli hacker stavano letteralmente usando parole del dizionario come una lista di parole (la gente allora non usava password forti). Quando le persone sono venute a conoscenza del "dizionario-attacco", hanno iniziato a storpiare le loro password (ad esempio, cavalli1234, alabama12, ecc.). Così gli hacker hanno sviluppato i loro metodi e ne sono usciti con una versione mutilata del dizionario. E (nel corso degli anni) dopo tutto quel mangling, aggiungendo gergo, ecc., La risultante lista di parole non assomigliava a un dizionario e quindi gli hacker iniziarono a riferirsi ad essa come una lista di parole.