Kerberos : protocole, attaques et défense
Comprendre Kerberos
Définition
Kerberos est un protocole d'authentification réseau conçu pour sécuriser les échanges dans des environnements distribués. Il repose sur un mécanisme de tickets chiffrés émis par un centre de distribution de clés, le KDC. Dans un domaine Active Directory, le KDC joue deux rôles distincts : l'Authentication Service délivre un Ticket Granting Ticket (TGT) après vérification des identifiants. Le Ticket Granting Service émet ensuite des tickets de service (TGS) pour accéder aux ressources cibles. Chaque ticket est chiffré avec la clé secrète du compte concerné. Ce mécanisme évite la transmission répétée des mots de passe sur le réseau. Son importance en cybersécurité est centrale : la quasi-totalité des environnements Windows d'entreprise s'appuient sur Kerberos pour l'authentification. Les attaquants ciblent ce protocole précisément parce que ses tickets contiennent des matériaux cryptographiques exploitables hors ligne. Une mauvaise configuration des comptes de service ou des droits excessifs dans l'annuaire ouvrent des vecteurs d'attaque puissants, allant du vol de ticket à la compromission totale du domaine.
Détection (Blue Team / SOC)
La détection des attaques Kerberos repose principalement sur l'analyse des journaux des contrôleurs de domaine. L'événement Windows 4768 signale une demande de TGT. L'événement 4769 correspond à une demande de ticket de service TGS. L'événement 4771 indique un échec de pré-authentification. Une activité Kerberoasting se manifeste par un volume élevé d'événements 4769 avec un type de chiffrement RC4 (0x17) pour des comptes de service inhabituels. L'AS-REP Roasting génère des événements 4768 avec le flag 'Pre-Authentication' désactivé sur des comptes ciblés. Un Golden Ticket se détecte par des incohérences entre le TGT présenté et les données attendues par le KDC, notamment via l'événement 4672 associé à des privilèges anormaux. Les outils SIEM comme Elastic Security, Splunk ou Microsoft Sentinel disposent de règles de détection dédiées à ces patterns. La supervision du trafic Kerberos sur le port 88/TCP et l'analyse comportementale des comptes de service complètent efficacement ces sources de logs. Des pics de requêtes TGS en dehors des horaires ouvrés constituent un indicateur fort d'énumération automatisée.
Exploitation & contre-mesures (Red Team)
Les attaques Kerberos constituent un axe majeur des opérations Red Team en environnement Active Directory. Le Kerberoasting consiste à demander des tickets TGS pour des comptes de service disposant d'un SPN, puis à casser leur chiffrement RC4 hors ligne avec Hashcat ou John the Ripper. L'outil Rubeus automatise cette extraction depuis un poste compromis. L'AS-REP Roasting cible les comptes dont la pré-authentification Kerberos est désactivée : GetNPUsers.py d'Impacket récupère directement le hash craquable. Le Pass-the-Ticket consiste à injecter un ticket TGT ou TGS volé en mémoire via Mimikatz (commande 'kerberos::ptt') pour usurper une identité sans connaître le mot de passe. Le Golden Ticket repose sur la compromission du hash du compte KRBTGT pour forger des TGT arbitraires avec une durée de vie illimitée. Comme contre-mesures, il faut appliquer des mots de passe longs et aléatoires sur les comptes de service, activer la pré-authentification sur tous les comptes, déployer des comptes de service managés (gMSA) pour la rotation automatique des secrets, et réinitialiser le compte KRBTGT deux fois consécutives lors d'une réponse à incident impliquant une compromission de domaine.
Articles sur Kerberos
PingCastle mesure la posture de sécurité Active Directory en continu. Découvrez comment en faire un outil d'amélioration, pas un simple audit.