Come dice Jim, ci sono due approcci principali:
- Prova molti possibili da un elenco (dizionario / elenco di parole)
- Enumera ogni possibilità (forza bruta)
Ognuno di questi ha trucchi che possono essere utilizzati per migliorare il time-to-crack medio:
Per un dizionario / elenco di parole possiamo:
- usa un elenco di parole di frasi / frasi comuni, non solo parole comuni
- aggiungi parole specifiche per sito / dominio (ad esempio "psp" se si attacca l'elenco Sony)
- aggiungi parole specifiche dell'utente (ad es. nome utente / posizione ecc. da LDAP; questo potrebbe essere esteso per includere "risultati di google" e informazioni socialmente progettate come "Joshua")
- aggiungi "pass frasi" alla lista di parole (ad esempio frasi dalla Bibbia)
- genera varianti per ogni parola utilizzando diversi pattern di "complessificazione" comuni (l33t, pre / suffisso numerico, iniziali takining, ecc. e combinazioni di pattern)
- ordina la lista di parole (e le varianti generate) in base alla presunta verosimiglianza
Per forza bruta possiamo:
- usa le combinazioni di frequenza delle lettere della lingua target (ad esempio digraphs e trigraphs) per concentrare prima gli sforzi sulle sequenze "più probabili" ("forza intelligente")
- usa un elenco di parole (piuttosto che lettere / cifre / simboli) come blocchi di costruzione, a
prova a decifrare una passphrase
Sia il dizionario che la forza bruta possono essere ottimizzati nel caso (poco comune) di "leaked unsalted hash" utilizzando una tabella arcobaleno, che contiene hash precalcolati per molti milioni di password candidate, ad es. per tutte le 8 combinazioni di caratteri.
Ad eccezione di wordlist / passphrase brute-force, "frasi dalla Bibbia" e parole specifiche dell'utente, tutte queste tecniche sono supportate negli strumenti esistenti e in uso. I pattern di "complessificazione" utilizzati dipendono dallo strumento: i cappucci iniziali, il pre / suffisso numerico, l33t sono comuni; cifra / simbolo nel mezzo forse meno ma sicuramente supportato.
Le liste di parole specifiche per l'utente sono supportate da strumenti, ma non di uso comune contro gli account Web, AFAIK, dove ottenere frutti a basso impatto offre il miglior rendimento. È inoltre possibile fornire elenchi di parole personalizzati, dalla Bibbia o da qualsiasi altra parte. È più probabile che tali tecniche vengano utilizzate quando esiste un obiettivo specifico.