Craquage de hashes avec Hashcat pour comparaison
Bien que John the Ripper soit un excellent outil, il est de bonne pratique de se familiariser avec des alternatives comme Hashcat. Hashcat est réputé pour sa vitesse, en particulier sur les systèmes équipés de processeurs graphiques (GPU). Ici, nous allons effectuer la même attaque par dictionnaire en utilisant Hashcat.
Hashcat préfère un fichier propre ne contenant que les valeurs de hash. Utilisez la commande awk pour extraire le deuxième champ (le hash) de sample_hashes.txt et enregistrez-le dans un nouveau fichier, clean_hashes.txt.
awk -F':' '{print $2}' /root/sample_hashes.txt > /root/clean_hashes.txt
Vérifiez le contenu du nouveau fichier.
cat /root/clean_hashes.txt
La sortie ne doit contenir que les chaînes de caractères des hashes :
$6$randomsalt$WS2qjCQ1JrmZv8otdbtntIYu6lRzkk2aIVhgIMdMexOcvD9bEAoxtKcyZLXbR3wlhOOPBscJbLCPUU/fYjFhM0
$6$anothersalt$ZffCt8y5Hl8gLYS79/rhyT76C12kNhuOvkFR8Ll0RXcjQz2Nzuh3VUdT//e21HYfH6fP9btOp2aG22O3S7q1z/
Maintenant, lancez Hashcat. Vous devez spécifier le mode de hachage (-m 1800 pour SHA-512 crypt) et le mode d'attaque (-a 0 pour une attaque par dictionnaire directe).
hashcat -m 1800 -a 0 /root/clean_hashes.txt /root/custom_wordlist.txt
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 1800 (sha512crypt $6$, SHA512 (Unix))
Hash.Target......: /root/clean_hashes.txt
Time.Started.....: Mon Sep 1 06:33:21 2025 (0 secs)
Time.Estimated...: Mon Sep 1 06:33:21 2025 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (/root/custom_wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 226 H/s (5.08ms) @ Accel:8 Loops:1024 Thr:1 Vec:8
Recovered........: 2/2 (100.00%) Digests (total), 1/2 (50.00%) Digests (new), 2/2 (100.00%) Salts
Progress.........: 6/12 (50.00%)
Rejected.........: 0/6 (0.00%)
Restore.Point....: 0/6 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:4096-5000
Candidate.Engine.: Device Generator
Candidates.#1....: password -> password123
Hashcat commencera la session de craquage. Comme notre liste de mots contient les bons mots de passe (password et 123456), Hashcat devrait craquer ces hashes très rapidement. Une fois terminé, visualisez les mots de passe craqués en exécutant la même commande avec l'option --show.
hashcat -m 1800 -a 0 /root/clean_hashes.txt /root/custom_wordlist.txt --show
Si l'attaque réussit, Hashcat affichera le hash suivi du mot de passe craqué, séparés par deux-points :
$6$randomsalt$WS2qjCQ1JrmZv8otdbtntIYu6lRzkk2aIVhgIMdMexOcvD9bEAoxtKcyZLXbR3wlhOOPBscJbLCPUU/fYjFhM0:password
$6$anothersalt$ZffCt8y5Hl8gLYS79/rhyT76C12kNhuOvkFR8Ll0RXcjQz2Nzuh3VUdT//e21HYfH6fP9btOp2aG22O3S7q1z/:123456
Cette étape vous a présenté Hashcat comme une alternative puissante pour le craquage de mots de passe. Dans l'étape finale, vous apprendrez à documenter correctement vos découvertes.