Comment extraire les identifiants utilisateur sous Windows à l’aide de Mimikatz

Cet article est un peu brouillon, mais en résumé, il explique comment utiliser Mimikatz pour récupérer les mots de passe et les hachages Windows. Si vous vous êtes déjà demandé comment certains attaquants ou testeurs d’intrusion parviennent à extraire des identifiants directement de la mémoire, c’est le genre de méthode qu’ils utilisent. Bien sûr, Windows a considérablement amélioré sa protection contre ce type d’attaque, notamment sur les versions récentes comme Windows 11 et Server 2025 avec Credential Guard activé. Cependant, sur les systèmes plus anciens ou les machines mal configurées, il reste étonnamment facile, pour un administrateur, d’extraire les mots de passe ou les hachages.

Contenu:

MimikatzLSASS est un outil d’extraction d’identifiants très polyvalent : il peut récupérer des mots de passe, des hachages, des tickets Kerberos et bien plus encore depuis la mémoire Windows. La plupart des antivirus le signalent comme malveillant ou suspect (car il est souvent utilisé dans les attaques), vous devrez donc peut-être configurer des exceptions ou désactiver temporairement votre sécurité. De plus, sur les systèmes Windows récents, en particulier avec Credential Guard activé, vous constaterez que nombre de ces méthodes sont inefficaces : Windows bloque activement l’accès à la mémoire pour LSASS ou l’isole, ce qui rend l’extraction des mots de passe beaucoup plus difficile. En revanche, sur les versions plus anciennes ou les configurations mal sécurisées, son utilisation peut s’avérer étonnamment simple.

Mimikatz : Guide du débutant

Lancer Mimikatz, c’est comme ouvrir un portail en ligne de commande vers les données cachées de Windows. Lorsque vous démarrez mimikatz.exe, une invite de commandes interactive s’ouvre, vous permettant d’extraire des informations d’identification. Mimikatz intègre des modules pour récupérer les mots de passe depuis LSASS, les tickets Kerberos et le Gestionnaire d’informations d’identification Windows, et même pour générer des Golden Tickets Kerberos. Assurez-vous de l’exécuter avec les privilèges d’administrateur. Pour cela, faites un clic droit sur l’invite de commandes ou PowerShell, sélectionnez « Exécuter en tant qu’administrateur », puis lancez Mimikatz. Vous aurez besoin de la dernière version, généralement le fichier mimikatz_trunk.zip, qui contient l’exécutable.

  • sekurlsa : extrait les mots de passe, les hachages et les tickets de lsass.exe
  • Kerberos : manipule les tickets Kerberos, crée des Golden Tickets
  • coffre-fort : récupère les informations d’identification enregistrées dans le Gestionnaire d’informations d’identification Windows
  • lsadump : extrait les hachages de mots de passe et les secrets des fichiers LSASS et SAM.

Quelques commandes de base à retenir :

  • privilege::debug: obtient un jeton de débogage — essentiel car la plupart des commandes ont besoin de ce privilège pour accéder à la mémoire.
  • sekurlsa::logonpasswords: extrait les mots de passe/hachages/tickets des utilisateurs actuellement connectés.
  • lsadump::sam: récupère les hachages des utilisateurs locaux.
  • kerberos::golden /user:Admin /domain:example.local /sid:S-1-5-21.../krbtgt:<HASH> /ptt: constitue un ticket d’or pour l’imitation.

Extraction des informations d’identification de l’utilisateur de la mémoire LSASS

Si vous obtenez les droits d’administrateur pour exécuter mimikatz, vous pouvez récupérer toutes les informations d’identification de l’utilisateur connecté depuis le processus LSASS — c’est l’espace mémoire utilisé par Windows pour gérer les informations de sécurité. Sous Windows Server 2016 ou une version similaire, la procédure habituelle est la suivante :

  • Démarrez mimikatz en tant qu’administrateur.
  • Exécuter privilege::debug— cela octroie le privilège nécessaire pour examiner les processus système.
  • Lister les sessions : sekurlsa::logonpasswords full— cela affichera les hachages, les mots de passe en clair, tout ce qui est en mémoire.

