Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Aprile! Scopri di più
Il file NTDS.dit è il cuore pulsante di ogni dominio Active Directory: contiene tutti gli hash delle password, i nomi utente, le appartenenze ai gruppi e i diritti di accesso di ogni oggetto nel dominio. Questo file risiede per default nel percorso %SystemRoot%\NTDS\Ntds.dit su ciascun domain controller ed è protetto dal sistema operativo con un lock esclusivo. La tecnica T1003.003 descrive i metodi con cui un avversario tenta di accedere o copiare questo database per estrarne credenziali e informazioni sull'intera infrastruttura di dominio.
La tecnica ricade nella tattica Credential Access (TA0006), la fase della kill chain in cui l'attaccante cerca di sottrarre nomi account e password per muoversi lateralmente e consolidare la persistenza. Gli approcci documentati spaziano dalla creazione di Volume Shadow Copy — che aggira il lock sul file — all'uso di utility native come ntdsutil.exe e vssadmin.exe, passando per tool offensivi come secretsdump.py (Impacket), Invoke-NinjaCopy e moduli Metasploit dedicati.
I numeri parlano chiaro: 17 gruppi APT, 4 software, 3 campagne e 4 mitigazioni mappati confermano che il furto dell'NTDS.dit è una delle operazioni di credential dumping più diffuse e trasversali nel panorama delle minacce, adottata da attori statali, gruppi cybercriminali e operatori ransomware.
Il dump dell'NTDS.dit è uno dei passaggi chiave in qualsiasi simulazione di compromissione del dominio. Per replicarlo in laboratorio servono credenziali con privilegi di Domain Admin — o almeno i diritti di backup sul domain controller — e una buona familiarità con le utility native di Windows e con i tool offensivi più diffusi.
Approccio 1 — Volume Shadow Copy con vssadmin
Il metodo più "rumoroso" ma anche il più diretto. Si crea una copia shadow del volume di sistema e si estrae il file dal percorso ombra. Sulla console del domain controller, da un prompt elevato:
vssadmin create shadow /for=C:
Annotate il percorso della shadow copy restituito nell'output (es. \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyX), poi copiate il file:
copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopyX\Windows\NTDS\ntds.dit C:\temp\ntds.dit
Serve anche l'hive SYSTEM per decifrare gli hash:
reg save HKLM\SYSTEM C:\temp\SYSTEM
Infine, pulite la shadow copy creata:
vssadmin delete shadows /shadow={ID-shadow}
Approccio 2 — ntdsutil.exe (IFM media)
La utility nativa di gestione Active Directory offre un metodo elegante che produce un set completo di file — NTDS.dit e registry hive — in un'unica operazione. L'approccio sfrutta la funzione "Install From Media", pensata per promuovere nuovi domain controller senza replicazione di rete:
ntdsutil "ac i ntds" "ifm" "create full C:\temp\ifm" q q
Nella cartella C:\temp\ifm troverete sia il database che le chiavi necessarie all'estrazione offline.
Approccio 3 — Impacket secretsdump.py (remoto)
Impacket (open source) permette di estrarre gli hash via protocollo DRSUAPI senza toccare fisicamente il file, simulando una replicazione di dominio. Da una macchina Linux d'attacco:
secretsdump.py -just-dc DOMINIO/utente:password@IP-DC
Questo approccio è particolarmente insidioso perché non crea shadow copy e non accede direttamente al file NTDS.dit sul disco, rendendo la detection basata su file access molto meno efficace.
Approccio 4 — CrackMapExec
CrackMapExec (open source, oggi proseguito nel fork NetExec) offre un wrapper comodo per le stesse operazioni:
nxc smb IP-DC -u utente -p password --ntds
Per l'estrazione offline degli hash da un file NTDS.dit già ottenuto, usate secretsdump.py in modalità locale:
secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL
Durante l'engagement, documentate quale metodo genera più artefatti: la shadow copy è facilmente rilevabile, mentre DRSUAPI richiede detection di livello diverso. Questo confronto fornisce al blue team informazioni preziose sulla copertura dei propri controlli.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo