Guide Red TeamTests d’intrusion autorisés · Red Team · Purple Team
Domaines
Mémoire Windows, LSASS et Mimikatz · guide pratique V13

Mimikatz

Synthèse française et contrôlée du corpus « Mimikatz ». Ce chapitre explique mimikatz dans le domaine « Mémoire Windows, LSASS et Mimikatz », avec une méthode de laboratoire, des commandes à faible impact, les traces attendues et un plan de correction vérifiable.

En bref

  • But : Synthèse française et contrôlée du corpus « Mimikatz ». Ce chapitre explique mimikatz dans le domaine « Mémoire Windows, LSASS et Mimikatz », avec une méthode de laboratoire, des commandes à faible impact, les traces attendues et un plan de correction vérifiable.
  • Preuve attendue : une preuve exploitable, une conclusion prudente et un retest documenté
  • Limite : le résultat est valable uniquement pour les versions, rôles, chemins et conditions effectivement testés.
Schéma synthétique : Mimikatz
Vue synthétique de « Mimikatz » : les étapes affichées correspondent aux sections pratiques de cette page.

Vue d’ensemble

Dans « Mimikatz », la section « Vue d’ensemble » précise l’objet technique, les préconditions et la source de vérité à vérifier. Conservez uniquement les sorties nécessaires au constat.

Execute commands

Dans « Mimikatz », la section « Execute commands » précise l’objet technique, les préconditions et la source de vérité à vérifier. Conservez uniquement les sorties nécessaires au constat.

Extract passwords

Dans « Mimikatz », la section « Extract passwords » précise l’objet technique, les préconditions et la source de vérité à vérifier. Conservez uniquement les sorties nécessaires au constat.

LSA Protection Workaround

Dans « Mimikatz », la section « LSA Protection Workaround » précise l’objet technique, les préconditions et la source de vérité à vérifier. Conservez uniquement les sorties nécessaires au constat.

Mini Dump

Dans « Mimikatz », la section « Mini Dump » précise l’objet technique, les préconditions et la source de vérité à vérifier. Conservez uniquement les sorties nécessaires au constat.

Pass The Hash

« Pass The Hash » décrit une étape d’audit hors ligne. Le format, le sel, le coût, les candidats et les métriques doivent être documentés avant d’interpréter un résultat.

Golden ticket

« Golden ticket » concerne un mécanisme Kerberos ou une relation de confiance. Vérifiez les comptes, SPN, types de délégation, chiffrement, sens de la confiance et événements KDC associés.

Commandes et exemples

Les exemples ci-dessous proviennent des éléments utiles de « Mimikatz ». Adaptez uniquement les valeurs du laboratoire et conservez la commande exacte avec sa sortie.

Exemples de laboratoire

# Contrôle défensif en laboratoire — référence d137423e
# Validation défensive de la protection LSASS — laboratoire autorisé
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' |
  Select-Object RunAsPPL,LsaCfgFlags

# Rechercher les créations de processus et privilèges élevés dans la fenêtre du test
Get-WinEvent -FilterHashtable @{LogName='Security';Id=4672,4688;StartTime=(Get-Date).AddHours(-2)} |
  Select-Object TimeCreated,Id,MachineName,Message
# Contrôle défensif en laboratoire — référence f8ea192e
# Contrôle défensif et collecte de télémétrie
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' | `
  Select-Object RunAsPPL,LsaCfgFlags
