La compromission des informations d'identification est l'un des moyens les plus courants utilisés par les pirates pour accéder à Active Directory (AD). Il existe une myriade de méthodes permettant aux attaquants de voler et d'exploiter les informations d'identification - et nombre d'entre elles sont furtives, permettant aux mauvais acteurs d'accéder à votre système d'identité et de s'y déplacer sans être détectés, en escaladant les privilèges et en causant des dommages. Pass the Hash est une méthode de compromission des informations d'identification très efficace pour réaliser des mouvements latéraux dans AD.
Qu'est-ce qu'une attaque de type "Pass the Hash" ?
Passer le hachage est une technique dans laquelle les attaquants utilisent un hachage de mot de passe volé pour s'authentifier en tant qu'utilisateur sans connaître le mot de passe réel. Au lieu de craquer le hachage du NT, ils le transmettent à un autre système qui accepte le hachage du mot de passe pour l'authentification. Cela permet aux attaquants de se déplacer latéralement dans un réseau, en accédant aux systèmes en tant qu'utilisateur compromis.
Comment fonctionne Pass the Hash ?
La capture d'écran en Figure 1 montre l'utilisation de l'outil pth
dans la commande Balise de Cobalt Strike. Cet outil s'appuie sur Mimikatz pour créer et usurper l'identité d'un jeton à l'aide d'un hachage NT, d'un domaine et d'un nom d'utilisateur spécifiques.
pth
dans Cobalt Strike's Beacon utilise Mimikatz pour usurper l'identité d'un jeton avec un hachage NT spécifique pour les attaques de type "Pass the Hash".Pour effectuer une attaque de type "Pass the Hash", un attaquant doit d'abord voler les hachages de mots de passe des comptes locaux ou de domaine. Cobalt Strike dispose de commandes spécifiques à cet effet : hashdump
est utilisé pour récupérer les hachages des comptes locaux (Figure 2).
hashdump
La recherche des hashs de mots de passe des comptes locaux.Les logonpasswords
commande (Figure 3) est utilisé pour extraire des hachages de mots de passe de comptes de domaine, qui peuvent même inclure des mots de passe en texte clair.
logonpasswords
La recherche des hashs de mots de passe des comptes de domaine.Dans cet exemple, nous nous concentrerons sur l'utilisation de Pass the Hash avec RID-500, le compte administrateur intégré stocké dans la base de données SAM locale(Figure 4). De nombreuses organisations utilisent une image dorée pour déployer plusieurs postes de travail, ce qui signifie souvent que le même mot de passe d'administrateur local est réutilisé sur tous les systèmes. Si le sysprepping permet de standardiser ces configurations, il crée également une vulnérabilité : Si des attaquants obtiennent le hachage d'un système, ils peuvent l'utiliser pour se déplacer latéralement sur le réseau et accéder à d'autres machines avec les mêmes informations d'identification.
Une fois que l'attaquant a récupéré les hachages de mots de passe, l'étape suivante consiste à effectuer une attaque de type "Pass the Hash". Dans cet exemple, l'attaquant utilise Mimikatz pour exécuter l'attaque Pass the Hash (pth
) avec le hash volé d'un compte administrateur du RID-500 (Figure 5). Ce faisant, l'attaquant peut s'authentifier en tant qu'administrateur sans avoir besoin du mot de passe réel.
pth
) avec le hash du compte Administrateur intégré (RID-500) pour lancer un processus PowerShell caché.Les steal_token
est utilisée pour se faire passer pour le jeton de sécurité d'un autre processus (Figure 6), ce qui donne à l'attaquant le même niveau de privilèges que ce processus. Dans ce cas, l'attaquant utilise steal_token 648
de détourner le jeton d'un processus s'exécutant en tant que NT AUTHORITY\SYSTEM, ce qui lui permet d'obtenir tous les privilèges au niveau du système.
steal_token
pour se faire passer pour le jeton du processus ID (PID) 648, obtenant ainsi un accès au niveau du système en tant que NT AUTHORITY\SYSTEM.Du point de vue d'un attaquant, l'exécution du programme shell dir \TARGET\C$
commande (Figure 7) est un moyen de vérifier s'ils disposent des droits d'administrateur local sur le système cible. Le retour d'une liste de répertoires à partir du partage administratif (C$
) confirme que l'attaquant dispose des privilèges nécessaires pour accéder au système de fichiers de la cible.
shell dir \WIN8WORKSTATION\C$
pour vérifier le contenu du partage administratif C$ et confirmer qu'ils disposent des droits d'administrateur local sur la machine cible.Une fois que l'attaquant a accédé à une machine, il est temps de se déplacer latéralement sur le réseau. Une option consiste à utiliser des techniques telles que wmic
, sc
ou schtasks
pour contrôler à distance d'autres systèmes. En exécutant des commandes telles que wmic
(Figure 8), l'attaquant peut exécuter des processus malveillants sur les machines cibles, par exemple en copiant et en lançant leur charge utile.
wmic
pour exécuter la charge utile à distance.Le contrôle des comptes d'utilisateurs (UAC) limite les utilisateurs locaux qui peuvent effectuer des tâches d'administration à distance. Par défaut, la clé de registre LocalAccountTokenFilterPolicy est définie sur 0, ce qui signifie que seul l'administrateur intégré du RID-500 peut effectuer des tâches d'administration à distance. La valeur 1 de la clé de registre permet à d'autres comptes d'administration locaux de faire de même. En outre, FilterAdministratorToken avec la valeur 0 permet à l'administrateur intégré d'accéder à distance ; avec la valeur 1, cette possibilité est bloquée.
En bref, par défaut, seuls certains comptes peuvent exploiter pleinement Pass the Hash :
- Comptes locaux : L'administrateur intégré peut tirer pleinement parti de Pass the Hash pour les tâches d'administration à distance.
- Comptes de domaine : Tous les comptes de domaine disposant de droits d'administration locaux sur une machine peuvent également utiliser Pass the Hash pour prendre le contrôle de ce système.
Les autres comptes locaux sont limités à moins que des paramètres UAC spécifiques ne soient modifiés.1
Comment se défendre contre Pass the Hash
Les défenseurs doivent prendre des mesures spécifiques pour atténuer le risque d'attaques de type "Pass the Hash".
- Tout d'abord, limitez les droits d'administrateur local pour les utilisateurs réguliers. Les employés des services tels que les ressources humaines, la finance, le marketing et le service juridique ne devraient pas avoir de privilèges d'administrateur local.
- Deuxièmement, assurez-vous que le mot de passe du compte administrateur intégré de la RID-500 est unique et aléatoire sur chaque poste de travail et serveur membre. Un outil gratuit tel que Local Administrator Password Solution (LAPS) de Microsoft peut automatiser ce processus. Vous pouvez également utiliser une solution payante de gestion des comptes privilégiés (PAM) qui empêche les attaquants d'utiliser les mêmes informations d'identification d'administrateur local sur plusieurs systèmes dans le cadre d'une attaque de type "Pass the Hash".
- Troisièmement, il faut comprendre comment gérer les comptes de domaine de manière sécurisée et savoir quand les informations d'identification sont stockées en mémoire. L'exposition des informations d'identification au vol dépend largement de la méthode de connexion utilisée. Par exemple, les connexions interactives telles que Remote Desktop (RDP) ou RUNAS stockent les informations d'identification en mémoire et peuvent être vulnérables. Microsoft fournit des conseils détaillés pour les outils d'administration et les méthodes de connexion les plus courants.
- Enfin, mettez en place un échelonnement administratif une fois que vous aurez pris conscience des risques liés aux différentes méthodes de connexion des administrateurs et que vous aurez compris comment les informations d'identification peuvent être exposées sur d'autres machines. Ce n'est pas facile, mais la mise en place d'une structure de hiérarchisation, au moins pour les comptes de niveau 0 ou les comptes critiques, peut faire une grande différence dans la sécurisation de votre environnement.
Comment détecter une attaque de type "Pass the Hash" ?
Il est important de disposer d'un bon système de détection et de réponse (EDR) sur vos postes de travail et vos serveurs. Ces solutions émettent des alertes qui permettent de détecter toute tentative d'extraction d'informations d'identification d'une machine(figure 9).
Les chasseurs de menaces ou les analystes SOC peuvent utiliser la télémétrie fournie par des solutions EDR telles que Microsoft Defender for Endpoint (MDE). En utilisant des fonctions comme Advanced Hunting, les défenseurs peuvent interroger les logons des comptes pour identifier où les comptes à privilèges élevés peuvent exposer leurs informations d'identification(Figure 10).
Profils des acteurs de la menace
La base de connaissances ATT&CK de MITRE identifie les groupes de menaces suivants (ainsi que d'autres groupes associés) comme ayant utilisé les attaques Pass the Hash dans la nature :
- APT41 (Groupe G0096)2
- Araignée magicienne (groupe G0102)3
- FIN13 (Groupe G1016)4
- APT29 FIN13 (Groupe G0016)5
Passer les outils Hash
Les outils suivants, disponibles sur github.com, peuvent être utilisés pour effectuer une attaque de type "Pass the Hash" :
- Mimikatz
- SharpKatz
- wce
- Invoke-TheHash
- Sharp-SMBExec
Aperçu des menaces
Tactique ATT&CK : Mouvement latéral
Le 3 octobre 2024, Cisco Talos a signalé qu'un acteur de la menace diffusant une nouvelle variante de MedusaLocker, connue sous le nom de BabyLockerKZ, utilisait l'outil Checker pour gérer les informations d'identification en vue d'un mouvement latéral. Cet outil combine les scripts Remote Desktop Plus, PsExec, Mimikatz et Invoke-TheHash. En utilisant la technique Pass the Hash avec Invoke-TheHash, l'attaquant s'est authentifié à distance à l'aide de hachages NTLM, sans craquer les mots de passe, et a exploité les tâches WMI et SMB pour se déplacer latéralement et élever ses privilèges au sein du réseau compromis.6
En juin 2024, BlackPoint a signalé qu'APT29 utilisait Sharp-SMBExec, une conversion C# du script PowerShell Invoke-SMBExec, pour mener des attaques Pass the Hash. Cela a permis à APT29 d'utiliser des hachages NTLM volés pour se déplacer latéralement au sein des réseaux sans avoir besoin du mot de passe réel.7
En février 2022, Mandiant a signalé qu'APT41 utilisait régulièrement l'Éditeur d'informations d'identification de Windows pour extraire de la mémoire les hachages de mots de passe. Grâce à ces hachages volés, APT41 peut se connecter à d'autres comptes d'utilisateurs sans connaître le mot de passe réel, ce qui lui permet de se déplacer latéralement sur les réseaux.8
Le 7 décembre 2021, Mandiant a signalé que FIN13 avait utilisé la cmdlet PowerShell Invoke-SMBExec dans le cadre de ses attaques Pass the Hash. Grâce à cette technique, les attaquants ont pu effectuer des mouvements latéraux dans des environnements compromis sans avoir besoin du mot de passe réel, en s'appuyant uniquement sur des hachages NTLM volés.9
Le 24 juin 2020, SecureWorks a signalé qu'APT31 (également connu sous le nom de BRONZE VINEWOOD) avait utilisé le cmdlet PowerShell Invoke-SMBExec pour mener des attaques de type "Pass the Hash". En utilisant des hachages de mots de passe NTLM volés, APT31 a pu se déplacer latéralement sur des réseaux compromis, ciblant des organisations dans les chaînes d'approvisionnement de la défense et du gouvernement.10
Aperçu de Semperis
Pass the Hash est une technique puissante dans laquelle les attaquants utilisent des hachages de mots de passe NT volés pour s'authentifier sur des systèmes distants sans avoir besoin du mot de passe original. Cette technique leur permet de se déplacer latéralement au sein d'un réseau, d'accéder à des comptes à privilèges élevés et de garder le contrôle des systèmes. Les défenseurs devraient limiter les privilèges des administrateurs locaux, déployer au moins un niveau d'administration pour les comptes de niveau 0 ou équivalents, et appliquer des solutions EDR et ITDR (Incident Threat Detection and Response) pour détecter de telles attaques basées sur l'identité.
En savoir plus sur les attaques Pass the Hash
- 5 méthodes d'attaque AD courantes
- Meilleures pratiques en matière de renforcement d’Active Directory
- Comment la cybersécurité évolue de l'EDR à l'ITDR en passant par l'XDR
- Comment se défendre contre une attaque de type "Pass the Ticket" : Sécurité AD 101
- L'extraction NTDS.DIT expliquée
- Passez le hachoir Attaque défense
Notes de fin d'ouvrage
- https://www.thehacker.recipes/ad/movement/ntlm/pth
- https://attack.mitre.org/groups/G0096/
- https://attack.mitre.org/groups/G0102/
- https://attack.mitre.org/groups/G1016/
- https://attack.mitre.org/groups/G0016/
- https://blog.talosintelligence.com/threat-actor-believed-to-be-spreading-new-medusalocker-variant-since-2022/
- https://blackpointcyber.com/wp-content/uploads/2024/06/Threat-Profile-APT29_Blackpoint-Adversary-Pursuit-Group-APG_2024.pdf
- https://cloud.google.com/blog/topics/threat-intelligence/apt41-dual-espionage-and-cyber-crime-operation
- https://cloud.google.com/blog/topics/threat-intelligence/fin13-cybercriminal-mexico/
- https://www.secureworks.com/research/bronze-vinewood-targets-supply-chains