Sur certains systèmes, vous pourrez voir tous les hachages NTLM et les mots de passe directement. C’est plus simple sur les anciennes versions de Windows ; les versions plus récentes avec Credential Guard désactivent cette fonctionnalité par défaut. Par exemple, si vous obtenez une erreur de ce type ERROR kuhl_m_sekurlsa_acquireLSA, c’est probablement dû aux mesures de sécurité strictes de Windows. Sur certaines configurations, il peut être nécessaire d’extraire la mémoire LSASS à l’aide d’outils comme ProcDump ou d’outils spécialisés comme Nanodump.

Extraction des hachages de mots de passe à partir d’un dump mémoire

Si un logiciel anti-triche ou un antivirus bloque l’accès à la mémoire vive, vous devrez peut-être d’abord créer une copie de LSASS.exe. Voici comment procéder :

  • Ouvrez le Gestionnaire des tâches, recherchez lsass.exe.
  • Faites un clic droit et choisissez « Créer un fichier de vidage ». Le fichier de vidage apparaîtra dans votre dossier temporaire ou à l’emplacement où vous l’aurez enregistré.
  • Si vous utilisez Windows 11 ou une version ultérieure, veuillez noter que LSASS peut être protégé par RunAsPPL. Par conséquent, pour obtenir un fichier de vidage, vous devrez peut-être désactiver cette protection au préalable (pfff, Windows complique toujours les choses inutilement !).

Des outils comme Nanodump permettent d’intégrer mimicb.dll au fichier de vidage pour l’analyser ultérieurement. Vous pouvez charger un fichier de vidage dans WinDbg, puis charger les DLL de mimikatz, comme ceci :

.load mimilib.dll !process 0 0 lsass.exe.process /r /p FFFFFA80XXXXXXX !mimikatz 

À partir de là, exécutez sekurlsa::logonpasswordsla commande sur le fichier de vidage pour afficher les identifiants. Cette méthode est plus complexe, mais efficace si les protections de mémoire sont activées.

Récupération des mots de passe à partir des fichiers d’hibernation et de la machine virtuelle

Parfois, d’anciens vidages mémoire se trouvaient dans hiberfil.sys ou dans les fichiers d’échange de la machine virtuelle (.vmem).À l’aide d’outils comme WinDbg, ou en convertissant les fichiers de la machine virtuelle avec bin2dmp.exe, il est possible d’en extraire des indices sur les mots de passe qui y sont stockés. Conversion d’un fichier.vmem :

bin2dmp.exe "vm.vmem" vm.dmp

Chargez ensuite ce fichier de vidage dans WinDbg, repérez le processus lsass.exe et exécutez les commandes mimikatz pour extraire les identifiants. C’est une méthode assez avancée, certes, mais elle fonctionne si vous soupçonnez que des données étaient stockées dans ces fichiers.

WDigest : Extraction de mots de passe en clair

Avant Windows 8.1, Windows stockait les mots de passe en clair en mémoire via le protocole WDigest. Si WDigest est activé, mimikatz peut récupérer ces mots de passe depuis LSASS. Pour vérifier si WDigest est activé :

reg query HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential

Si cette option est activée (valeur 1), les mots de passe sont stockés en clair et accessibles. Pour l’activer, exécutez :

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1

Forcez ensuite une mise à jour de la stratégie de groupe ( gpupdate /force) et attendez que les utilisateurs se connectent. Une fois wdigest activé et actif, miminikatz — avec sekurlsa::wdigest— peut récupérer les mots de passe directement en mémoire, ce qui est plutôt dangereux en cas de mauvaise utilisation.

Extraction des hachages des utilisateurs locaux depuis SAM

Pour obtenir les hachages des comptes locaux, vous devez disposer des droits d’administrateur. Mimikatz peut extraire les hachages NTLM des utilisateurs locaux (y compris l’administrateur intégré) en exportant la base de données SAM :

  • Privilège::débogage
  • token::elevate — pour garantir les autorisations appropriées.
  • lsadump::sam— pour enfin se débarrasser de ces hachages.

Ou bien, exportez les ruches de registre SAM et SYSTEM, puis chargez-les dans mimikatz comme ceci :

