Furto del Database Active Directory: NTDS (T1003.003)
La tecnica T1003.003 descrive l'estrazione del file NTDS.dit, il database di Active Directory che custodisce hash delle password, oggetti utente, gruppi e relazioni di trust dell'intero dominio. Situato per default in %SystemRoot%\NTDS\Ntds.dit sui Domain Controller, questo file rappresenta il bottino più ambito nella fase di Credential Access (TA0006): un singolo dump consente all'attaccante di ricostruire offline le credenziali di tutti gli account di dominio, incluso il celebre account krbtgt che apre la strada ai Golden Ticket.
L'operazione si colloca tipicamente nelle fasi post-exploitation della kill chain, quando l'avversario ha già ottenuto privilegi di Domain Admin o accesso locale al DC. La copia diretta è ostacolata dal lock del file da parte del servizio LSASS e del database ESE, ma tecniche come Volume Shadow Copy, l'utility legittima ntdsutil.exe, moduli di Impacket come secretsdump.py e strumenti come Invoke-NinjaCopy aggirano il problema.
I dati MITRE ATT&CK documentano 17 gruppi APT, 4 software e 3 campagne che sfruttano questa tecnica, con attori del calibro di APT28, APT41, HAFNIUM, Volt Typhoon, Sandworm Team e ransomware crew come Wizard Spider e LAPSUS$. L'impatto è sistemico: la compromissione del NTDS.dit equivale al controllo dell'intero perimetro identitario aziendale e richiede tipicamente il reset dell'intera foresta AD, un'operazione che paralizza le organizzazioni per settimane.
L'estrazione del NTDS.dit in un contesto red team parte sempre da un presupposto: avere già ottenuto privilegi di Domain Admin o accesso locale con SYSTEM sul Domain Controller. Da lì si aprono diverse strade, ciascuna con firme forensi differenti.
Il metodo più "pulito" dal punto di vista operativo sfrutta ntdsutil, l'utility legittima integrata in Windows Server. Da una sessione elevata sul DC:
ntdsutil "ac i ntds" "ifm" "create full C:\Temp\ntds_backup" q q
Questo comando genera una copia coerente del database, del file SYSTEM e di SECURITY necessari per decifrare gli hash. È l'approccio prediletto da APT28, APT41, menuPass e Sandworm proprio perché usa un tool firmato Microsoft.
Un'alternativa è la creazione manuale di uno shadow copy con vssadmin (impiegata da Mustang Panda e nell'APT28 Nearest Neighbor Campaign):
vssadmin create shadow /for=C: *copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\ntds.dit C:\Temp* reg save HKLM\SYSTEM C:\Temp\SYSTEM.hive
Per scenari remoti senza atterrare sul DC, Impacket (open source) offre il modulo secretsdump.py, che sfrutta l'API DRSUAPI (Directory Replication Services) per replicare gli hash sfruttando i privilegi di replica:
secretsdump.py -just-dc-ntlm DOMAIN/user:password@dc.corp.local
Questa variante non tocca il file su disco ed è particolarmente stealth. CrackMapExec (open source, ora NetExec) automatizza lo stesso flusso su interi range:
netexec smb 10.0.0.0/24 -u administrator -p 'Pass' --ntds
Per contesti in cui l'antivirus blocca gli strumenti classici, esentutl (nativo Windows) permette di gestire il database ESE e ottenere copie consistenti, mentre Invoke-NinjaCopy (open source) — usato per raw file read che bypassa i lock del filesystem — resta una scelta storica per operazioni PowerShell.
Una volta esfiltrato il triplo ntds.dit + SYSTEM + SECURITY, l'estrazione offline degli hash NTLM si esegue con secretsdump.py -system SYSTEM.hive -ntds ntds.dit LOCAL. Il passo successivo tipico è il cracking con hashcat (open source) in modalità -m 1000 o l'esecuzione immediata di attacchi Pass-the-Hash e Golden Ticket con Rubeus (open source) o mimikatz (open source). In laboratorio è essenziale operare su range isolati e distruggere le copie del database a fine esercizio, dato il valore residuo delle credenziali estratte.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo