Sean Deuby | Technologue principal, Amériques

Dans le roman de Roald Dahl intitulé « Charlie et la chocolaterie », publié en 1964, l’énigmatique Willy Wonka cache cinq « billets d’or » parmi les tablettes de chocolat de son usine. Ceux qui trouvent ces billets ont l’honneur de visiter les coulisses de son entreprise. Dans le monde numérique, les « billets d’or » donnent également accès à quelque chose de bien plus précieux qu’une usine mystérieuse : l’environnement informatique de votre organisation.

Lecture associée

Votre billet, s'il vous plaît

Pour commencer, lorsqu'un client PC s'authentifie auprès d'un domaine, le Centre de distribution de clés Kerberos (KDC) du contrôleur de domaine (DC) qui s'authentifie fournit au client un Ticket Granting Ticket (TGT). Ce TGT permet au client de demander au KDC un ticket de service pour accéder à un service (par exemple, un serveur de fichiers). Le KDC envoie le ticket de service au client, chiffré avec la valeur hachée du mot de passe du compte de service. Le client transmet le ticket au service, qui le déchiffre et accorde au client l'accès au service.

Le compte krbtgt fonctionne comme un compte de service pour le service KDC. En contrôlant le compte krbtgt, les attaquants peuvent créer des TGT frauduleux pour accéder à toutes les ressources qu'ils souhaitent. Ce scénario est l'essence même d'une attaque de type "Golden Ticket". Si elles sont menées à bien, ces attaques permettent aux acteurs de la menace de se faire passer pour n'importe quel utilisateur. L'attaque est difficile à détecter et peut être utilisée par les acteurs de la menace pour rester sous le radar pendant de longues périodes.

Pour lancer l'attaque, il faut que l'attaquant ait déjà compromis un compte avec des privilèges élevés permettant d'accéder au contrôleur de domaine. Chaque contrôleur de domaine de l'environnement AD exécute un KDC. Une fois qu'il a accès au contrôleur de domaine, l'attaquant peut utiliser un outil comme Mimikatz pour voler le hachage NTLM du compte krbtgt.

Avec le hachage du mot de passe krbtgt en main, l'acteur de la menace n'a besoin que des éléments suivants pour créer un TGT :

  • Nom de domaine entièrement qualifié (FQDN) du domaine
  • L'identifiant de sécurité (SID) du domaine
  • Le nom d'utilisateur du compte ciblé.

Bien que les TGT soient généralement valables pendant 10 heures par défaut, un pirate peut les rendre valables pour une durée indéterminée pouvant aller jusqu'à 10 ans. C'est pourquoi il est essentiel de disposer d'une stratégie permettant de détecter, d'atténuer et de corriger ces attaques.

Utiliser des mesures d'hygiène de base pour se prémunir contre les attaques de type "Golden Ticket".

