Daniel Petri

Active Directory (AD) reste un pilier essentiel des environnements informatiques des entreprises, car il centralise l'authentification et l'autorisation des utilisateurs et des ordinateurs. Cependant, l'importance d'Active Directory, associée à son ancienneté et à la dette technique qu'il accumule souvent, en fait une cible privilégiée pour les cyberattaques. Une technique d'attaque courante, appelée Kerberoasting, exploite le protocole d'authentification Kerberos et les noms de principaux services (SPN). Voici un examen plus approfondi du fonctionnement du Kerberoasting et de la manière de s'en défendre.

Qu'est-ce que le Kerberoasting ?

Le "Kerberoasting" est une méthode d'attaque sophistiquée. Les attaquants utilisent le Kerberoasting pour extraire les informations d'identification des comptes de service. Armés de ces informations d'identification, les attaquants peuvent acquérir une capacité alarmante à compromettre largement votre réseau.

La base de Kerberoasting est la capacité de tout utilisateur authentifié au sein d'un domaine AD à demander des tickets de service pour n'importe quel service. Ces tickets sont cryptés à l'aide du hachage du compte de service lié au SPN demandé. Le hachage - RC4 ou DES - n'est pas considéré comme solide par les normes modernes et peut donc être craqué assez facilement.

Qu'est-ce que Kerberos ?

Kerberos est un protocole d'authentification réseau créé pour offrir une authentification sécurisée pour les applications client-serveur, en utilisant la cryptographie à clé secrète. Ce protocole est le protocole d'authentification par défaut dans Active Directory et joue un rôle crucial en garantissant que les utilisateurs et les services peuvent se faire confiance dans un environnement réseau.

Kerberos utilise des tickets : des entités cryptographiques qui authentifient les utilisateurs ou les services sans envoyer de façon répétée des mots de passe sur le réseau. Ces tickets constituent l'épine dorsale du processus d'authentification Kerberos.

Il existe plusieurs types de tickets Kerberos :

  • Ticket d'attribution de ticket (TGT) : Délivré après la première connexion, ce ticket autorise l'utilisateur à demander des tickets de service.
  • Ticket de service, également connu sous le nom de Ticket Granting Service (TGS) : Ce ticket permet aux utilisateurs d'accéder à des services spécifiques.
  • Le ticket de session : Après la présentation d'un ticket de service et sa vérification par le service, un ticket de session est utilisé pour authentifier le client pendant la durée de la session.

Ces tickets contiennent des informations importantes sur le compte de l'utilisateur ou du service, l'ordinateur sur lequel la demande a été faite, etc. Les informations contenues dans les tickets sont cryptées et ne peuvent être consultées que par la partie qui a demandé le ticket ou accordé l'accès.

Qu'est-ce qu'un nom de principal de service (SPN) ?

Les SPN sont utilisés pour identifier de manière unique un service qui s'est enregistré dans Active Directory. Chaque SPN est associé à un compte de service spécifique dans Active Directory et décrit le type de service. Quelques exemples de types de services :

  • Services web : Un serveur web comme IIS peut utiliser un SPN tel que HTTP/webserver.domain.com pour s'authentifier auprès d'AD.
  • Services SQL : Les instances de Microsoft SQL Server enregistrent un SPN tel que MSSQLSvc/servername.domain.com:1433 pour activer l'authentification Kerberos.
  • Services de fichiers : Un serveur de fichiers peut avoir un SPN tel que HOST/fileserver.domain.com.
  • Applications personnalisées : Les entreprises développent souvent des applications internes qui utilisent AD et Kerberos pour l'authentification. Ces applications peuvent également enregistrer leurs SPN.

Lorsqu'un utilisateur ou un service souhaite accéder à un service enregistré dans AD, il interroge le SPN correspondant pour demander le ticket de service nécessaire, que le service cible valide ensuite. Les comptes de service dans Active Directory sont essentiels car ils peuvent exécuter des applications ou des services critiques et disposent souvent de privilèges élevés.

Comment fonctionne le Kerberoasting ?

