Linux stocca gli hash delle password nel file /etc/shadow, ma utilizza diversi algoritmi per hashare le password che possono essere 4 ed ognuno è riconoscibile dal numero presente tra i due $ all’inizio dell’hash come per esempio:
root:$6$Ha.d5nGupBm29pYr$yugXSk24ZljLTAZZagtGwpSQhb3F2DOJtnHrvk7HI2ma4GsuioHp8sm3LJiRJpKfIf7lZQ29qgtH17Q/JDpYM/:18576::::::Qua possiamo notare che dopo il nome utente root e i : è presente 6 tra i due $ questo sta a indicare che l’algoritmo utilizzato è lo sha512. A seconda del numero che troviamo possiamo capire quale algoritmo utilizzare, ecco una tabella:
| Identificatore | Algoritmo | Formato per John the Ripper |
|---|
$1$ | MD5 | md5crypt |
$2a$, $2y$, $2b$ | Blowfish | bcrypt |
$5$ | SHA-256 | sha256crypt |
$6$ | SHA-512 | sha512crypt |
Quindi se per esempio troviamo un hash come:
root:$6$Ha.d5nGupBm29pYr$yugXSk24ZljLTAZZagtGwpSQhb3F2DOJtnHrvk7HI2ma4GsuioHp8sm3LJiRJpKfIf7lZQ29qgtH17Q/JDpYM/:18576::::::Possiamo inserirlo in un file di testo così com’è come per esempio hash.txt e poi craccarlo con il comando:
john --wordlist=/opt/utili/wordlists/rockyou.txt --format=sha512crypt hash.txtNel quale specifichiamo il formato sha512 perchè l’hash ha 6 tra i due $.
Per scoprire ulteriori funzioni sull’utilizzo di john andare alla seguente pagina John The Ripper