CyberAct
Publications/#Kerberoasting
Tag

Kerberoasting : attaque sur les SPN Kerberos

Comprendre Kerberoasting

Définition

Le Kerberoasting est une attaque ciblant les SPN (Service Principal Names) Kerberos au sein d'un environnement Active Directory. Tout compte de domaine authentifié peut demander un ticket de service (TGS) pour n'importe quel SPN enregistré. Ce ticket est chiffré avec le hash du mot de passe du compte de service associé. L'attaquant récupère ce ticket sans privilèges élevés, puis le soumet à une attaque par dictionnaire ou brute-force hors ligne. Le mécanisme repose sur le protocole Kerberos lui-même : aucun comportement anormal n'est nécessaire côté réseau pour déclencher cette phase de collecte. La criticité est forte quand les comptes de service disposent de mots de passe faibles ou anciens et de privilèges élevés dans le domaine. L'attaque est entièrement silencieuse côté contrôleur de domaine si la télémétrie n'est pas correctement configurée. Elle constitue un vecteur de mouvement latéral et d'élévation de privilèges particulièrement redouté en post-exploitation.

Détection (Blue Team / SOC)

La détection du Kerberoasting côté Blue Team repose principalement sur l'analyse des événements Kerberos générés par les contrôleurs de domaine. L'événement Windows 4769 (demande de ticket de service Kerberos) est le signal central. Un volume inhabituel de tickets TGS demandés par un seul compte en un temps court est un indicateur fort. Il faut filtrer sur le champ 'Ticket Encryption Type' avec la valeur 0x17 (RC4-HMAC) : les comptes modernes utilisent AES-256, donc toute demande RC4 sur un compte récent est suspecte. Les outils de SIEM comme Elastic SIEM ou Microsoft Sentinel permettent de créer des règles de corrélation sur ce pattern. L'activation de l'audit Kerberos Service Ticket Operations est indispensable (Stratégie de groupe, Audit Account Logon). Côté EDR, la surveillance des processus appelant les API SSPI (LsaCallAuthenticationPackage) depuis des outils non standards comme Rubeus ou Impacket's GetUserSPNs.py permet une détection comportementale. Un honeypot account, compte inactif avec un SPN attrayant et un mot de passe fort, génère une alerte immédiate à la première demande de ticket.

Exploitation & contre-mesures (Red Team)

Côté Red Team, l'exploitation du Kerberoasting démarre par l'énumération des comptes disposant d'un SPN via la commande LDAP ou des outils dédiés. Rubeus (C#) permet l'extraction des tickets TGS directement en mémoire avec la commande 'kerberoast'. Impacket's GetUserSPNs.py permet une attaque depuis Linux en une seule commande. Les tickets récupérés au format hashcat ($krb5tgs$23$) sont soumis au cracking hors ligne avec Hashcat (mode 13100) ou John the Ripper. La priorité est donnée aux comptes membres de groupes privilégiés (Domain Admins, Backup Operators). Côté durcissement, les contre-mesures principales sont : forcer AES-256 sur tous les comptes de service via 'msDS-SupportedEncryptionTypes', déployer des gMSA (Group Managed Service Accounts) dont les mots de passe de 240 caractères sont gérés automatiquement par Active Directory, et appliquer des mots de passe complexes de 25 caractères minimum sur les comptes de service classiques. La suppression des SPN inutilisés réduit la surface d'attaque. Un audit régulier des SPN enregistrés dans le domaine est recommandé pour détecter des configurations orphelines.

Articles sur Kerberoasting

MenacesActive Directory : quand le contrôleur de domaine devient une porte ouverte

Un contrôleur de domaine mal configuré suffit à exposer tout un SI. LLMNR, SMB signing, versions obsolètes : le tour des vecteurs d'attaque les plus exploités.

21 juin 20265 min de lecture
Red TeamContrôleur de domaine : la cible prioritaire des attaquants

Le DC est le joyau de la couronne Active Directory. Voici comment les Red Teams l'attaquent — et comment le défendre efficacement.

21 juin 20264 min de lecture