Dans une attaque typique de Kerberoasting :

  • L'attaquant énumère les SPN et les comptes de service associés. Les attaquants peuvent utiliser des commandes PowerShell pour trouver facilement tous les SPN de types spécifiques. L'un des types de SPN les plus utiles que les attaquants recherchent est SQL, car il prend en charge le serveur SQL (une cible populaire pour l'exfiltration de données).
  • Après avoir identifié les SPN disponibles et leurs comptes de service associés, l'attaquant demande le ticket Kerberos pour les SPN cibles et exfiltre le ticket pour le décrypter.
  • L'attaquant travaille ensuite hors ligne pour craquer et décrypter le hachage du mot de passe du ticket, en utilisant des outils et des techniques de force brute hors ligne.
  • Après avoir déchiffré le mot de passe du ticket, l'attaquant accède au compte (souvent privilégié) associé au ticket de service.
  • L'attaquant utilise le compte compromis pour procéder à une escalade des privilèges et obtenir ainsi un accès non autorisé à des informations sensibles, pour effectuer un mouvement latéral ou pour mener d'autres activités malveillantes.
  • La compromission d'un compte permet souvent au pirate d'accéder à d'autres comptes d'utilisateurs sur le serveur auquel il a accédé à l'origine. Le pirate utilise ensuite la même technique pour accéder à d'autres comptes.

Quels sont les dommages causés par le Kerberoasting ?

Les risques posés par le Kerberoasting sont multiples. À la base, l'attaque conduit à un vol d'informations d'identification, mettant les informations d'identification des comptes de service sensibles entre les mains d'adversaires.

Ce qui amplifie la menace, ce sont les autorisations que les comptes de service peuvent avoir. Un pirate qui déchiffre le mot de passe d'un compte de service à privilèges élevés peut obtenir un accès étendu, ouvrant la porte à des privilèges élevés. Armés de ces informations d'identification, les attaquants peuvent se déplacer latéralement au sein d'un réseau, accédant ainsi à des données et des ressources précieuses.

Pourquoi le Kerberoasting est-il une attaque si populaire ?

Le kerberoasting reste un vecteur d'attaque courant, principalement parce qu'il peut être difficile à identifier et à contrer. Cette attaque est également relativement facile à exécuter à l'aide d'outils bien connus.

Kerberos est conçu à la fois pour la sécurité et l'efficacité. Toutefois, sa force repose sur la confidentialité des clés de chiffrement qui sécurisent les tickets pendant la phase d'authentification. Si des pirates parviennent à acquérir ces clés de chiffrement (mots de passe), ils peuvent créer leurs propres tickets, ce qui leur permet d'accéder à des informations privilégiées et à des actifs du réseau.

Une exploitation réussie du Kerberoasting sur un réseau d'entreprise dépendant de Kerberos peut permettre à l'attaquant d'accéder à un large éventail de données et d'outils confidentiels. Cela explique pourquoi les attaquants sont prêts à consacrer beaucoup d'efforts aux tentatives de Kerberoasting.

Les attaquants peuvent également orchestrer le Kerberoasting à distance, en évitant tout contact direct avec le serveur d'authentification ou les actifs ciblés. Cette approche furtive rend le Kerberoasting difficile à repérer et à contrecarrer par les équipes de cybersécurité à ses débuts.

Comment se défendre contre le Kerberoasting ?

L'atténuation des risques posés par le Kerberoasting passe par plusieurs étapes :

  1. Renforcer les mots de passe des comptes de service. Les mots de passe doivent être uniques, complexes et comporter plus de 25 caractères. Ils doivent pouvoir résister aux attaques par force brute, ce qui rend plus difficile pour les pirates de déchiffrer les mots de passe associés aux tickets de service qu'ils obtiennent. Modifiez les mots de passe au moins une fois par an afin de tenir les attaquants à distance.
  2. Si le service concerné le permet, utilisez des comptes de service gérés par groupe (gMSA) qui assurent la gestion des mots de passe afin d'éliminer la nécessité de gérer manuellement les mots de passe des comptes de service et d'alléger la charge administrative.
  3. Surveillez Active Directory pour détecter les anomalies telles que les demandes de tickets de service anormales ou fréquentes. Ces événements peuvent indiquer qu'une tentative de construction d'un serveur Kerberoast est en cours.
  4. Adoptez le principe du moindre privilège pour les comptes de service. Pour garantir que les applications fonctionnent comme prévu, ces comptes sont souvent surprivilégiés lors de leur création. En limitant les droits et les autorisations, vous pouvez minimiser les dommages potentiels en cas de compromission d'un compte.
  5. Envisagez de désactiver RC4 en tant que type de cryptage. Cela peut prendre du temps car vous devez vous assurer que les applications et les systèmes de niveau inférieur peuvent toujours fonctionner. Toutefois, cette étape en vaut la peine pour garantir que les mots de passe n'utilisent plus ce protocole pour être hachés.

Une autre défense émergente contre le Kerberoasting est le déploiement et la surveillance de jetons de miel. Essentiellement, ces jetons sont des comptes leurres équipés de SPN, qui servent d'appât aux attaquants. Comme ces comptes sont faux et n'ont pas d'objectif légitime, toute activité autour d'eux est un signe clair d'intention malveillante. Avec une surveillance adéquate, ils peuvent alerter votre équipe de sécurité d'une attaque potentielle de Kerberoasting, ce qui vous permet de vous défendre contre elle et de minimiser les dommages.

Comment Semperis peut vous aider à lutter contre la fonte des neiges

L'évolution du paysage des cybermenaces exige des outils capables de suivre le rythme. Les solutions de détection des menaces avancées telles que Semperis Directory Services Protector ( DSP) peuvent surveiller activement , détecter et émettre des alertes en cas de schémas cohérents avec le Kerberoasting et d'autres attaques basées sur Active Directory. L'utilisation de tels outils amplifie votre défense, rendant votre environnement AD plus résistant aux violations.

Le kerberoasting est une technique d'attaque puissante. Cependant, il est possible de la contrer efficacement avec les connaissances et les outils adéquats. En comprenant ses mécanismes, en restant vigilant et en déployant des mesures de sécurité avancées, les entreprises peuvent protéger leurs environnements Active Directory et le trésor de données dont ils détiennent les clés.