AD-ventures in offensive security – Parte 8/9 – DCSync
Disclaimer: Gli strumenti e le tecniche descritte in questo articolo sono destinati esclusivamente a scopi educativi e di ricerca nel campo della sicurezza informatica. L’uso di tali strumenti e tecniche contro sistemi informatici senza il consenso esplicito del proprietario è illegale e può comportare gravi conseguenze legali. L’autore e gli editori declinano qualsiasi responsabilità per l’abuso o l’uso improprio di queste informazioni da parte degli utenti. Si consiglia vivamente di ottenere il consenso scritto prima di condurre qualsiasi tipo di test o di valutazione della sicurezza su sistemi informatici.
Questo articolo è parte della serie AD-ventures: La battaglia per la sicurezza di Active Directory – ICT Power
Nell’articolo precedente abbiamo parlato di Golden & Diamond Ticket, due tecniche sofisticate che consentono di sfruttare il protocollo di autenticazione Kerberos per autenticarsi con privilegi elevati. Abbiamo visto, in termini sia teorici che pratici, come possono essere applicate e cosa comportano all’interno di un’infrastruttura. In questo articolo parleremo di una tecnica denominata DCSync, spesso utilizzata insieme a quelle discusse precedentemente.
DCSYNC
L’attacco DCSync è una tecnica avanzata usata dagli attaccanti per ottenere informazioni riservate e accedere ai dati di una rete aziendale basata su Microsoft Active Directory (AD). Con il DCSync, un attaccante può impersonare un Domain Controller (DC) e, simulando una richiesta di replica, ottenere i dati sensibili del dominio, inclusi hash delle password, SID (Security Identifier) e informazioni di autenticazione.
Questa tecnica sfrutta funzionalità legittime del protocollo di replica di Active Directory, Microsoft Directory Replication Service Remote Protocol (MS-DRSR), per ottenere accesso agli stessi dati che un DC riceverebbe per mantenerli allineati. Poiché questo protocollo viene utilizzato tra DC e server per sincronizzare e aggiornare informazioni di autenticazione, la richiesta DCSync induce il DC a fornire dati riservati come se stesse replicando verso un altro controller.
Figura 1 – Attacco DCSync
Obiettivi Principali dell’attacco DCSync
Il DCSync consente a un attaccante di ottenere vari tipi di dati da Active Directory. I principali obiettivi di un attacco DCSync includono:
- Hash delle password degli utenti: Con gli hash, l’attaccante può eseguire attacchi di tipo Pass-the-Hash o tentare di decifrare la password per ottenere accesso permanente.
- Account privilegiati: Il controllo sugli account amministrativi, come l’account krbtgt, consente di creare Golden Ticket, ticket Kerberos fasulli che garantiscono accesso amministrativo illimitato.
- SID degli utenti e gruppi: Il SID di utenti e gruppi è essenziale per navigare e identificare ruoli e permessi, fornendo all’attaccante informazioni dettagliate sull’infrastruttura di sicurezza.
Come Funziona l’attacco
L’attacco DCSync sfrutta principalmente la funzione GetNCChanges all’interno del protocollo MS-DRSR:
-
Compromissione Iniziale ed Escalation dei Privilegi:
- Un attaccante ottiene un primo accesso alla rete aziendale compromettendo un dispositivo o un utente tramite tecniche di phishing, malware, oppure sfruttando vulnerabilità.
- Dopo l’accesso iniziale, l’attaccante cerca di aumentare i propri privilegi fino a ottenere quelli di un amministratore di dominio (Domain Admin) o di un utente con capacità di replica, sfruttando attacchi come il Pass-the-Hash, il Kerberoasting o il furto di token.
-
Simulazione di un Domain Controller:
- Una volta ottenuti i privilegi necessari, l’attaccante usa strumenti specializzati per inviare una richiesta di replica. Per fare ciò, si camuffa da DC tramite strumenti come Mimikatz o Impacket.
- Mimikatz, ad esempio, permette di inviare comandi che richiedono la replica dei dati per specifici account. Questo induce un Domain Controller legittimo a rispondere alla richiesta come farebbe con un altro DC.
-
Richiesta di Replica tramite GetNCChanges:
- La funzione GetNCChanges viene inviata al DC autentico, che interpreta la richiesta come legittima e risponde fornendo una copia dei dati dell’Active Directory.
- In risposta, il DC restituisce vari dettagli, inclusi gli NTHash (hash di password degli utenti) e altre informazioni di autenticazione, come se stesse sincronizzando i dati con un DC legittimo.
-
Utilizzo degli Hash delle Password:
- Gli hash ottenuti consentono all’attaccante di impersonare gli utenti in rete senza bisogno di conoscere le password. Con tecniche come il Pass-the-Hash, l’attaccante può autenticarsi come un utente qualunque, ampliando il proprio accesso alla rete.
- Se l’attaccante ottiene l’NTHash dell’account krbtgt, potrà creare Golden Ticket e ottenere un accesso prolungato e persistente alle risorse del dominio.
Strumenti utilizzati
- Mimikatz: Uno strumento molto noto per operazioni di post-exploitation. Tra le sue funzioni, permette di eseguire il comando lsadump::dcsync per inviare richieste DCSync al Domain Controller e ricevere gli hash delle password.
- Impacket: Una libreria Python che fornisce strumenti di emulazione per vari protocolli, incluso MS-DRSR, permettendo l’esecuzione di attacchi DCSync senza necessariamente usare Mimikatz.
Esempio DCSync
Supponiamo di aver avuto accesso ad un endpoint con una delle tecniche viste nelle puntate precedenti. A seguito del nostro accesso siamo riusciti ad ottenere privilegi elevati.
Quelli che servono per utilizzare l’attacco DCSync sono i seguenti:
- Replicating Directory Changes
- Replicating Directory Changes All
- Replicating Directory Changes in Filtered Set
Figura 2 – Privilegi utente
A questo punto è sufficiente copiare il tool mimikatz all’interno della macchina, eseguire un prompt dei comandi privilegiato e lanciare i seguenti comandi:
mimikatz.exe
Figura 3 – Esecuzione mimikatz
lsadump::dcsync /domain:lab.local /user:administrator
Figura 4 – Esecuzione attacco DCSymc
Questo comando richiede una replica per l’utente “administrator” e il DC restituisce l’NTHash, che può essere utilizzato per un accesso non autorizzato.
Come difendersi
Proteggersi dal DCSync richiede l’implementazione di controlli rigorosi sui privilegi e un monitoraggio avanzato. Ad esempio:
-
Limitazione dei Privilegi di Replica:
- Assegnare privilegi di replica solo a specifici account con un ruolo preciso e limitato nel contesto aziendale.
- Evitare l’uso eccessivo di privilegi di amministrazione di dominio. L’uso di account amministrativi dovrebbe essere limitato e monitorato con attenzione.
-
Monitoraggio delle Richieste di Replica:
- Configurare un SIEM (Security Information and Event Management) per monitorare i log di Active Directory e impostare avvisi su richieste di replica anomale. Un esempio è il monitoraggio dell’Event ID 4662: quando viene trovato fornisce le informazioni sull’utente che ha utilizzato il privilegio Replication Directory Changes All e lo si può verificare controllando il GUID inserito all’interno dell’evento (1131f6ad-9c07–11d1-f79f-00c04fc2dcd2)
Figura 5 – EventID 4662
- Registrare e analizzare ogni richiesta di replica, poiché queste dovrebbero essere limitate a scenari specifici e riconoscibili (aggiornamenti, backup, ecc.). Un modo semplice di analizzare questo scenario è tramite l’utilizzo di PowerShell nell’identificare un IP di un DC che viene inserito all’interno della Replication Allow List, tramite
PowerShell oppure NSLookUp:
1 |
Get-ADDomainController -filter * | select IPv4Address |
oppure
1 2 3 4 5 |
nslookup Set type=all _ldap._tcp.dc._msdcs.DOMINIO |
Figura 6 – Verifica IP consentiti
-
Implementazione di PAM (Privileged Access Management):
- Strumenti di Privileged Access Management permettono di gestire, isolare e monitorare gli account con privilegi elevati, riducendo il rischio che un attaccante possa ottenere un accesso diretto ai privilegi di replica.
-
Segmentazione della Rete e Controllo degli Accessi:
- La segmentazione della rete e l’isolamento dei Domain Controller aiutano a limitare la superficie di attacco, rendendo più difficile per un attaccante muoversi lateralmente e accedere ai DC.
- Configurare firewall e VLAN interne per isolare server sensibili e limitare l’accesso ai DC a specifiche sottoreti o dispositivi.
-
Rotazione degli Hash delle Password Critiche:
- Cambiare regolarmente l’NTHash dell’account krbtgt impedisce all’attaccante di mantenere accesso persistente tramite Golden Ticket o altri ticket di accesso.
- Gli account con privilegi di replica devono essere modificati periodicamente per prevenire utilizzi non autorizzati.
Considerazioni
La possibilità di eseguire un attacco DCSync evidenzia l’importanza di una gestione rigorosa dei privilegi e del monitoraggio costante. Questo attacco sfrutta funzionalità legittime di Active Directory, rendendo difficile il rilevamento senza una comprensione approfondita delle dinamiche di replica all’interno della rete. Poiché l’attacco si camuffa da normale processo di sincronizzazione, un monitoraggio proattivo e un controllo rigoroso delle richieste di replica sono essenziali.
Gli attacchi DCSync sono particolarmente comuni quando si parla di APT (Advanced Persistent Threat), dove l’attaccante rimane nella rete per periodi prolungati. Una strategia di difesa può ridurre significativamente il rischio di attacchi DCSync.
Conclusioni
L’attacco DCSync rappresenta una minaccia grave e sofisticata per le reti aziendali basate su Active Directory. Sfruttando il protocollo di replica dei Domain Controller, un attaccante può ottenere accesso diretto alle credenziali degli utenti senza accedere fisicamente al DC. Difendersi efficacemente richiede un insieme di misure preventive e di rilevamento importanti. Solo con una combinazione di tecnologie di difesa avanzate e una gestione rigorosa degli accessi, le organizzazioni possono ridurre il rischio e proteggere i dati sensibili dalla minaccia rappresentata dall’attacco DCSync.
Come sempre abbiamo a disposizione tanti strumenti per migliorare le nostre infrastrutture, per prendercene cura. La consapevolezza deve essere il mantra del 2024, in modo da concentrare l’attenzione dove realmente è necessario.
Stay tuned!