APPROFONDIMENTI E NEWS

Mimikatz: guida tecnica e difesa Active Directory

Introduzione a Mimikatz

Mimikatz è uno dei tool post-exploitation più noti in ambito Windows. Nato come progetto di ricerca, è diventato rapidamente uno strumento di riferimento per Red Team e penetration tester grazie alla sua capacità di interagire con il sottosistema di autenticazione di Windows.

Quali sono le principali funzionalità di Mimikatz?

Mimikatz è in grado di:

  • Estrarre password in chiaro, hash e ticket Kerberos dalla memoria.
  • Iniettare una Skeleton Key su un Domain Controller.
  • Generare Golden Ticket.
  • Effettuare attacchi dimostrativi (BSOD).

Passa all'azione: Impara a simulare e bloccare questi attacchi nel Corso Active Directory Attack & Defense.

mimikatz difesa active directory

Cos’è Mimikatz e perché è critico per Active Directory

Mimikatz è un tool scritto in C da da Benjamin Delpy in grado di agire senza sfruttare una “vulnerabilità” nel senso classico del termine. Interagisce con ciò che Windows deve necessariamente fare per funzionare: gestire credenziali in memoria, firmare ticket Kerberos, mantenere materiale crittografico necessario all’autenticazione. È proprio questa caratteristica a renderlo così potente. Non forza il sistema: utilizza meccanismi interni legittimi, ma da una prospettiva ostile.

Mimikatz è stato creato come prova di concetto sulla vulnerabilità dell’architettura di autenticazione Microsoft e da allora è diventato uno standard nei penetration test, nei red team e, purtroppo, nelle catene d’attacco reali. Funziona in fase di post-exploitation: dopo che un attaccante ha ottenuto accesso non autorizzato a un sistema, Mimikatz diventa lo strumento per estrarre credenziali, scalare privilegi e muoversi lateralmente nella rete.

Può girare sia su Windows che su Linux ed è disponibile sia a 32bit che a 64bit.

mimikatz

Come si usa Mimikatz: le basi

Per prima cosa, Mimikatz ha bisogno di girare con privilegi elevati. Senza diritti da amministratore (o meglio, da SYSTEM), molte funzionalità semplicemente non funzionano. Una volta avviato come amministratore, il primo comando da eseguire è sempre: privilege::debug

Questo richiede il privilegio di debug al sistema operativo, che permette a Mimikatz di interagire con la memoria di altri processi incluso LSASS (ovvero il processo Local Security Authority Subsystem Service). Se vedi Privilege '20' OK, sei a posto.

mimikatz privilege debug

Estrarre le password con Mimikatz: sekurlsa

Il modulo più usato in assoluto è sekurlsa. Il comando chiave è: sekurlsa::logonpasswords Questo comando analizza la memoria di LSASS e restituisce le credenziali di tutti gli utenti che hanno effettuato l'accesso recentemente. L'output include username, hash NTLM, hash SHA1 e se il provider WDigest è attivo la password in chiaro. A tal proposito WDigest è un vecchio protocollo di autenticazione che Microsoft ha disattivato per default a partire da Windows 8.1 e Server 2012 R2. Su sistemi più vecchi, però, è ancora presente e attivo, e può quindi permettere all'attaccante di estrapolare password in chiaro, senza dover fare la fatica di crackarle.

mimikatz logonpasswords

Il modulo lsadump: SAM e LSA

Un'altra fonte preziosa di credenziali sono i database SAM (Security Account Manager) e LSA (Local Security Authority). Si accede tramite il modulo lsadump. Per estrarre dati dall'LSA il comando da lanciare è: lsadump::lsa /inject Per accedere al database SAM è necessario però prima scalare i privilegi da amministratore a SYSTEM. Si fa con: token::elevate e poi finalmente lsadump::sam. Questo restituisce gli hash NTLM di tutti gli account locali del sistema, utile quindi anche quando le credenziali non sono più presenti in memoria LSASS.

Attacco Golden Ticket con Mimikatz

Qui il focus si sposta su Kerberos, il protocollo di autenticazione su cui si fonda Active Directory. Per generare un Golden Ticket è necessario conoscere il SID del dominio e, soprattutto, l’hash NTLM dell’account krbtgt. Quest’ultimo rappresenta la chiave crittografica con cui vengono firmati i Ticket Granting Ticket (TGT). Se un attaccante riesce a estrarre questo hash, può creare ticket Kerberos validi per qualsiasi identità, assegnando privilegi arbitrari, inclusi quelli di Domain Admin.

