Kerberoast
Last updated
Last updated
Utilisez Trickest pour construire facilement et automatiser des workflows alimentés par les outils communautaires les plus avancés au monde. Accédez dès aujourd'hui :
Le Kerberoasting se concentre sur l'acquisition de tickets TGS, en particulier ceux liés aux services fonctionnant sous des comptes utilisateur dans Active Directory (AD), à l'exclusion des comptes d'ordinateur. Le chiffrement de ces tickets utilise des clés provenant des mots de passe des utilisateurs, permettant la possibilité de cassage de crédentials hors ligne. L'utilisation d'un compte utilisateur en tant que service est indiquée par une propriété "ServicePrincipalName" non vide.
Pour exécuter le Kerberoasting, un compte de domaine capable de demander des tickets TGS est essentiel ; cependant, ce processus ne nécessite pas de privilèges spéciaux, le rendant accessible à toute personne disposant de justes identifiants de domaine.
Le Kerberoasting cible les tickets TGS pour les services de compte utilisateur dans AD.
Les tickets chiffrés avec des clés provenant des mots de passe des utilisateurs peuvent être cassés hors ligne.
Un service est identifié par un ServicePrincipalName qui n'est pas nul.
Aucun privilège spécial n'est nécessaire, juste des identifiants de domaine valides.
Les outils de Kerberoasting demandent généralement un chiffrement RC4
lors de l'attaque et de l'initiation des requêtes TGS-REQ. Cela est dû au fait que RC4 est plus faible et plus facile à casser hors ligne à l'aide d'outils tels que Hashcat que d'autres algorithmes de chiffrement tels que AES-128 et AES-256.
Les hachages RC4 (type 23) commencent par $krb5tgs$23$*
tandis que ceux de AES-256 (type 18) commencent par $krb5tgs$18$*
.
Outils multi-fonctionnalités comprenant un dump des utilisateurs pouvant être kerberoastés :
Énumérer les utilisateurs Kerberoastable
Technique 1: Demander le TGS et le vider de la mémoire
Technique 2: Outils automatiques
Lorsqu'un TGS est demandé, l'événement Windows 4769 - Un ticket de service Kerberos a été demandé
est généré.
Utilisez Trickest pour construire et automatiser facilement des workflows alimentés par les outils communautaires les plus avancés au monde. Accédez dès aujourd'hui :
Si vous avez suffisamment de permissions sur un utilisateur, vous pouvez le rendre kerberoastable :
Vous pouvez trouver des outils utiles pour les attaques kerberoast ici : https://github.com/nidem/kerberoast
Si vous rencontrez cette erreur depuis Linux : Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)
c'est à cause de l'heure locale, vous devez synchroniser l'hôte avec le contrôleur de domaine. Voici quelques options :
ntpdate <IP du DC>
- Obsolète depuis Ubuntu 16.04
rdate -n <IP du DC>
Le Kerberoasting peut être effectué avec un haut degré de discrétion s'il est exploitable. Pour détecter cette activité, il convient de prêter attention à l'ID d'événement de sécurité 4769, qui indique qu'un ticket Kerberos a été demandé. Cependant, en raison de la fréquence élevée de cet événement, des filtres spécifiques doivent être appliqués pour isoler les activités suspectes :
Le nom du service ne doit pas être krbtgt, car il s'agit d'une demande normale.
Les noms de service se terminant par $ doivent être exclus pour éviter d'inclure les comptes machine utilisés pour les services.
Les demandes provenant des machines doivent être filtrées en excluant les noms de compte formatés comme machine@domain.
Seules les demandes de ticket réussies doivent être prises en compte, identifiées par un code d'erreur de '0x0'.
Surtout, le type de chiffrement du ticket doit être 0x17, ce qui est souvent utilisé dans les attaques de Kerberoasting.
Pour atténuer le risque de Kerberoasting :
Assurez-vous que les mots de passe des comptes de service sont difficiles à deviner, en recommandant une longueur de plus de 25 caractères.
Utilisez des Comptes de Service Gérés, qui offrent des avantages tels que les changements automatiques de mot de passe et la gestion déléguée du Service Principal Name (SPN), renforçant la sécurité contre de telles attaques.
En mettant en œuvre ces mesures, les organisations peuvent réduire significativement le risque associé au Kerberoasting.
En septembre 2022, une nouvelle méthode d'exploitation d'un système a été révélée par un chercheur nommé Charlie Clark, partagée via sa plateforme exploit.ph. Cette méthode permet l'acquisition de Tickets de Service (ST) via une requête KRB_AS_REQ, qui ne nécessite pas le contrôle d'un compte Active Directory. Fondamentalement, si un principal est configuré de manière à ne pas nécessiter de pré-authentification - un scénario similaire à ce qui est connu dans le domaine de la cybersécurité comme une attaque AS-REP Roasting - cette caractéristique peut être exploitée pour manipuler le processus de requête. Plus précisément, en modifiant l'attribut sname dans le corps de la requête, le système est trompé pour émettre un ST au lieu du Ticket Granting Ticket (TGT) chiffré standard.
La technique est entièrement expliquée dans cet article : article de blog Semperis.
Vous devez fournir une liste d'utilisateurs car nous n'avons pas de compte valide pour interroger le LDAP en utilisant cette technique.
Utilisez Trickest pour construire et automatiser facilement des workflows alimentés par les outils communautaires les plus avancés au monde. Accédez dès aujourd'hui :