Manipolazione delle password degli utenti con Mimikatz
Sep 28, 2022
Utilizzando i comandi ChangeNTLM e SetNTLM in Mimikatz, gli aggressori possono manipolare le password degli utenti ed elevare i loro privilegi in Active Directory. Vediamo questi comandi e cosa fanno.
Contenuti correlati selezionati:
ChangeNTLM
Il comando ChangeNTLM esegue la modifica di una password. Per utilizzare questo comando, è necessario conoscere la password attuale dell'account o il suo hash della password NTLM, che può essere molto più facile da rubare rispetto alle password in chiaro. Per impostazione predefinita, la capacità di cambiare la password di un utente è concessa a Tutti, quindi questo comando può essere eseguito da qualsiasi utente senza privilegi speciali.
Ecco un esempio di utilizzo del comando per cambiare la password di un utente conoscendo solo l'hash della password attuale:
Questo produrrà l'ID evento 4723 nel registro eventi del controller di dominio.
SetNTLM
Questo comando esegue un reset della password. Eseguirlo non richiede di conoscere la password attuale dell'utente, ma richiede di avere il diritto di Reset Password sull'account, che non è concesso a Tutti per impostazione predefinita.
Ecco un esempio di utilizzo del comando per reimpostare la password di un utente:
Questo produrrà l'ID evento 4724 nel registro eventi del controller di dominio.
Scenario di attacco: ChangeNTLM
Compromising a user’s password hash enables an adversary to perform pass-the-hash attacks. However, those attacks are typically limited to command-line access to systems and applications. To log into Outlook Web Access (OWA), SharePoint or a remote desktop session, the adversary may need the user’s cleartext password. They can perform the attack and cover their tracks in four quick steps:
- Compromettere l'hash NTLM di un account.
- Cambia la password utilizzando l'hash.
- Utilizza la nuova password in chiaro per accedere alle applicazioni o ai servizi desiderati.
- Reimposta la password al suo valore precedente utilizzando l'hash rubato.
Questo attacco è molto utile per sfruttare ulteriormente gli account compromessi.
Scenario di attacco: SetNTLM
In questo scenario, un attaccante ha compromesso un account con accesso limitato al dominio e . Sfruttando questo percorso di attacco comporta il ripristino delle password degli utenti per prendere il controllo dei loro account, ma l'attaccante non vuole allertare gli utenti sul fatto che il loro account è stato compromesso cambiando la loro password. Come può l'attaccante reimpostare le password degli utenti e poi riportarle ai loro valori precedenti una volta che l'obiettivo è compromesso? Inserire SetNTLM.
L'attaccante può seguire questo percorso di base:
- Utilizza Bloodhound per identificare un percorso di attacco che sfrutta i permessi di Active Directory e il reset delle password.
- Sfrutta il percorso di attacco, reimpostando le password come necessario.
- Una volta ottenuto l'accesso privilegiato, utilizzare Mimikatz per estrarre la cronologia delle password NTLM di tutti gli account compromessi.
- Utilizza SetNTLM per applicare gli hash NTLM precedenti agli account, reimpostando le password come erano in precedenza.
Nota: Lo stesso può essere fatto utilizzando il comando Set-SamAccountPasswordHash.
Esempio
Supponiamo di avere il seguente percorso di attacco che ci porterà dal nostro utente corrente all'Admin di Dominio in tre reimpostazioni della password:
Ora che sappiamo quali account devono essere compromessi, vogliamo eseguire l'attacco il più rapidamente possibile per non allarmare gli utenti. Possiamo scrivere uno script per il percorso di attacco di reset della password utilizzando del PowerShell di base. Lo script seguente prenderà una password e seguirà la catena di attacco, impersonando ogni utente compromesso lungo il percorso fino a raggiungere l'obiettivo di Domain Admin:
Successivamente, avvieremo una nuova sessione PowerShell come Domain Admin ed eseguiremo un'operazione di DCSync per ottenere la cronologia delle password NTLM di tutti gli account:
Da lì, reimposteremo le password ai loro valori precedenti utilizzando il comando SetNTLM:
Ed ecco fatto. Ora siamo diventati un Domain Admin e abbiamo coperto le nostre tracce nel miglior modo possibile per evitare che gli utenti si rendano conto che i loro account sono stati compromessi lungo il percorso.
Rilevamento e prevenzione degli attacchi SetNTLM e ChangeNTLM
Rilevamento degli attacchi
Se un attaccante utilizza l'attacco ChangeNTLM, ciò genererà un evento 4723, ma l'Account Soggetto e l'Account di Destinazione saranno diversi, come mostrato di seguito. Questo si distinguerà dai normali cambiamenti di password che gli utenti eseguono autonomamente, dove i due valori saranno identici. Se gli amministratori devono reimpostare le password, effettueranno un reset e genereranno un evento 4724.
Prevenire gli Attacchi
Per mitigare il rischio che vengano eseguiti attacchi SetNTLM, controlla i diritti di reimpostazione della password nella directory. Per mitigare il rischio di attacchi ChangeNTLM, controlla come e dove vengono memorizzati gli hash degli utenti.
Come Netwrix può aiutare
La soluzione Netwrix Active Directory Security Solution ti aiuta a proteggere il tuo Active Directory da cima a fondo — evidenziando le lacune di sicurezza nelle tue attuali impostazioni di AD, rilevando attacchi sofisticati in tempo reale e rispondendo alle minacce all'istante. Ti aiuta ad assicurare che tutte le identità, i dati sensibili a cui forniscono accesso e l'infrastruttura AD sottostante siano puliti, compresi, configurati correttamente, monitorati attentamente e controllati strettamente — rendendo la tua vita più semplice e l'organizzazione più sicura.
Condividi su
Scopri di più
Informazioni sull'autore
Jeff Warren
Chief Product Officer
Jeff Warren supervisiona il portfolio di prodotti Netwrix, portando oltre un decennio di esperienza nella gestione e sviluppo di prodotti focalizzati sulla sicurezza. Prima di entrare in Netwrix, Jeff ha guidato l'organizzazione dei prodotti presso Stealthbits Technologies, dove ha utilizzato la sua esperienza come ingegnere del software per sviluppare soluzioni di sicurezza innovative su scala aziendale. Con un approccio pratico e un talento nel risolvere sfide di sicurezza complesse, Jeff è concentrato sulla costruzione di soluzioni pratiche che funzionano. È laureato in Information Systems presso l'Università del Delaware.
Scopri di più su questo argomento
Esempio di Analisi del Rischio: Come Valutare i Rischi
Il Triangolo CIA e la sua applicazione nel mondo reale
Creare utenti AD in massa e inviare le loro credenziali tramite PowerShell
Come creare, modificare e testare le password utilizzando PowerShell
Come aggiungere e rimuovere gruppi AD e oggetti nei gruppi con PowerShell