Sono stato in grado di decifrare le password, dati i loro sali e i loro hash, usando la forza bruta.
In primo luogo, la lunghezza delle password era 3 e la lunghezza salt 2:
ad es. , hash: rrVo/xC.s5/hQ
, salt: rr
= > password: thr
(tempo: ~ 0m4.579s)
Ora, per le password di lunghezza 4 e lunghezza sale 2:
ad es. , hash: ss1C5xfz6Nggg
, salt: ss
= > password: four
(tempo: ~ 7m19.531s)
Come ho già detto, queste password sono state ottenute utilizzando un algoritmo a forza bruta. È utile per lunghezze di password brevi: man mano che aumenta il numero di caratteri per la password, il tempo richiesto per interrompere la password aumenta in modo esponenziale.
Quello che voglio sapere è una tecnica più efficiente per ridurre lo spazio di ricerca.
Informazioni aggiuntive:
-
Le password vengono create utilizzando: A-Z, a-z, 0-9 e simboli: $, #, +, @, =, /, &
-
Ho utilizzato il comando
openssl
per generare gli hash e li ho confrontati con l'hash specificato$ openssl passwd -crypt -salt rr thr
in uno script bash.