Kerberoasting
L’attaque Kerberoasting consiste à récupérer des TGS associés à un utilisateur du domaine et à essayer des les cracker.
Méthodologie
Les étapes de cette attaque sont:
- Lister les Service Principal Names (SPNs). Un SPN est de la forme suivante TERMSRV/DC1 (où TERMSRV est le type de service et DC1 est le serveur où le service est actif).
- Faire des requêtes pour récupérer les tickets Kerberos.
- Exporter les tickets pour les manipuler
- Convertir les tickets en un format manipulable par JtR ou Hashcat.
- Casser les “hashs” avec hashcat/JtR
Attention: dans la plupart des cas les “hashs” récupérés sont basés sur RC4 et donc cassable dans un temps raisonnable. Dans certains cas l’algorithme utilisé sera du AES (avec un grand nombre de répétition) ce qui réduit considérablement l’efficacité du cassage (facteur 20 000). Plus de détail dans l’article sur Kerberos
Pratique
La suite Powersploit permet de récupérer la liste des utilisateurs qui on un SPN associé:
Get-NetUser -Domain blabla.local -DomainController XX.XX.XX.XX -Verbose -SPN
Il est possible de récupérer les parties à cracker avec Impacket et l’outil GetUsersSPN.py
GetUserSPNs.py -dc-ip 192.168.1.1 -request domain.local/validaccount
Correction
Il est difficile de bloquer Kerberoasting qui utilise le fonctionnement normal de Kerberos. On peut cependant essayer de détecter une attaque en cours:
- Detecting Kerberoasting Activity:
- Activité Kerberos: En surveillant les logs AD on peut voir quand des tickets sont délivrés. Cependant une grande partie de cette activité sera légitime. Cependant un utilisateur demandant un grand nombre de ticket est louche.
- AES vs RC4: Les systèmes modernes utilisent AES avec Kerberos. Si du RC4 est utilisé c’est potentiellement du Kerberoasting (Kerberoasting peut utiliser AES mais ce sera plus complexe à cracker).
- Detecting Kerberoasting Activity Part 2 – Creating a Kerberoast Service Account Honeypot: on crée un faux compte qui n’a aucune raison de délivrer des tickets. S’il délivre un ticket c’est que quelqu’un fait du Kerberoasting.
Il est également possible de forcer l’utilisation d’AES sur les comptes utilisateurs ayant un SPN. Plus d’informations sur site de Microsoft. Cependant cette méthode est incompatible avec des environnements XP / 2003.
Ressources
- Kerberoasting - Room326:
- t120 Attacking Microsoft Kerberos Kicking the Guard Dog of Hades Tim Medin
- Cracking Kerberos TGS Tickets Using Kerberoast – Exploiting Kerberos to Compromise the Active Directory Domain
- Kerberoasting Without Mimikatz - Harmj0y
- Return From The Underworld The Future Of Red Team Kerberos