Il Golden Ticket è probabilmente la tecnica più potente che Mimikatz metta a disposizione. In sostanza, ti permette di creare un ticket Kerberos falso che impersona qualsiasi utente del dominio (incluso un Domain Admin oppure un Enterprise Admin) con validità praticamente illimitata. Per crearlo hai bisogno di queste informazioni:

  • Il nome del dominio

  • Il SID del dominio

  • L'hash NTLM dell'account KRBTGT (l'account di servizio del Key Distribution Center)

  • Il nome utente che vuoi impersonificare

Il comando per generare il Golden Ticket è: kerberos::golden /domain:<dominio> /sid:<sid> /user:<utente> /rc4:<hash_krbtgt> /ptt Una volta eseguito il comando, l'attaccante sarà libero di muoversi liberamente nel dominio, anche nella situazione in cui l'Admin ti turno proceda a cambiarsi la password.

strumento per red team e penetration tester

Mimikatz: descrizione tecnica dei principali comandi

Di seguito una descrizione tecnica dei principali comandi Mimikatz mostrati nell’immagine, con focus sul loro funzionamento e impatto architetturale.

Privilege Module

  • privilege::debug: abilita il privilegio SeDebugPrivilege nel processo corrente. Consente l’accesso a processi sensibili come LSASS, prerequisito per l’estrazione delle credenziali in memoria.

sekurlsa – Interazione con LSASS

  • sekurlsa::logonpasswords: estrae credenziali dalle sessioni di logon presenti in memoria LSASS. Può includere hash NTLM, ticket Kerberos e, in alcune configurazioni, password in chiaro.
  • sekurlsa::tickets: visualizza i ticket Kerberos caricati nella memoria della sessione corrente.

lsadump – Segreti di Sistema

  • lsadump::sam: effettua il dump degli hash delle password locali dal database SAM.
  • lsadump::secrets: recupera segreti archiviati nella LSA, inclusi account di servizio e credenziali memorizzate nel registro.

Token Manipulation

  • token::elevate: tenta l’elevazione dei privilegi impersonando token esistenti nel sistema, spesso verso contesto SYSTEM.

Credential Vault

  • vault::cred: mostra le credenziali archiviate nel Windows Credential Vault, come RDP, share di rete e task schedulati.

DPAPI

  • dpapi::cred: analizza e decifra blob protetti da DPAPI, meccanismo usato da Windows per proteggere segreti applicativi.

Crypto Module

  • crypto::capi: interagisce con CryptoAPI per enumerare o manipolare chiavi crittografiche legacy.
  • crypto::certificates: elenca informazioni sui certificati presenti nel sistema.
  • crypto::keys: mostra chiavi crittografiche archiviate, incluse eventuali chiavi private accessibili.

Misc Module

  • misc::memssp: installa un Security Support Provider temporaneo per intercettare credenziali in memoria.
  • misc::sysinfo: mostra informazioni di sistema rilevanti per analisi post-exploitation.
  • misc::wifi: elenca profili Wi-Fi salvati nel sistema, incluse eventuali chiavi memorizzate.

Kerberos Module

  • kerberos::list: elenca i ticket Kerberos presenti nella sessione corrente.
  • kerberos::tgt: mostra informazioni dettagliate sul Ticket Granting Ticket (TGT).

Vuoi approfondire? Scopri come questi comandi impattano la tua rete nel Corso Active Directory Attack & Defense

tool post-exploitation mimikatz

Come difendersi dagli effetti di Mimikatz

Una prima misura fondamentale è disabilitare WDigest, così da evitare che password in chiaro vengano mantenute in memoria. Anche se nelle versioni moderne di Windows non è attivo di default, è importante verificarne lo stato. È poi essenziale proteggere LSASS. L’abilitazione di Credential Guard su Windows 10/11 e Windows Server 2016 o superiori consente di isolare il processo in un ambiente virtualizzato, riducendo drasticamente la possibile lettura diretta della memoria.

La gestione dei privilegi è un altro punto critico. Applicare rigorosamente il principio del minimo privilegio limita l’impatto di una compromissione locale e rende molto più complessa l’escalation verso privilegi di dominio. Dal punto di vista del monitoraggio, è necessario controllare attivamente gli accessi anomali a LSASS tramite soluzioni EDR e correlazioni SIEM. Un dump di memoria o l’abilitazione del SeDebugPrivilege non dovrebbero mai passare inosservati.

In ambito Active Directory, la rotazione periodica dell’account KRBTGT è una misura strutturale importante: invalida eventuali Golden Ticket generati in precedenza e riduce la finestra di persistenza dell’attaccante. Infine, è fondamentale separare gli account amministrativi da quelli standard ed evitare il riutilizzo delle stesse credenziali su più sistemi. La segmentazione delle identità amministrative è uno dei pilastri della difesa contro il movimento laterale. La sicurezza non si costruisce bloccando un singolo strumento, ma riducendo le condizioni che ne rendono possibile l’efficacia.

Conclusione

Mimikatz è uno strumento molto potente nel bene e nel male. La sua semplicità d'uso lo rende accessibile anche a chi non ha anni di esperienza, mentre la sua profondità tecnica lo rende utile anche per i professionisti più avanzati. Conoscerlo a fondo è essenziale sia se vuoi fare red teaming, sia se vuoi costruire difese solide. Perché per proteggere un sistema, devi prima capire come lo si attacca.

Preparati a difendere la tua infrastruttura: iscriviti al Corso Active Directory Attack & Defense di Nexsys.

Promo ×