Ping Castle - Golden Ticket

Photo by Andy Li on Unsplash

Ping Castle - Golden Ticket

L'article précédent couvrait la fonctionnalité Healthcheck de Ping Castle et les résultats qu'elle retournait.

Cet article va se concentrer autour de l'aspect Golden Ticket et Kerberos

Fonctionnement

Cette faille de sécurité utilise le compte de service KRBTGT qui est nécessaire dans la distribution de ticket dans le protocole Kerberos afin d'octroyer des droits à des services après authentification d'un utilisateur.

Avant l'octroi d'un ticket (TGT) au client par le serveur d'authentification (AS), le centre de distribution de clés (KDC) va le chiffrer en utilisant le mot de passe haché du compte KRBTGT. Ce hash est partagé entre tous les contrôleurs d'un même domaine afin de déchiffrer les "tickets" reçu des clients

image.png

L'attaque Golden Ticket consiste à générer sans le KDC un TGT, c'est-à-dire s'autoriser l'accès à des services sans passer par le serveur d'authentification. L'attaquant à besoin pour cela de 4 éléments (les 3 premiers points sont publiquement connus dans le domaine):

  • FQDN (Fully Qualified Domain Name) du domaine
  • SID (Security Identifier) du domaine
  • Nom d'utilisateur du compte dont on veut usurper l'identité
  • Hash du mot de passe KRBTGT

Pour avoir un ticket légitime, il faut encore récupérer ce hash pour pouvoir chiffrer le TGT et l'utiliser pour accéder aux différents services.

Récupération du hash

Plusieurs méthodes s'offrent aux attaquants pour accéder à ce mot de passe afin d'obtenir ce précieux hash

  • Voler le fichier NTDS.DIT
  • Compromettre un poste de travail
  • Utiliser mimkatz
  • Mettre en place une attaque DCSync

Le développement des ces points est laissé au soin du lecteur.

Comment se protéger

Comme proposé par Ping Castle, une des premières mesures à mettre en place est la rotation régulière du mot de passe du compte KRBTGT au minimum 2x par année et au mieux 40 jours (recommendation ANSSI). Un script est mis à disposition pour activer cette rotation

Les autres mesures possibles sont:

  • Minimisez le nombre de comptes qui peuvent accéder au hachage du mot de passe
  • Réduire au minimum les possibilités pour les attaquants de voler des informations d'identification privilégiées
  • Surveiller l'infrastructure IT afin de détecter des TGT avec des longues durées de vies ou des changements de privilèges par exemple (si le privilège debug est activé)

Une faille critique?

L'anomalie de sécurité Golden ticket détectée permet si elle est exploitée d'accéder à des services à la place d'une autre personne mais il faut pour cela avoir les 4 éléments dont le hash du compte de service.

Ping Castle marque ce risque comme haut mais pour limiter l'exploitation de cette faille il suffit de mettre en place la rotation du mot de passe du compte de service KRBTGT qui normalement ne devrait pas impacter le fonctionnement des accès car ce compte n'est utilisé que pour octroyer les tickets.

A propos de l'auteur

1615489106864-modified.png

Sven Rouvinez Network and Security Engineer @ CISEL Informatique SA

Références