« Golden Ticket » – un nom particulièrement pittoresque pour une attaque informatique dangereuse. Son nom est inspiré de Charlie et la Chocolaterie, une œuvre de Roald Dahl, où seul un « Golden Ticket ou ticket d’or » ouvre les portes de l’usine de bonbons bien gardée de Willy Wonka. De la même manière, l’attaque Golden Ticket permet aux hackers d’accéder à l’ensemble de l’Active Directory d’une organisation.

Cependant, alors que Charlie et les autres enfants munis de « Golden Ticket » étaient (plus ou moins) sous étroite surveillance pendant leur visite, l’attaque Golden Ticket donne au pirate un accès presque illimité à tout le contenu du domaine ciblé : les ordinateurs, fichiers, dossiers et contrôleurs de domaine (DC). Il peut usurper n’importe quelle identité et faire à peu près ce qu’il veut.

Mais qu’est-ce qu’une attaque Golden Ticket et comment fonctionne-t-elle ?

1/ La porte d’entrée : l’authentification Kerberos et son talon d’Achille

Les attaques Golden Ticket exploitent une vulnérabilité dans Kerberos – le protocole d’authentification que Microsoft utilise par défaut depuis Windows 2000.

Avec Kerberos, les utilisateurs ne s’authentifient jamais directement auprès des différents services qu’ils doivent utiliser (par exemple les serveurs de fichiers). Au lieu de cela, le Kerberos Key Distribution Center (KDC) fonctionne comme un service d’authentification tiers de confiance. Chaque contrôleur de domaine dans un domaine Active Directory exécute un service KDC.

Concrètement, lorsqu’un utilisateur s’authentifie, le KDC émet un ticket appelé « Ticket Granting Ticket » (TGT), qui comprend une clé de session unique et un horodatage qui spécifie la durée de validité de cette session (normalement 8 ou 10 heures). Lorsque l’utilisateur a besoin d’accéder à des ressources, il n’a pas besoin de se réauthentifier, car la machine cliente envoie simplement le TGT pour prouver que l’utilisateur a déjà été récemment authentifié.

De plus, avant d’envoyer un ticket TGT, le KDC le chiffre en utilisant le hachage du mot de passe d’un compte spécial : le KRBTGT. Ce hachage de mot de passe est partagé entre tous les DC du domaine Active Directory. Lorsque les utilisateurs finaux demandent l’accès aux différentes ressources de l’AD, les DC peuvent donc lire les TGT qu’ils reçoivent.

Mais qu’est-ce que c’est un hachage de mot de passe ? Le hachage est un algorithme non-réversible qui transforme mathématiquement un mot de passe donné en une autre chaîne de caractères. La chaine résultante est toujours la même. Deux ordinateurs peuvent chacun hacher un mot de passe et comparer les résultats : s’ils correspondent, les ordinateurs en concluent qu’ils sont partis du même mot de passe sans avoir besoin de partager ce dernier directement. Il est pratiquement impossible de retransformer un mot de passe haché en sa forme originale. Toutefois, les pirates informatiques peuvent utiliser la force bruite, c’est-à-dire générer les potentiels hachages de millions de mots de passe dans l’espoir d’en trouver un qui corresponde.

Pour résumer, Kerberos – le protocole d’authentification par défaut dans Active Directory – repose sur l’hypothèse que tout TGT crypté avec le hachage de mot de passe KRBTGT est légitime.

2/ Comment les pirates contournent-ils le processus ?

Dans une attaque Golden Ticket, les pirates informatiques contournent le KDC et créent eux-mêmes des TGT pour avoir accès à diverses ressources. Pour créer un TGT, ils ont besoin de quatre informations clés :

– Le FQDN (Fully Qualified Domain Name) du domaine
– Le SID (Security Identifier) du domaine
– Le nom d’utilisateur du compte dont ils veulent usurper l’identité
– Le hachage du mot de passe KRBTGT

Les trois premiers sont relativement faciles à obtenir en compromettant n’importe quel compte utilisateur du domaine. Pour ce faire, les pirates disposent d’une grande variété de tactiques ; les plus populaires sont le phishing, les logiciels espions, la force brute et le bourrage d’identifiant.

Le quatrième élément est également essentiel : pour qu’un ticket paraisse légitime aux contrôleurs de domaine, le pirate doit le chiffrer en utilisant le hachage du mot de passe KRBTGT. Il est plus difficile à obtenir, donc les techniques pour y parvenir sont plus sophistiquées. Elles comprennent :

> Le vol du fichier NTDS.DIT – une base de données qui stocke les données Active Directory, y compris les hachages de mots de passe de tous les utilisateurs du domaine. Une copie du fichier est stockée sur chaque contrôleur de domaine, et une personne qui obtient ce fichier peut prendre tout le temps dont elle a besoin pour craquer ces mots de passe hors ligne. Elle obtiendra alors un accès à des comptes disposants de multiples privilèges.

> La compromission d’un poste de travail – De nombreuses attaques commencent par la prise de contrôle d’un poste de travail utilisateur ou d’un terminal quelconque. Si un compte à privilèges s’est un jour connecté sur ce poste, des traces de son authentification passée peuvent être réutilisées par le pirate.

> L’utilisation de Mimikatz – Mimikatz permet de recueillir facilement des données d’identification sur des systèmes Windows. C’est un des outils préférés des attaquants. Il est disponible librement sur le Web comme la grande majorité des outils de piratage les plus utilisés. Ceux-ci étant, à la base, utilisés pour des recherches de vulnérabilités ou des tests de pénétrations. Leur usage est détourné à des fins malveillantes par les pirates.

> L’exécution d’une attaque DCSync – Les annuaires Active Directory sont hébergés sur plusieurs contrôleurs de domaine, qui doivent rester synchronisés en se communiquant les modifications que chacun d’entre eux à gérées telles que les mises à jour des informations d’identification des utilisateurs par exemple. En outre, certaines applications, dont Azure Active Directory Connect, ont besoin d’autorisations de réplication. Dans une attaque DCSync, un pirate qui a obtenu l’accès à un compte privilégié avec des droits de réplication de domaine subvertit cette fonctionnalité AD en prétendant être un DC requêtant des hachages de mots de passe à un DC légitime. DCSync est une fonctionnalité de l’outil Mimikatz.

Quelle que soit la façon dont il est obtenu, le hachage de mot de passe KRBTGT est comme le ticket d’or de Willy Wonka. Avec celui-ci en main, un pirate peut créer un ticket Kerberos pour imiter l’identité de l’utilisateur AD de son choix, y compris les administrateurs privilégiés. De plus, il peut choisir la durée de vie du TGT généré sans avoir à respecter la durée limitée paramétrée dans la stratégie de sécurité de l’AD. Cela lui donne un pouvoir presque illimité dans l’Active Directory.
Il n’existe aucun moyen d’empêcher complètement les attaques par Golden Ticket, mais il existe de nombreuses bonnes pratiques qui peuvent réduire considérablement les risques, telles que le changement régulier du mot de passe KRBTGT, la réduction au minimum du nombre de comptes qui peuvent accéder au hachage du mot de passe KRBTGT, la surveillance de l’environnement à la recherche d’activités suspectes, ou encore la mise en place d’appâts (« honeypots »). Les menaces sérieuses nécessitent une vigilance à la hauteur de leurs conséquences potentielles.
___________________

Par Regis Alix, Senior Principal Solutions Architect, Quest Software