Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Arile! Scopri di più
Quando un attaccante ottiene un punto d'appoggio su un sistema Windows, spesso si trova davanti a un ostacolo apparentemente banale ma molto efficace: le Discretionary Access Control Lists, ovvero le DACL. Queste strutture definiscono chi può leggere, scrivere o eseguire un file, e rappresentano uno dei meccanismi fondamentali di segregazione dei privilegi del sistema operativo. La tecnica T1222.001 descrive come gli avversari modifichino deliberatamente queste liste di controllo per aggirare le restrizioni e accedere a file protetti.
La tecnica si colloca nella tattica TA0005 — Defense Evasion: alterando i permessi, l'attaccante non sfrutta una vulnerabilità software ma piega la configurazione del sistema a proprio vantaggio, rendendo invisibili o accessibili risorse che dovrebbero restare protette. L'impatto è trasversale: dalla disabilitazione di tool di sicurezza — il cui binario viene reso non eseguibile — alla preparazione del terreno per persistenza tramite script di avvio o hijacking di eseguibili legittimi.
I numeri parlano chiaro: 9 famiglie malware documentate sfruttano questa tecnica, fra cui ransomware devastanti come Ryuk, WannaCry e BlackByte Ransomware. Due gruppi APT — Wizard Spider e Storm-1811 — la utilizzano attivamente nelle loro operazioni. Gli strumenti impiegati sono quasi sempre built-in di Windows: icacls.exe, cacls.exe, takeown.exe, attrib.exe. Questo rende la tecnica particolarmente insidiosa perché sfrutta binari firmati Microsoft, che raramente vengono bloccati da policy applicative.
La simulazione di questa tecnica in laboratorio è una delle più immediate dell'intero framework, perché gli strumenti necessari sono già installati su qualsiasi macchina Windows. L'obiettivo dell'esercizio è dimostrare come un operatore con privilegi locali possa smantellare le protezioni ACL su directory critiche in pochi secondi.
Il primo scenario replica esattamente il comportamento di Ryuk e WannaCry. Entrambi i malware concedono accesso completo alla directory corrente — e a tutte le sottodirectory — con un singolo comando:
icacls C:\TargetFolder /grant Everyone:F /T /C /Q
Il flag /T propaga la modifica ricorsivamente, /C continua anche in caso di errore su singoli file, e /Q sopprime l'output verboso. In un engagement reale, questo comando viene lanciato su share di rete o directory di backup prima della cifratura.
Il secondo scenario emula BitPaymer e WastedLocker, che preferiscono un approccio in due fasi: prima assumono la proprietà del file, poi resettano le ACL. La catena è:
takeown /F C:\Program Files\SecurityTool\agent.exe
icacls C:\Program Files\SecurityTool\agent.exe /reset
Questo pattern è particolarmente efficace contro agent EDR o antivirus il cui eseguibile è protetto da ACL restrittive impostate durante l'installazione. Dopo il reset, l'attaccante può sovrascrivere, rinominare o cancellare il binario.
Per simulare il comportamento di Storm-1811, che opera tramite batch script usando cacls.exe, si può creare un semplice file .bat:
cacls C:\Windows\System32\config\SAM /E /G Users:F
Sebbene cacls.exe sia deprecato a favore di icacls.exe, resta funzionante su Windows 10/11 e viene ancora sfruttato attivamente.
Sul versante PowerShell, la modifica dei permessi avviene tramite i cmdlet nativi del framework .NET. Un operatore red team può usare:
Set-Acl -Path "C:\SensitiveData" -AclObject (Get-Acl "C:\SensitiveData" | ForEach-Object { $.SetAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","FullControl","Allow"))); $ })
Per il reporting, il tool AccessChk di Sysinternals (gratuito) è ideale per documentare lo stato delle ACL prima e dopo la modifica: accesschk.exe -dqv C:\TargetFolder. Sigma (open source) offre regole pronte per validare che il SIEM rilevi questi comandi durante il test.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo