Kerberoasting est l'une des attaques Active Directory les plus répandues. Elle exploite directement le fonctionnement de Kerberos pour extraire des hashes de comptes de service — crackables hors-ligne, sans déclencher d'alerte.
Kerberos en bref
Kerberos authentifie les utilisateurs via des tickets chiffrés — sans transmettre les mots de passe sur le réseau. Deux types de tickets :
- TGT (Ticket Granting Ticket) — ticket maître, prouve que l'utilisateur est authentifié
- TGS (Service Ticket) — ticket pour accéder à un service spécifique (SQL, web, SMB…)
Le TGS est chiffré avec le mot de passe du compte de service (SPN). Si on l'extrait, on peut tenter un cracking hors-ligne.
L'attaque Kerberoasting
- Lister les comptes de service ayant un SPN (Service Principal Name)
- Demander un TGS pour chacun — opération légitime, aucune alerte
- Extraire les TGS chiffrés
- Craquer les hashes hors-ligne
GetUserSPNs.py DOMAIN/user:password -request hashcat -m 13100 tgs_hash.txt rockyou.txt
Pourquoi ça marche :
- Les comptes de service ont souvent des mots de passe faibles ou anciens
- Cracking hors-ligne = aucun bruit réseau
- Pas besoin de droits élevés pour demander un TGS
Protection
- Mots de passe longs et complexes pour tous les comptes de service (25+ caractères)
- Désactiver RC4-HMAC, forcer AES pour les tickets
- Migrer vers les gMSA (Group Managed Service Accounts) — rotation automatique
- Surveiller les volumes de demandes TGS anormales
- Limiter les privilèges des comptes avec SPN