La prévention des attaques au moyen du ticket d'or commence par une hygiène de sécurité de base. Les adversaires ne peuvent pas lancer l'attaque sans compromettre d'abord l'environnement, de sorte que les organisations peuvent commencer par mettre en œuvre une défense en couches pour réduire la surface d'attaque et élever la barrière à l'entrée.

  1. Prévention du vol d’identifiants : le premier niveau consiste à prévenir le vol d’identifiants. Il est essentiel de bloquer les logiciels malveillants visant à voler des identifiants ainsi que les attaques par hameçonnage ; cela doit passer à la fois par une sensibilisation des employés à la sécurité et par la mise en place de mesures de sécurité au niveau du réseau et des terminaux. Éliminer les mots de passe courants de votre annuaire à l’aide d’un filtre de mots de passe personnalisé, tel qu’Azure AD Password Protection, réduira les chances de réussite d’une attaque par « password spraying ». Toute activité Mimikatz qui n’est pas menée par l’équipe « Red Team » de votre organisation ou par un testeur d’intrusion agréé est un signe évident de la présence d’attaquants.
  2. Assurer la sécurité d’AD : la couche suivante consiste à renforcer les remparts autour d’AD lui-même. Étant donné qu’une attaque de type « Golden Ticket » nécessite un accès privilégié à un contrôleur de domaine, la mise en œuvre du principe du moindre privilège est cruciale pour assurer la sécurité d’AD. Les équipes chargées d’AD doivent limiter au strict minimum le nombre de comptes utilisateurs et de services ayant accès aux contrôleurs de domaine. Les comptes disposant de droits d’administrateur de domaine ou d’autorisations de « réplication des modifications d’annuaire » peuvent être utilisés pour lancer des attaques DCSync, qui permettent de voler le hachage krbtgt.
  3. Détection des tickets falsifiés : tout comme pour les faux billets de dollar, les tickets falsifiés peuvent être détectés en repérant les comportements inhabituels des utilisateurs, puis en examinant le ticket à la recherche d'indices révélateurs. Par exemple, des erreurs telles que des incohérences entre le nom d'utilisateur et l'identifiant relatif (RID) ou des modifications apportées à la durée de validité du ticket peuvent être des indicateurs d'une activité malveillante. De plus, il est également important de surveiller l'activité inhabituelle au sein de l'Active Directory, comme les modifications apportées à l'appartenance à un groupe.
  4. Prudence lors de la modification du mot de passe krbtgt : l’un des conseils les plus courants pour lutter contre les attaques de type « Golden Ticket » consiste à modifier le mot de passe krbtgt tous les 180 jours. Cette opération ne doit pas être effectuée à la légère, car elle entraînera temporairement des échecs de validation du certificat d’attributs privilégiés (PAC). La meilleure méthode pour mettre à jour le mot de passe consiste à étudier et à exécuter le script de réinitialisation du mot de passe du compte krbtgt (fourni par Jorge de Almeida Pinto, MVP Microsoft ; il s’agit d’un script de réinitialisation mis à jour en continu), qui permet également aux organisations de vérifier que tous les contrôleurs de domaine (DC) accessibles en écriture au sein du domaine ont bien répliqué les clés dérivées du nouveau hachage du mot de passe. Changer le mot de passe krbtgt tous les 180 jours est une bonne pratique. Cependant, les équipes chargées d’Active Directory devraient également envisager de le modifier chaque fois qu’un employé susceptible de créer un « Golden Ticket » quitte l’organisation. Cette mesure réduit le risque qu’un ancien collaborateur mécontent utilise un ticket falsifié à des fins malveillantes. Il est important de garder à l’esprit que si une attaque par « Golden Ticket » est détectée, le mot de passe devra être réinitialisé deux fois pour atténuer l’attaque. Pourquoi ? Parce que le compte krbtgt mémorise les deux mots de passe précédents ; il est donc nécessaire de réinitialiser le mot de passe deux fois pour empêcher un autre contrôleur de domaine (DC) d’utiliser un ancien mot de passe pour se répliquer avec le DC affecté. Attention : changer le mot de passe deux fois avant que celui-ci ne se réplique dans tout l’environnement peut perturber l’accès au réseau ; prenez donc votre temps et assurez-vous que la première mise à jour s’est bien propagée à tous les DC.

Construire une défense solide contre les attaques du Golden Ticket

Il est difficile d'atténuer les effets d'une attaque de type "Golden Ticket" et d'y répondre. Cependant, comme ces attaques peuvent ouvrir la voie à des vols de données à grande échelle et à des ransomwares, il est vital de prendre en compte les attaques de type "Golden Ticket" dans vos scénarios de reprise après sinistre et de réponse aux incidents.

Veillez à déterminer l’étendue de l’activité des attaquants avant de reconstruire les systèmes affectés et de réinitialiser les comptes, ce qui permettrait à l’attaquant de savoir que vous avez détecté son activité. Assurez-vous de disposer d’une sauvegarde hors ligne et, dans l’idéal, d’une forêt restaurée et isolée, afin que, si l’attaquant déclenche la charge utile du rançongiciel, vous disposiez toujours d’une forêt AD viable. Ce n’est qu’en comprenant pleinement l’étendue des dégâts causés que les organisations peuvent être certaines d’avoir définitivement fermé la porte aux attaquants et de les avoir empêchés de conserver un point d’ancrage.