tags: cracking hashcat


Hashcat è lo strumento di cracking per eccellenza, permette di fare molte più operazioni rispetto a John The Ripper e di crackare molti più hash, l’utilizzo di base è il seguente:

 
hashcat -m <tipo di hash> <file degli hash> <wordlist> [opzioni]
 
#Esempio di crack hash NTLM con un wordlist
 
hashcat -m 1000 hash.txt /usr/share/wordlists/rockyou.txt
 

Trovare il numero di algoritmo da craccare:

Il tipo di algoritmo lo trovi tramite questo sito

man hashcat | grep -i <nome algoritmo>
 
#Esempio 
 
man hashcat | grep -i bcrypt
   3200 | bcrypt $2*$, Blowfish (Unix)                               | Operating System
  25600 | bcrypt(md5($pass)) / bcryptmd5                             | Forums, CMS, E-Commerce
  25800 | bcrypt(sha1($pass)) / bcryptsha1                           | Forums, CMS, E-Commerce
  28400 | bcrypt(sha512($pass)) / bcryptsha512                       | Forums, CMS, E-Commerce

Attacco dizionario (-a 0)

Confronta ogni parola della wordlist con l’hash:

hashcat -m 1000 --force hash.txt /usr/share/wordlists/rockyou.txt -a 0

Più efficace se la password è comune.

Attacco brute-force (-a 3)

Genera password in base a pattern definiti:

hashcat -m 1000 hash.txt -a 3 --force ?d?d?d?d?d?d?d?d

In questo caso crei parole che hanno 8 cifre

In quest’altro caso invece generiamo parole di 5 caratteri che iniziano con una maiuscola e finiscono con un simbolo:

hashcat -m 1000 hash.txt -a 3 --force ?u?l?l?l?s
  • ?d = Digito numerico (0-9).
  • ?l = Lettera minuscola (a-z).
  • ?u = Lettera maiuscola (A-Z).
  • ?s = Carattere speciale (!@#$%^&*).

Utile quando conosci il formato della password, ma non il valore preciso.

Attacco combinato (-a 1)

Unisce due parole della wordlist:

hashcat -m 1000 hash.txt /usr/share/wordlists/rockyou.txt /usr/share/wordlists/names.txt -a 1

Utile se la password è composta da più parole.

Attacco ibrido (dizionario + brute-force, -a 6 e -a 7)

Aggiunge caratteri generati alla parola del dizionario:

hashcat -m 1000 hash.txt /usr/share/wordlists/rockyou.txt ?d?d -a 6

Utile per password con suffissi numerici, es. “password123”.

Come in John The Ripper le password vengono salvate in un file che si chiama ~/.hashcat/hashcat.potfile, è anche possibile recuperare il contenuto dell’hash utilizzando la flag --show su un file hash già crackato a patto che sia ancora nel file hashcat.potfile, come nel seguente esempio:

 
#Esempio di comando per craccare un hash:
 
hashcat -m 1000 hash.txt /usr/share/wordlists/rockyou.txt
 
#Come riottenere il contenuto dell'hash:
 
hashcat -m 1000 hash.txt --show