#Identifier le hash
# Longueur et format
hashid 'aad3b435b51404eeaad3b435b51404ee'
hash-identifier
# Exemples
# 32 hex → MD5 (0) / NTLM (1000)
# 40 hex → SHA1 (100)
# $2y$... → bcrypt (3200)
# $6$... → sha512crypt (1800)
# $krb5tgs$... → Kerberoast (13100)
# $krb5asrep$...→ AS-REP (18200)
#Modes courants
| Mode | Hash |
|---|---|
0 |
MD5 |
100 |
SHA1 |
1000 |
NTLM |
1800 |
sha512crypt |
3200 |
bcrypt |
13100 |
Kerberoast (TGS-REP) |
18200 |
AS-REP |
22000 |
WPA-PBKDF2 |
16500 |
JWT |
1700 |
SHA-512 |
# Lister les modes
hashcat -h | grep -iE "kerberos|ntlm|bcrypt|sha512"
#Attaques
# Dictionnaire simple
hashcat -m 1000 hashes.txt rockyou.txt
# Dictionnaire + règles (majuscules, suffixes, leetspeak)
hashcat -m 1000 hashes.txt rockyou.txt -r rules/best64.rule
# Masque : 8 caractères, minuscules + chiffres
hashcat -m 1000 hashes.txt -a 3 '?l?l?l?l?l?l?l?l'
# Masque ciblé : MotDePasse + 2 chiffres
hashcat -m 1000 hashes.txt -a 3 'MotDePasse?d?d'
# Combinaison de deux dictionnaires
hashcat -m 1000 hashes.txt -a 1 words1.txt words2.txt
| Attaque | Option |
|---|---|
| Dictionnaire | -a 0 |
| Combinaison | -a 1 |
| Masque | -a 3 |
| Hybride mot de passe + masque | -a 6 |
| Hybride masque + mot de passe | -a 7 |
#Afficher et gérer
# Résultats trouvés
hashcat -m 1000 hashes.txt --show
# Fichier potfile custom
hashcat -m 1000 hashes.txt rockyou.txt --potfile-path ./mission.pot
# Username:hash → ne pas casser le username
hashcat -m 1000 hashes.txt --username
# Benchmark GPU
hashcat -b -m 1000
#Optimisation
# GPU dédié, charge de travail élevée
hashcat -m 1000 hashes.txt rockyou.txt -O -w 4
# Plusieurs GPU
hashcat -m 1000 hashes.txt rockyou.txt -D 1,2
# Session nommée
hashcat -m 1000 hashes.txt rockyou.txt --session mission
hashcat --session mission --restore