Dumping del Database Active Directory: NTDS (T1003.003)

Il database NTDS.dit rappresenta il cuore pulsante di ogni dominio Active Directory, contenendo hash delle password, informazioni su utenti, dispositivi e privilegi dell'intera infrastruttura. Gli attaccanti che riescono ad accedere o copiare questo file ottengono le chiavi del regno aziendale.

Questa tecnica appartiene alla tattica TA0006 (Credential Access), posizionandosi nella fase centrale della kill chain quando l'avversario ha già consolidato la propria presenza. Il file NTDS.dit si trova tipicamente in %SystemRoot%\NTDS\Ntds.dit sui domain controller, ma gli attaccanti cercano anche backup contenenti informazioni simili.

L'impatto è significativo: 17 gruppi APT documentati hanno utilizzato questa tecnica, insieme a 4 software specializzati e 3 campagne recenti. La popolarità deriva dall'efficacia nel compromettere intere infrastrutture con un singolo file.

La creazione di una shadow copy rappresenta l'approccio più comune per accedere al database NTDS senza interrompere i servizi. Su un domain controller Windows, puoi eseguire:

vssadmin create shadow /for=C:

Una volta creata la shadow copy, il file NTDS.dit diventa accessibile per la copia. Puoi utilizzare ntdsutil.exe, tool nativo di Windows, per creare un backup del database:

ntdsutil "ac i ntds" "ifm" "create full c:\temp" q q

Questo comando genera una copia completa del database Active Directory nella directory specificata. L'approccio è legittimo dal punto di vista del sistema operativo, rendendo difficile la distinzione tra operazioni amministrative e attività malevole.

Per l'estrazione remota degli hash, Impacket offre il modulo secretsdump.py che supporta diverse modalità operative. La sintassi base per l'estrazione remota è:

secretsdump.py DOMAIN/USER:PASSWORD@TARGET

In alternativa, se hai accesso fisico ai file NTDS.dit e SYSTEM, puoi estrarre gli hash offline:

secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL

CrackMapExec integra funzionalità simili con un'interfaccia più user-friendly. Per dumping tramite DRSUAPI:

crackmapexec smb TARGET -u USER -p PASSWORD --ntds

L'utilizzo di Volume Shadow Copy Service rimane comunque l'approccio più furtivo. Koadic automatizza questo processo attraverso i suoi moduli dedicati, mentre strumenti come Invoke-NinjaCopy permettono la copia diretta di file locked dal sistema operativo.

Per ambienti Linux che devono interagire con domain controller Windows, esentutl può essere utilizzato per manipolare database ESE come NTDS.dit. La sintassi per il recupero è:

esentutl /y /vss ntds.dit /d ntds_copy.dit

La chiave del successo sta nel minimizzare l'interazione diretta con il domain controller. Molti penetration tester preferiscono copiare i file necessari e processarli offline per ridurre il rischio di detection.

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

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