---
title: Hashcat
description: "Identifier un hash, choisir le bon mode et casser hors ligne avec dictionnaires, règles et masques."
category: cracking
kind: tool
tags: [hash, cracking, ntlm, kerberoast, gpu]
level: intermediate
updated: 2026-11-05
order: 4
aliases: ["hash cracking", "john the ripper"]
---

## Identifier le hash

```bash
# 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 |

```bash
# Lister les modes
hashcat -h | grep -iE "kerberos|ntlm|bcrypt|sha512"
```

## Attaques

```bash
# 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

```bash
# 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

```bash
# 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
```

> [!TIP]
> Les règles comptent plus que la taille du dictionnaire. `best64.rule`, `dive.rule` et les règles spécifiques à l'entreprise (nom, saison, année) cassent souvent plus vite que 10 Go de rockyou.

> [!TIP]
> Pour les formats exotiques, les fichiers protégés (ZIP, PDF, Office, KeePass) et les clés SSH, [John the Ripper](/sheets/john/) est souvent plus direct. La méthode complète est dans [Password attacks](/sheets/password-attacks/).

> [!WARNING]
> Le cracking est gourmand en GPU et peut faire chauffer une machine de production. Utilise du matériel dédié, surveille la température, et ne stocke jamais les mots de passe cassés en clair au-delà du rapport.
