Avere conoscenza delle regole della password applicate a un sistema è in genere un buon modo. Supponiamo che un servizio richieda una password legittima tra 6-10 caratteri alfanumerici con almeno un numero. Puoi controllare le regole registrandoti in quel sistema (se possibile) o applicare alcune conoscenze di dominio su questo sistema.
Quindi senza questa conoscenza non c'è in atto modo di generare dizionari in modo efficiente.
Se riesci a sfoltire 500.000.000 password che sono < 6 o > 10 o che non contengono alcun numero, hai già vinto. La conversione di tutto in leet speak non aiuta automaticamente quando il sistema in questione non consente il backslash per esempio.
(D'altra parte come amministratore: nascondere quelle regole all'utente legittimo le infastidirà davvero)
Ma c'è un modo di generare un elenco completo, non è nemmeno necessario alcun elenco di parole per questo, cioè un semplice attacco di forza bruta sull'intero spazio del personaggio che inizia con 1 fino a un certo limite, diciamo una password limite di 256. Quindi avrai la "lista di parole" garantita. La quantità di dati spazzatura è ovviamente enorme, ma potrebbe anche essere enorme quando si utilizza il comando le leet su un server che non consente tali caratteri.