# Contrôle défensif en laboratoire — référence e05f4872
# Contrôle défensif et collecte de télémétrie
Get-WinEvent -FilterHashtable @{LogName='Security';Id=4624,4672,4688;StartTime=(Get-Date).AddHours(-2)} | `
  Select-Object TimeCreated,Id,Message

Lire les résultats

Pour « Mimikatz », distinguez la sortie brute, l’hypothèse et la conclusion. Les versions, droits, caches et contrôles compensatoires sont vérifiés avant de classer le résultat.

Comprendre le sujet avant d’agir

Le chapitre « Mimikatz » appartient au domaine « Memoire Windows LSASS et Mimikatz ». Il doit permettre de comprendre le mécanisme avant d’utiliser un outil, puis de produire une preuve lisible par une autre personne. L’objectif n’est pas d’accumuler des commandes : chaque action doit répondre à une hypothèse, rester dans le périmètre et déboucher sur une conclusion vérifiable.

Dans ce contexte, l’attention porte surtout sur le format des données, la provenance autorisée, le mode de calcul, le jeu de candidats et la protection des résultats. Une approche professionnelle commence par noter l’état initial, la version des composants et l’identité utilisée. Elle se termine par la conservation des sorties utiles, l’explication des limites et la vérification que le laboratoire a été remis dans son état prévu.

  • Point de contrôle — type de hash ou protocole.
  • Point de contrôle — source synthétique ou autorisée.
  • Point de contrôle — mode et paramètres de l’outil.
  • Point de contrôle — durée et débit observés.
  • Point de contrôle — résultat masqué ou pseudonymisé.

Méthode de laboratoire reproductible

La méthode suivante transforme « Mimikatz » en exercice reproductible. Elle évite de confondre la quantité de sorties avec la qualité de la preuve et permet d’arrêter le test dès que l’objectif est démontré.

  1. Définir en une phrase ce que l’exercice « Mimikatz » doit confirmer ou infirmer.
  2. Relever l’état initial du laboratoire et les versions utiles au domaine « Memoire Windows LSASS et Mimikatz ».
  3. Créer ou sélectionner un jeu de données synthétique dont le format et le résultat attendu sont connus.
  4. Exécuter une seule variation à la fois et conserver la sortie brute avec un horodatage UTC.
  5. Comparer le résultat avec la valeur attendue sans exposer de secret réel dans les captures ou rapports.
  6. Documenter l’impact, les limites, la correction proposée et le critère de retest.

Exemple guidé dans le laboratoire

Créez un secret fictif réservé au laboratoire et calculez son empreinte ou préparez un compte de test selon « Mimikatz ». Notez le format, le mode de l’outil, la wordlist ou le masque et une durée maximale. N’utilisez aucune donnée provenant d’un utilisateur réel.

Le cas est réussi lorsque le résultat attendu est retrouvé ou que la limite de recherche est atteinte de manière mesurable. Le livrable doit privilégier la qualité de la politique de mots de passe, le stockage et les contrôles compensatoires plutôt que la publication du secret.

  • Préparation — confirmer les actifs et comptes autorisés pour « Mimikatz ».
  • Exécution — limiter l’action à une seule hypothèse et une seule variation.
  • Validation — reproduire le résultat et conserver la sortie brute.
  • Clôture — nettoyer les artefacts, documenter les limites et définir le retest.

Lecture des commandes et options

Les commandes déjà présentes dans « Mimikatz » doivent être lues comme des exemples de laboratoire. Les lignes suivantes expliquent leur rôle afin d’éviter une exécution aveugle.

  • `Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard` — cette ligne participe à l’exercice « Mimikatz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' |` — cette ligne participe à l’exercice « Mimikatz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Select-Object RunAsPPL,LsaCfgFlags` — cette ligne participe à l’exercice « Mimikatz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Get-WinEvent -FilterHashtable @{LogName='Security';Id=4672,4688;StartTime=(Get-Date).AddHours(-2)} |` — cette ligne participe à l’exercice « Mimikatz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Select-Object TimeCreated,Id,MachineName,Message` — cette ligne participe à l’exercice « Mimikatz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard` — cette ligne participe à l’exercice « Mimikatz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' | `` — cette ligne participe à l’exercice « Mimikatz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Select-Object RunAsPPL,LsaCfgFlags` — cette ligne participe à l’exercice « Mimikatz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.

Mesurer le résultat sans exposer de secret

Pour « Mimikatz », un résultat utile relie au minimum le contexte, l’action et l’observation. Une sortie d’outil isolée reste une indication : elle devient une preuve lorsque le périmètre, la version, les paramètres et la reproduction sont documentés.

La conclusion doit préciser ce qui est confirmé, ce qui reste probable et ce qui n’a pas été testé. Dans le profil « credential », les éléments à rapprocher sont notamment : type de hash ou protocole, source synthétique ou autorisée, mode et paramètres de l’outil. Les autres éléments servent à expliquer la portée et à préparer le retest.

  • Élément à documenter — type de hash ou protocole.
  • Élément à documenter — source synthétique ou autorisée.
  • Élément à documenter — mode et paramètres de l’outil.
  • Élément à documenter — durée et débit observés.
  • Élément à documenter — résultat masqué ou pseudonymisé.

Erreurs fréquentes et amélioration de la qualité

Les erreurs ci-dessous sont particulièrement importantes pour « Mimikatz ». Elles produisent des faux positifs, des conclusions impossibles à reproduire ou un risque inutile pour le laboratoire.

  • À éviter — utiliser le mauvais mode de hash.
  • À éviter — traiter des secrets réels sans nécessité.
  • À éviter — publier un potfile ou une sortie sensible.
  • À éviter — confondre hash rapide et stockage sûr.
  • À éviter — mesurer uniquement le nombre de secrets retrouvés.

Checklist avant de clôturer le chapitre

Cette checklist résume les contrôles attendus pour considérer « Mimikatz » comme terminé de manière professionnelle.

  • L’objectif et le périmètre de « Mimikatz » sont écrits.
  • La version des outils et composants est enregistrée.
  • La commande, le filtre ou la procédure exacte est conservé.
  • La sortie brute est horodatée et accompagnée de son contexte.
  • Le résultat a été confirmé par une seconde observation.
  • Les limites et les éléments non testés sont explicites.
  • Les artefacts créés ont été supprimés ou remis dans l’état convenu.
  • La recommandation et le critère de retest sont exploitables.

Références

À retenir

Pour maîtriser « Mimikatz », retenez trois idées : comprendre le format des données, la provenance autorisée, le mode de calcul, le jeu de candidats et la protection des résultats, exécuter une méthode limitée et reproductible, puis transformer la sortie en preuve contextualisée. Le chapitre est terminé lorsque le résultat peut être confirmé, que ses limites sont explicites et que la correction peut être retestée sans réinterpréter toute la mission.

  • Savoir expliquer le mécanisme propre à « Mimikatz » sans réciter une commande.
  • Conserver au minimum type de hash ou protocole, source synthétique ou autorisée et mode et paramètres de l’outil.
  • Éviter en priorité de utiliser le mauvais mode de hash et de traiter des secrets réels sans nécessité.
  • Proposer une action corrective mesurable et un retest réalisable.