Modifica Permessi File Windows: Windows File and Directory Permissions Modification (T1222.001)

La tecnica T1222.001 descrive la manipolazione di permessi e attributi su file e directory Windows con l'obiettivo di aggirare i controlli imposti dalle Discretionary Access Control List (DACL). In ambiente Windows le DACL definiscono in modo esplicito quali account possono leggere, scrivere o eseguire un oggetto securable; alterarle consente all'attaccante di accedere a risorse protette, sovrascrivere binari di sistema o preparare il terreno per persistenza e hijack di flussi di esecuzione.

La tecnica è classificata sotto la tattica TA0005 (Defense Evasion) perché il fine primario è eludere i controlli di accesso che dovrebbero segnalare o bloccare l'attività malevola. Nella kill chain si colloca trasversalmente: supporta fasi di Persistence (modifica di script di logon o Accessibility Features), Privilege Escalation (presa di possesso di binari privilegiati tramite takeown) e Impact (rimozione di restrizioni prima di cifratura ransomware).

I dati MITRE censiscono 2 gruppi APT, 9 famiglie malware e 2 mitigazioni che sfruttano o contrastano questa tecnica. Tra i software spiccano ransomware ad alto impatto come WannaCry, Ryuk, BitPaymer, WastedLocker, BlackCat e BlackByte, il che rende la modifica DACL un marker comportamentale ricorrente nelle fasi finali di intrusioni ransomware su larga scala.

Un red teamer che voglia riprodurre T1222.001 in laboratorio dispone di un arsenale di utility native Windows, tutte firmate Microsoft e presenti di default, che rendono l'attività living-off-the-land e difficile da distinguere dall'amministrazione legittima.

Il comando cardine è icacls (integrato in Windows, gratuito). La sintassi classica osservata in campioni come Ryuk e WannaCry è:

icacls C:\target /grant Everyone:F /T /C /Q

L'opzione /grant Everyone:F concede controllo totale al gruppo Everyone, /T applica ricorsivamente sull'albero, /C continua in caso di errori e /Q sopprime i messaggi di successo. Una variante utile per resettare completamente le ACL a quelle ereditate dal parent è icacls /reset /T /C, pattern impiegato da BitPaymer.

Per prendere possesso di file di cui non si è owner si combina con takeown:

takeown /F C:\Windows\System32\utilman.exe /A

Il flag /A assegna la ownership al gruppo Administrators anziché all'utente corrente, comportamento osservato in WastedLocker. La sequenza tipica di privilege escalation su binari di Accessibility Features prevede takeown seguito da icacls per concedersi write, poi sostituzione del binario.

L'utility legacy cacls.exe (ancora presente per compatibilità) è usata da JPIN e Storm-1811 via batch script: cacls file.exe /E /G Everyone:F modifica in modalità edit le permission. Il comando attrib consente invece di manipolare attributi di file: attrib +h +s file rende il file nascosto e di sistema, pattern usato da WannaCry per occultare componenti.

Dal lato PowerShell, i cmdlet Get-Acl e Set-Acl permettono manipolazione programmatica:

$acl = Get-Acl C:\target; $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","FullControl","Allow"); $acl.SetAccessRule($rule); Set-Acl C:\target $acl

Per simulazioni end-to-end Atomic Red Team (open source) offre test dedicati a T1222.001 pronti all'uso. BloodHound (open source) aiuta a mappare relazioni di ownership su oggetti Active Directory e file share pre-esercizio. Per emulare la catena ransomware completa, Caldera (open source) di MITRE include ability con icacls e takeown già mappate ATT&CK. Un pattern avanzato consiste nell'abusare di fsutil behavior set SymLinkEvaluation R2L:1, tecnica di BlackCat, per abilitare symlink remote-to-local e redirigere accessi filesystem.

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

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.