reg save hklm\sam c:\tmp\sam.hiv reg save hklm\security c:\tmp\sec.hiv privilege::debug lsadump::sam c:\tmp\sam.hiv c:\tmp\sec.hiv

C’est particulièrement pratique si vous souhaitez analyser des hachages hors ligne ou effectuer un audit de mots de passe.

Réaliser des attaques par transmission de hachage

Les hachages extraits peuvent être réutilisés pour accéder à des systèmes sans avoir besoin du mot de passe en clair. Grâce à sekurlsa::pthla commande de Mimikatz, vous pouvez usurper l’identité d’un utilisateur en fournissant son hachage, puis lancer une session ou un processus.

privilege::debug sekurlsa::pth /user:Admin /domain:example.com /ntlm:<NTLM_HASH> /run:powershell.exe

Cela ouvre PowerShell sous ce contexte utilisateur, sans même connaître le mot de passe. C’est très puissant, mais potentiellement dangereux en cas de mauvaise utilisation.

Extraction des mots de passe du Gestionnaire d’informations d’identification Windows

Les mots de passe enregistrés dans le Gestionnaire d’informations d’identification sont également vulnérables.

privilege::debug sekurlsa::credman

Cette fonction affichera toutes les informations d’identification enregistrées, y compris les mots de passe de bureau à distance et les identifiants de sites web. Si vous gérez ce type d’informations, sachez qu’elles sont stockées en clair une fois transférées ici, ce qui représente un risque de sécurité important.

Récupération des mots de passe à l’ouverture de session

Cette méthode est assez spécifique, mais elle peut s’avérer utile pour les initiés ou les personnes malveillantes : en ajoutant un fournisseur SSP supplémentaire avec des DLL Mimikatz, les mots de passe des utilisateurs peuvent être enregistrés dans un fichier journal à chaque ouverture de session. Il suffit de copier le fichier mimilib.dlldans C:\Windows\System32, de modifier les paramètres du registre, et les mots de passe seront enregistrés à chaque connexion.

Pour lire le journal :

Get-Content C:\Windows\System32\kiwissp.log

Il s’agit d’une méthode sournoise, mais certainement pas d’un privilège utilisateur normal — elle requiert des droits d’administrateur.

Renforcer Windows contre le vol d’identifiants

Les versions modernes de Windows bloquent bien mieux ces outils. Activer Credential Guard, maintenir Windows à jour, désactiver WDigest et désactiver les hachages LM/NTLM sont des mesures recommandées. De plus, s’assurer que la protection LSA est activée (via le registre RunAsPPL) contribue à empêcher l’extraction de données LSASS. Enfin, évitez d’accorder des privilèges d’administrateur inutilement. En effet, plus il y a de personnes disposant de droits d’administrateur, plus il est facile pour quelqu’un d’exécuter Mimikatz ou des outils similaires.

Au final, c’est un peu le jeu du chat et de la souris en matière de sécurité : il faut protéger ses systèmes, mais il est important de comprendre comment les attaquants pourraient tenter de les compromettre. Sur certaines machines, ces techniques fonctionnent, sur d’autres, beaucoup moins. Mais comprendre leur fonctionnement, c’est déjà la moitié du chemin parcouru.

Résumé

  • L’exécution de mimikatz en tant qu’administrateur permet de récupérer une grande quantité d’informations d’identification, si Windows le permet.
  • Les systèmes plus récents protègent assez bien LSASS, il faut donc s’attendre à des erreurs ou des pannes à ce niveau.
  • Veillez à toujours maintenir vos systèmes à jour et à les protéger contre ces techniques.

Conclure

C’est un peu inquiétant, mais cela souligne aussi l’importance des bonnes pratiques de sécurité. Si vous protégez un environnement, assurez-vous d’avoir activé Credential Guard, de le mettre à jour régulièrement et d’imposer des mots de passe forts et complexes. Car une fois qu’une personne possède des droits d’administrateur, elle a pratiquement le contrôle, que vous le vouliez ou non. J’espère que cela vous aura éclairé sur la façon dont les identifiants peuvent être volés et sur les mesures à prendre pour s’en protéger.