Replica Malevola di Active Directory: DCSync (T1003.006)

DCSync è una tecnica di Credential Access (TA0006) che consente a un attaccante di impersonare un domain controller e richiedere la replica delle credenziali archiviate in Active Directory. Anziché compromettere il processo LSASS sul domain controller stesso, l'avversario sfrutta le API del Directory Replication Service (DRS) — in particolare la funzione DRSGetNCChanges — per ottenere da remoto gli hash NTLM di qualsiasi account del dominio, incluso KRBTGT e gli account amministrativi.

L'impatto è devastante: con l'hash del KRBTGT l'attaccante può forgiare un Golden Ticket Kerberos e ottenere accesso illimitato all'intero dominio. L'operazione richiede privilegi elevati — appartenenza ai gruppi Domain Admins, Enterprise Admins, Administrators, oppure i permessi espliciti Replicating Directory Changes e Replicating Directory Changes All — ma una volta ottenuti, la replica è indistinguibile da quella legittima se non si monitora attentamente l'origine delle richieste.

I dati del framework documentano 4 gruppi APT, 1 software dedicato, 3 campagne offensive e 3 mitigazioni strutturate, a conferma della centralità di questa tecnica nelle operazioni di compromissione di ambienti enterprise basati su Windows Active Directory.


La simulazione di un DCSync in laboratorio è uno degli esercizi fondamentali per validare il livello di detection di un'infrastruttura Active Directory. Il prerequisito è disporre di un account con i privilegi di replica — in un test reale lo si ottiene tipicamente dopo una privilege escalation, ma in lab si può assegnare direttamente tramite la console Active Directory Users and Computers.

Mimikatz (open source) resta il riferimento principale. Il modulo lsadump include il comando DCSync nativo. Per estrarre l'hash NTLM dell'account KRBTGT:

mimikatz # lsadump::dcsync /domain:lab.local /user:krbtgt

Per esfiltrare tutti gli hash del dominio in un'unica operazione si aggiunge il flag /all:

mimikatz # lsadump::dcsync /domain:lab.local /all /csv

Il parametro /csv produce un output tabulare facilmente importabile in altri tool di post-exploitation. Vale la pena ricordare che Mimikatz supporta anche NetSync, una variante che utilizza il protocollo di replica legacy MS-NRPC, utile per testare ambienti con domain controller datati.

Su Linux, Impacket (open source) offre lo script secretsdump.py, che implementa DCSync senza necessità di eseguire codice sul domain controller:

secretsdump.py lab.local/admin:Password1@dc01.lab.local -just-dc-ntlm

Il flag -just-dc-ntlm limita l'estrazione ai soli hash NTLM, velocizzando l'operazione. Per ottenere anche le chiavi Kerberos AES si usa -just-dc senza il suffisso. Se si dispone di un hash NTLM invece della password in chiaro, Impacket supporta il pass-the-hash con il parametro -hashes.

Per una catena d'attacco completa in ambiente lab, il flusso tipico è: enumerare gli account con privilegi di replica tramite BloodHound (open source) e il suo collector SharpHound, identificare il path di escalation più breve verso un account con Replicating Directory Changes All, compromettere quell'account, e infine lanciare il DCSync.

Un test utile è verificare la detection eseguendo il DCSync da una workstation qualsiasi (non un DC): se il SOC non genera alert, la rete ha un gap di visibilità critico. In BloodHound si può interrogare il grafo con la query Cypher dedicata per trovare tutti i principal con diritti DCSync:

MATCH p=(n)-[:MemberOf|GetChanges|GetChangesAll1..]->(d:Domain) RETURN p*

Questa query restituisce ogni nodo che possiede, direttamente o per appartenenza a gruppi, i permessi necessari alla replica — un punto di partenza essenziale per la fase di ricognizione interna.


Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.