Pass-the-Hash : vol et réutilisation de hash NTLM
Comprendre Pass-the-Hash
Définition
Pass-the-Hash est une technique d'attaque qui permet à un attaquant de s'authentifier sur un système Windows en réutilisant directement un hash NTLM, sans jamais connaître le mot de passe en clair correspondant. Le protocole NTLM utilise un mécanisme challenge-réponse : le client prouve son identité en chiffrant un challenge serveur avec le hash de son mot de passe. L'attaquant qui possède ce hash peut donc reproduire exactement cette réponse. Le hash NTLM est obtenu par dumping de mémoire du processus LSASS, ou via des bases SAM et NTDS.dit extraites d'un contrôleur de domaine. Cette technique est centrale dans les phases de mouvement latéral : une fois un premier hash capturé sur une machine compromise, l'attaquant peut pivoter vers d'autres systèmes du réseau sans jamais déclencher d'alerte liée à un mot de passe incorrect. Elle est particulièrement efficace dans les environnements où les comptes administrateurs locaux partagent le même mot de passe, situation encore fréquente dans les parcs Windows non durcis.
Détection (Blue Team / SOC)
La détection de Pass-the-Hash côté Blue Team repose sur l'analyse fine des événements d'authentification Windows. L'Event ID 4624 avec le type de connexion 3 (réseau) et le champ 'Authentication Package' valorisé à NTLM est un indicateur clé. L'absence de champ 'Workstation Name' cohérent ou un 'Logon Process' valorisé à NtLmSsp mérite une attention particulière. L'Event ID 4648 (tentative d'ouverture de session avec des informations d'identification explicites) combiné à un Event ID 4672 (attribution de privilèges élevés) renforce la suspicion. Côté SIEM, une règle de corrélation doit cibler les authentifications NTLM répétées depuis une même source vers plusieurs cibles en un temps court, signe de mouvement latéral automatisé. Les outils comme Microsoft Defender for Identity détectent nativement les anomalies d'authentification NTLM. L'activation du journal 'Netlogon' et l'audit des connexions SMB permettent de compléter la visibilité. Le trafic SMB vers des partages administratifs comme ADMIN$ ou IPC$ sans justification métier est également un indicateur fort à surveiller dans les règles de détection réseau.
Exploitation & contre-mesures (Red Team)
Côté Red Team, Pass-the-Hash s'exécute principalement via Mimikatz avec la commande 'sekurlsa::pth', qui ouvre un processus Windows avec les credentials NTLM injectés directement en mémoire. Impacket propose des scripts dédiés comme 'psexec.py', 'smbexec.py' ou 'wmiexec.py' qui acceptent un hash NTLM en paramètre pour exécuter des commandes distantes sans mot de passe en clair. CrackMapExec permet de tester un hash sur des plages d'adresses entières, automatisant la phase de mouvement latéral. Les contre-mesures prioritaires incluent le déploiement de LAPS (Local Administrator Password Solution) pour garantir l'unicité des mots de passe administrateurs locaux. L'activation de Credential Guard via Virtualization-Based Security isole LSASS dans un environnement protégé, rendant le dumping de hash très difficile. L'ajout des comptes sensibles au groupe 'Protected Users' force l'usage de Kerberos et bloque NTLM pour ces comptes. La restriction des droits administrateurs locaux via tiering model Active Directory réduit drastiquement la surface d'attaque exploitable par cette technique.
Articles sur Pass-the-Hash
Deux techniques, un même objectif : se déplacer latéralement sans connaître les mots de passe. Comparaison technique et limites de Credential Guard.