Compromission complète du domaine avec une attaque Golden Ticket
Aug 31, 2022
Cette série d’articles de blog couvre les techniques que les attaquants peuvent utiliser pour repérer et compromettre des comptes de service Active Directory. Tout d’abord, nous avons détaillé comment ils peuvent découvrir des comptes de service via une reconnaissance LDAP ; ensuite, nous avons expliqué comment ils peuvent extraire les mots de passe de comptes avec le Kerberoasting ; et enfin, nous avons montré comment élever les droits d’un compte à l’aide de Silver Tickets pour permettre des accès et activités supplémentaires.
Contenu connexe sélectionné :
Dans ce dernier article, nous explorons le compte de service le plus puissant dans tout environnement Active Directory : le compte KRBTGT, qui est utilisé pour émettre les tickets Kerberos nécessaires pour accéder aux systèmes informatiques et aux données. En obtenant le hash du mot de passe pour ce compte depuis le Key Distribution Center (KDC), un attaquant est capable de compromettre chaque compte dans Active Directory, leur donnant un accès illimité et pratiquement indétectable à tout système connecté au réseau AD.
Qu'est-ce que le compte KRBTGT dans AD ?
Les contrôleurs de domaine Active Directory sont responsables de la gestion des demandes de tickets Kerberos, qui sont utilisés pour authentifier les utilisateurs et leur accorder l'accès aux ordinateurs et applications. Le mot de passe du compte KRBTGT est utilisé pour chiffrer et déchiffrer les tickets Kerberos. Ce mot de passe change rarement et le nom du compte est le même dans chaque domaine, c'est donc une cible courante pour les attaquants.
Création de Golden Tickets
En utilisant Mimikatz, il est possible d'exploiter le mot de passe du compte KRBTGT pour créer des faux tickets d'autorisation Kerberos (TGTs) qui peuvent être utilisés pour demander des tickets de serveur d'autorisation (TGS) pour n'importe quel service sur n'importe quel ordinateur dans le domaine.
Pour créer des Golden Tickets, un adversaire a besoin des informations suivantes :
- Mot de passe hash du compte KRBTGT
- Le nom et le SID du domaine auquel appartient le compte KRBTGT
Examinons comment rassembler ces informations et créer des Golden Tickets pour Kerberos, étape par étape.
Étape 1. Obtenez le hash du mot de passe KRBTGT ainsi que le nom de domaine et le SID.
Obtenir le hash du mot de passe KRBTGT est la partie la plus difficile de l'attaque car cela nécessite d'obtenir un accès privilégié à un contrôleur de domaine. Une fois qu'un adversaire est capable de se connecter de manière interactive ou à distance à un DC, il peut utiliser Mimikatz pour extraire les informations requises en utilisant les commandes suivantes :
privilege::debug
lsadump::lsa /inject /name:krbtgt
Cela affichera le hachage du mot de passe, ainsi que le nom de domaine et le SID :
Étape 2. Créez des Golden Tickets.
Maintenant, le hacker peut créer des Golden Tickets à volonté. Les paramètres utiles de Mimikatz pour créer des Golden Tickets incluent :
- Utilisateur— Le nom du compte utilisateur pour lequel le ticket sera créé. Notez que cela peut être un nom de compte valide, mais ce n'est pas obligatoire.
- ID— L'identifiant RID du compte que l'attaquant va usurper. Cela pourrait être un identifiant de compte réel, tel que l'identifiant administrateur par défaut de 500, ou un faux identifiant.
- Groupes— Une liste de groupes auxquels le compte dans le ticket appartiendra. Domain Admins est inclus par défaut, donc le ticket sera créé avec des privilèges maximum.
- SIDs— Ceci insérera un SID dans l'attribut SIDHistory du compte dans le ticket. Cela est utile pour authentifier à travers les domaines.
L'exemple suivant crée un ticket pour un faux utilisateur mais fournit l'ID administrateur par défaut. Nous verrons dans un instant comment ces valeurs interviennent lorsque ce ticket est utilisé. Le /ptt (Pass the Ticket) déclenche l'injection du Golden Ticket en cours de création dans la session actuelle.
Étape 3. Transmettez le ticket.
Il est maintenant temps d'utiliser le Golden Ticket qui a été chargé dans la session actuelle. Lançons une invite de commande dans le contexte de ce ticket en utilisant la commande misc::cmd .
Vous pouvez voir dans l'invite de commande que l'attaquant opère en tant qu'utilisateur de domaine ordinaire sans appartenance à un groupe de domaine, ce qui signifie qu'il ne devrait avoir aucun droit sur d'autres ordinateurs du domaine.
Cependant, étant donné que le ticket Kerberos est en mémoire, il est possible de se connecter à un contrôleur de domaine et d'accéder à tous les fichiers qui y sont stockés.
En utilisant PSExec, l'attaquant peut ouvrir une session sur le contrôleur de domaine cible ; selon cette session, ils sont maintenant connectés en tant qu'Administrateur.
Le système pense que l'attaquant est l'Administrateur à cause du RID de 500 qu'ils ont utilisé pour générer le Golden Ticket. Les journaux d'événements sur le contrôleur de domaine montrent également que le système croit que l'attaquant est l'Administrateur, mais les identifiants sont ceux qui ont été falsifiés pendant l'attaque du Golden Ticket. Cela peut être particulièrement utile pour les attaquants cherchant à éviter la détection ou à créer des journaux de sécurité trompeurs.
Protection contre les attaques de Golden Ticket
Les attaques par Golden Ticket sur Active Directory sont très difficiles à détecter car les Golden Tickets semblent être des TGT parfaitement valides. Cependant, dans la plupart des cas, ils sont créés avec des durées de vie de 10 ans ou plus, ce qui dépasse largement les valeurs par défaut dans Active Directory pour la durée des tickets. Bien que les horodatages des TGT ne soient pas enregistrés dans les journaux d'authentification Kerberos, les solutions de sécurité Active Directory appropriées sont capables de les surveiller. Si vous constatez que des Golden Tickets sont utilisés au sein de votre organisation, vous devez réinitialiser le compte KRBTGT deux fois ; cette opération peut avoir des conséquences importantes, alors procédez avec prudence.
La protection la plus importante contre les Golden Tickets est de restreindre les droits de connexion aux contrôleurs de domaine. Il devrait y avoir le nombre minimum absolu d'Admins du Domaine, ainsi que des membres d'autres groupes qui fournissent des droits de connexion aux DCs, tels que les opérateurs d'impression et de serveur. De plus, un protocole de connexion hiérarchisé devrait être utilisé pour empêcher les Admins du Domaine de se connecter aux serveurs et aux postes de travail où leurs hachages de mot de passe peuvent être extraits de la mémoire et utilisés pour accéder à un DC afin d'extraire le hachage du compte KRBTGT.
Partager sur
En savoir plus
À propos de l'auteur
Jeff Warren
Directeur des produits
Jeff Warren supervise le portefeuille de produits Netwrix, apportant plus d'une décennie d'expérience dans la gestion et le développement de produits axés sur la sécurité. Avant de rejoindre Netwrix, Jeff dirigeait l'organisation des produits chez Stealthbits Technologies, où il a utilisé son expérience en tant qu'ingénieur logiciel pour développer des solutions de sécurité innovantes à l'échelle de l'entreprise. Avec une approche pratique et un don pour résoudre des défis de sécurité complexes, Jeff se concentre sur la création de solutions pratiques qui fonctionnent. Il est titulaire d'un BS en Systèmes d'Information de l'Université du Delaware.
En savoir plus sur ce sujet
Exemple d'analyse des risques : Comment évaluer les risques
Le Triangle CIA et son application dans le monde réel
Créez des utilisateurs AD en masse et envoyez leurs identifiants par e-mail à l'aide de PowerShell
Comment ajouter et supprimer des groupes AD et des objets dans des groupes avec PowerShell
Attributs Active Directory : Dernière connexion