Ho un hash MD5 salato e conosco anche la password. Come posso recuperare il sale usando strumenti come John The Ripper (ho JTR jumbo installato)?
Ho un hash MD5 salato e conosco anche la password. Come posso recuperare il sale usando strumenti come John The Ripper (ho JTR jumbo installato)?
Con testo in chiaro noto e assumendo salting che utilizza una semplice concatenazione di stringhe, alcune suite di cracking delle password come hashcat o MDXfind ti consentiranno di eseguire il bruteforce. Ciò sarà pratico solo per i sali semplici (abbastanza corti per la forza bruta, o se il set di caratteri del sale è noto abbastanza da mantenere lo spazio delle chiavi piccolo).
Per hashcat, il trucco (forse non intuitivo) è far finta che il sale sia la password e che la password sia salt. Funziona quando la salatura viene eseguita come una semplice concatenazione.
In questo esempio, la password in chiaro in chiaro è "password" e il sale sconosciuto è "GR7". Useremo la modalità algoritmo di hashc 20 (md5 ($ salt. $ Pass)).
Ecco l'hash salato:
$ echo -n 'passwordGR7' | md5sum
a598e9df477f07dadee6b6bee9ac1daa -
... ed ecco l'hash di destinazione e "salt" (nel formato hash previsto: salt), ma il "salt" è in realtà la nostra password in chiaro conosciuta:
$ cat hash.list
a598e9df477f07dadee6b6bee9ac1daa:password
Quindi usiamo una maschera "? a? a?" (tutte le stringhe stampabili a tre caratteri) come potenziali "password" (in realtà il sale):
$ hashcat --quiet -m 20 -a 3 hash.list ?a?a?a
a598e9df477f07dadee6b6bee9ac1daa:password:GR7
Per gestire sali di diverse lunghezze o formati, regola semplicemente la maschera o il tipo di attacco. Se la lunghezza del sale non è nota, usa --increment
per provare tutte le lunghezze fino alla lunghezza della maschera fornita.
Se il sale è preposto anziché aggiunto, è possibile utilizzare la modalità hashcat 10 (md5 ($ pass.salt)) (anche in questo caso, ricordando che il "passaggio" in questo contesto è in realtà il sale, utilizzando lo stesso metodo di sopra).
Non l'ho fatto esplicitamente con John the Ripper, ma dato che John supporta md5 ($ p. $ s) e md5 ($ s. $ p) usando i formati dinamici, credo che la stessa tecnica possa essere usata con John. Ma questi formati dinamici sono solo sulla CPU in questo momento, quindi se disponi di GPU, ti consiglio di dare un'occhiata a hashcat.
Leggi altre domande sui tag brute-force hash salt password-cracking md5