Recuperare password da /etc/shadow con Hashcat

Le password presenti nel file /etc/shadow sono solitamente degli hash sha512 con l’aggiunta di un salt.

Vediamo un esempio:

utente:$6$HKm0QmajF7TZkV0u$BUAplOwXRKvKG47GfkI9r5YpLi4R0ddAK/Kctv053ScEKWI.kr45BV/y73z7Of4jXlalSJXWGjbkbvshYiRF51:18433:0:99999:7:::

Di questa stringa a noi interessa il SALT, compreso tra $6$ fino all’inizio dell’altro dollaro, e la stringa successiva fino ai due punti. Quindi se raffiniamo otteniamo:

$6$HKm0QmajF7TZkV0u$BUAplOwXRKvKG47GfkI9r5YpLi4R0ddAK/Kctv053ScEKWI.kr45BV/y73z7Of4jXlalSJXWGjbkbvshYiRF51

Il restante non ci interessa.

Adesso dobbiamo procurarci Hashcat e una wordlist, in questo esempio verra utilizzato la classica rockyou.txt

Per sfruttare al massimo le schede video, ottime per essere utilizzare con Hashcat, si consiglio l’utilizzo di Windows.

Quindi apriamo PowerShell (o anche CMD) e andiamo nella cartella dove abbiamo posizionato Hashcat:

cd 'C:\Users\Utente\Documents\hashcat\'

Adesso diamo questo comando:

./hashcat64.exe -m 1800 -a 0 -o C:\Users\Utente\Desktop\password_output.txt --remove C:\Users\Utente\Desktop\hashUNIX_input.txt C:\Users\Utente\Dizionari\rockyou.txt

Vediamo nello specifico cosa abbiamo comunicato ad hashcat:
-m 1800    = vuol dire di utilizzare la tipologia di hash “sha512crypt $6$, SHA512 (Unix)”
-a 0            = vuol dire di utilizzare un DIZIONARIO come tipologia di attacco
-o               = specifichiamo dove vogliamo l’output
–remove = qui indichiamo il nostro SALT/HASH dov’e’ posizionato
infine diamo il percorso del DIZIONARIO che vogliamo utilizzare

In pochi secondi, se la password è scontata come nel seguente esempio, molto probabilmente sarà presente nel dizionario:

hashcat-crack-unix-shadow-password

Non ci resta che aprire il file di output, dove verrà apposta la password:

output-password-linux-etcshadow-hashcat

FONTE