Qu'est-ce que le Kerberoasting ?
Le Kerberoasting est une technique d'attaque post-exploitation qui tente de craquer le mot de passe d'un compte de service au sein d'Active Directory (AD).
Dans ce type d'attaque, un cyberadversaire se faisant passer pour l'utilisateur d'un compte avec un nom de principal de service (SPN, Service Principal Name) demande un ticket qui contient un mot de passe chiffré, ou Kerberos. (Le SPN est un attribut qui lie un service à un compte utilisateur dans AD.) Le cyberadversaire tente ensuite de craquer le hachage du mot de passe hors ligne, souvent en recourant à des techniques d'attaque par force brute.
Une fois les identifiants en texte brut du compte de service exposés, le cyberadversaire est en possession des identifiants utilisateur, qu'il peut alors utiliser pour usurper l'identité du propriétaire du compte. Il se donne ainsi toutes les apparences d'un utilisateur approuvé et légitime et peut accéder sans restriction à tout système, ressource ou réseau auquel le compte compromis a accès.
Les attaques de type Kerberoasting sont difficiles à détecter pour les raisons suivantes :
- De nombreux outils et solutions de cybersécurité traditionnels ne sont pas conçus pour surveiller ou analyser le comportement et les activités des utilisateurs approuvés.
- L'absence de logiciel malveillant dans ce type d'attaques laisse d'autres technologies de défense classiques (par exemple, les antivirus) impuissantes.
- Comme il s'agit d'une attaque « hors ligne », elle ne s'accompagne pas d'un trafic réseau anormal ni de la transmission de paquets de données. Par conséquent, ces activités ne sont pas journalisées et ne déclenchent pas d'alertes.
Pourquoi les attaques de type Kerberoasting sont-elles si répandues ?
Les cyberadversaires font tout pour accéder à des identifiants au moyen de techniques comme le Kerberoasting, car l'usurpation de l'identité d'un utilisateur légitime leur permet d'échapper à la détection tout en progressant dans leur attaque. Une fois présent dans le système grâce au vol d'identifiants, le cyberpirate a accès à n'importe quel système, service ou réseau pour lequel le compte possède des droits d'accès. Les cyberattaquants expérimentés peuvent également tenter d'élever les privilèges du compte et de se déplacer latéralement dans le réseau. Chemin faisant, ils collectent d'autres identifiants de comptes, volent des données et installent des portes dérobées en vue de revenir ultérieurement dans l'environnement.
Déroulement d'une attaque de type Kerberoasting
Les attaques de type Kerberoasting exploitent une combinaison de techniques de chiffrement faibles et de mots de passe faibles ou peu sécurisés. Ces attaques se déroulent généralement comme suit :
- Un cyberattaquant qui a déjà compromis le compte d'un utilisateur du domaine authentifie le compte et lance une nouvelle session.
- Le cyberattaquant, qui a toutes les apparences d'un utilisateur de domaine légitime, demande un ticket de service Kerberos auprès du service d'émission de tickets (TGS, Ticket Granting Service) à l'aide d'outils tels que Rubeus de GhostPack ou GetUserSPNs.py de SecureAuth Corporation.
- Le cyberadversaire reçoit un ticket du centre de distribution de clés (KDC, Key Distribution Center) Kerberos. Le ticket contient une version hachée du mot de passe du compte, ou Kerberos.
- Le cyberadversaire extrait le ticket TGS et le Kerberos de la mémoire pour les utiliser hors ligne.
- Il tente ensuite de craquer la valeur SPN ou le hachage de l'identifiant du service pour obtenir le mot de passe du compte de service en texte brut à l'aide de techniques d'attaque par force brute ou d'outils comme Hashcat ou JohnTheRipper.
- Une fois en possession du mot de passe du compte de service, le cyberadversaire se connecte au compte de service et se voit accorder l'accès à tous les services, réseaux ou systèmes associés au compte compromis.
- Il est alors en mesure de voler des données, d'élever ses privilèges ou d'installer des portes dérobées sur le réseau pour pouvoir y revenir ultérieurement.
Certains points méritent d'être soulignés :
- Les attaques de type Kerberoasting ne nécessitent pas de compte administrateur de domaine ni de compte à privilèges élevés. En fait, n'importe quel compte utilisateur peut demander des tickets de service au TGS et être utilisé dans ce type de cyberattaque.
- Pour mener à bien une attaque de type Kerberoasting, il suffit que le cyberadversaire ait accès à un compte utilisateur existant pour demander des tickets au KDC. Pour obtenir un tel accès, il peut avoir recours à un large éventail de méthodes, dont l'ingénierie sociale (phishing) et les attaques de malware ou encore l'achat d'identifiants utilisateur sur le Dark Web.
- Le nom de principal de service, ou SPN, peut être associé à un compte d'utilisateur de domaine ou basé sur l'hôte. Les SPN basés sur l'hôte ne sont pas vulnérables aux attaques de type Kerberoasting car le mot de passe est une clé longue et complexe, actualisée tous les 30 jours au maximum. Ces mots de passe complexes et aléatoires sont difficiles à craquer, même avec des outils de craquage avancés et des attaques par force brute. En revanche, les mots de passe SPN des comptes d'utilisateurs sont choisis par des humains et sont donc souvent exposés aux mêmes vulnérabilités que les autres mots de passe créés manuellement, c'est-à-dire qu'ils peuvent être faibles, courants, obsolètes, recyclés ou réutilisés. Des outils avancés peuvent souvent les craquer en quelques heures.
- Les attaques de type Kerberoasting exploitent également une faille de l'architecture, qui permet à tout utilisateur de domaine authentifié de soumettre une demande de ticket TGS pour n'importe quel service du réseau. En général, le contrôleur de domaine qui reçoit la demande ne vérifie pas si l'utilisateur est autorisé à accéder à ce service. C'est le service lui-même qui applique les droits d'accès, ce qui crée une faille susceptible d'être exploitée lors d'une attaque hors ligne.
Comment détecter et bloquer les attaques de type Kerberoasting ?
S'il est difficile de détecter les attaques de type Kerberoasting en cours à l'aide d'outils de cybersécurité traditionnels, les entreprises peuvent prendre plusieurs mesures pour renforcer leur niveau global de sécurité afin de prévenir de telles attaques et d'en limiter les dommages :
1. Développer et déployer une stratégie et un jeu d'outils complets de sécurité des identités
Pour améliorer leur niveau de sécurité, les entreprises doivent développer et déployer une stratégie et un jeu d'outils complets de sécurité des identités.
La sécurité des identités désigne une solution complète de protection de toutes les identités au sein de l'entreprise : identités du personnel et des machines, identités sur site et hybrides ou encore identités ordinaires et à privilèges. Elle vise à détecter et à prévenir les compromissions liées aux identités, en particulier lorsque les cyberadversaires réussissent à contourner les mesures de sécurité des endpoints. Dans le cadre de leur stratégie de sécurité des identités, les entreprises doivent :
Adopter une bonne hygiène en matière de mots de passe : l'un des meilleurs moyens pour réduire le risque d'attaque de type Kerberoasting est de demander aux utilisateurs de créer des mots de passe forts, surtout pour les comptes de services associés à des SPN. Les mots de passe doivent présenter les caractéristiques suivantes :
- Complexes : longs de 25 caractères ou plus
- Aléatoires : sans mots, expressions ni modèles identifiables
- Modifiés régulièrement : tous les 30 jours au maximum
Les mots de passe longs, complexes et aléatoires sont beaucoup plus difficiles à craquer. Les mots de passe régulièrement mis à jour limitent, quant à eux, le temps dont disposent les cyberadversaires pour craquer les hachages des mots de passe.
L'équipe informatique doit également utiliser un algorithme de chiffrement récent pour les tickets Kerberos, par exemple AES. Il sera plus difficile pour les cyberadversaires de craquer ces hachages que si ces derniers reposent sur des algorithmes de chiffrement RC4.
Identifier les comptes de service à privilèges : si n'importe quel compte peut être la cible d'une attaque de type Kerberoasting, les comptes administrateur restent les plus vulnérables car ils accordent aux cyberattaquants des niveaux d'accès plus élevés. Malheureusement, de nombreuses entreprises ne disposent pas toujours d'une visibilité totale sur tous les comptes à privilèges existants, surtout les comptes anciens et inutilisés.
Les entreprises utilisent parfois un outil tel que BloodHound pour identifier tous leurs comptes de service à privilèges au sein de leur environnement Active Directory. Les données recueillies par BloodHound sont conservées dans une base de données neo4j, qui peut être directement interrogée à l'aide d'une requête en langage Cipher. Les deux requêtes Cipher illustrées ci-dessous permettent d'identifier facilement les comptes de service dotés de privilèges administratifs. La première requête renvoie les comptes de service et les trie en fonction du nombre d'hôtes disposant de privilèges administratifs locaux explicites ou délégués via un groupe. La seconde requête renvoie les comptes de service appartenant à un groupe d'utilisateurs AD spécifique (dans ce cas-ci, le groupe Administrateurs de domaine).
Utiliser l'authentification multifacteur : l'authentification multifacteur (MFA) – un outil de sécurité exigeant que les utilisateurs fournissent plusieurs facteurs d'authentification pour accéder au système – est considérée comme une méthode très efficace pour empêcher tout accès non autorisé à un réseau ou système, même si le cyberattaquant est en possession d'identifiants utilisateur authentiques. En effet, l'utilisateur se voit uniquement accorder l'accès s'il confirme son identité au moyen d'une méthode secondaire, telle qu'un j00de sécurité à usage unique envoyé par SMS, un outil d'authentification et/ou une vérification biométrique.
Adopter une bonne hygiène IT : un outil d'hygiène IT offre une visibilité sur l'utilisation des identifiants dans l'entreprise afin de détecter des activités administratives potentiellement malveillantes. La fonction de surveillance des comptes permet aux équipes de sécurité de vérifier la présence de comptes créés par des cyberattaquants pour conserver leur accès. Elle veille également au changement régulier des mots de passe, ce qui limite l'utilisation d'identifiants volés dans le temps.
Intégrer une solution de sécurité des identités : idéalement, la solution de sécurité des identités doit également intégrer les outils et processus existants de gestion des identités et des accès (IAM) de l'entreprise, ainsi qu'une architecture Zero Trust.
Les outils de protection des identités Falcon offrent des audits complets des identités et une vue détaillée des comptes, protocoles et services auxquels chaque utilisateur accède. La plateforme Falcon propose plusieurs API pour les fournisseurs MFA/IAM partenaires, une solution SIEM (gestion des événements et des informations de sécurité), des technologies SOAR (orchestration et automatisation de la sécurité et réponse) et bien plus encore, qui vous confèrent une visibilité de bout en bout et un contrôle en temps réel sur l'ensemble des terminaux et des identités.
2. Ajouter un Threat Hunting proactif
Un véritable Threat Hunting proactif, tel que CrowdStrike Falcon OverWatch™, permet de traquer les menaces 24 h sur 24 et 7 j sur 7 afin de détecter les attaques inconnues et furtives utilisant des identifiants volés sous le couvert de l'identité d'utilisateurs légitimes. Ces types d'attaques peuvent en effet échapper aux dispositifs de sécurité standard. En s'appuyant sur l'expertise acquise lors des « affrontements » quotidiens avec des cyberattaquants APT sophistiqués, l'équipe OverWatch identifie et suit des millions d'indices infimes de traque pour vérifier s'ils sont légitimes ou malveillants et, le cas échéant, avertit les clients, tout en évitant les faux positifs.
3. Implémenter une solution de protection des endpoints de nouvelle génération
L'accès aux identifiants est une technique très prisée des cyberattaquants car elle est très efficace. Les entreprises doivent prendre très au sérieux la menace posée par le vol d'identifiants et implémenter des stratégies pour éviter la compromission des endpoints. L'emploi d'une solution de sécurité des endpoints de nouvelle génération, telle que la plateforme CrowdStrike Falcon® conçue pour protéger les entreprises contre tout l'éventail d'attaques, y compris celles exploitant les identifiants compromis, peut aider ces dernières à se protéger des attaques de type Kerberoasting et d'autres techniques de vol d'identifiants.
L'approche et l'expertise de CrowdStrike en matière de prévention du Kerberoasting
L'utilisation d'identifiants de comptes valides par des cyberadversaires tout au long du cycle de vie de l'attaque est un phénomène souvent observé par CrowdStrike. La dernière évaluation ATT&CK de MITRE Engenuity a révélé que la plateforme Falcon est très efficace pour prévenir les attaques basées sur des identifiants, comme le Kerberoasting.
Dès le début de l'évaluation, la plateforme Falcon a immédiatement découvert que des mots de passe et des comptes compromis étaient utilisés pour demander l'accès au système. L'évaluateur indépendant n'a dès lors pas réussi à obtenir l'accès initial à l'environnement, ce qui a mis fin au test avant même qu'il ait commencé. En fait, parmi toutes les solutions évaluées, CrowdStrike Falcon est la seule pour laquelle il a fallu désactiver un composant de la plateforme pour poursuivre le test.
Même après la désactivation de la fonctionnalité de protection des identités, la plateforme Falcon a obtenu un score de prévention de 100 % pour les neuf étapes du cadre MITRE ATT&CK.
La protection contre les attaques exploitant des identifiants volés ou compromis revêt une grande importance dans le paysage actuel des menaces. Selon une analyse réalisée par l'équipe de Threat Hunting Falcon OverWatch, 80 % des compromissions sont désormais liées aux identités. Le blocage des cyberadversaires en temps réel et la neutralisation de la progression des attaques exigent une approche de sécurité unifiée qui met en œuvre le Zero Trust au niveau des endpoints, des identités et des données.