Modifica Permessi Unix: Linux and Mac File and Directory Permissions Modification (T1222.002)

La tecnica T1222.002 descrive la manipolazione di permessi e attributi su file e directory in ambienti Linux e macOS come strumento per aggirare le liste di controllo accessi (ACL) e ottenere accesso a risorse protette. Rientra nella tattica TA0005 (Defense Evasion) e rappresenta un passaggio abilitante ricorrente in fasi successive della kill chain, in particolare per garantire l'esecuzione di payload appena scaricati, consolidare la persistenza o bloccare l'accesso di altri utenti a file compromessi.

Gli strumenti al centro della tecnica sono utility native del sistema: chmod per modificare i bit di permesso, chown per cambiare proprietario e gruppo, chattr su Linux per attributi estesi immutabili, chflags su macOS per flag come uchg o schg. L'abuso di questi binari legittimi rende la tecnica particolarmente insidiosa perché genera rumore di fondo indistinguibile dalle normali attività di amministrazione.

I numeri raccontano la sua diffusione trasversale: 3 gruppi APT documentati, 10 famiglie malware, 1 campagna rilevante come KV Botnet Activity, e solo 2 mitigazioni ufficiali. La ricorrenza di chmod +x e chmod 777 nei payload di attori come OSX/Shlayer, Bundlore, XCSSET e Kinsing dimostra come si tratti di un mattone quasi obbligato per qualsiasi malware Unix-like che debba trasformare un file scaricato in un eseguibile funzionante.

In un ingaggio red team su target Unix-like, la modifica dei permessi è raramente un obiettivo finale ma quasi sempre un passaggio operativo tra la consegna del payload e la sua esecuzione. La sequenza tipica inizia dopo l'initial access: dopo aver droppato un binario tramite curl o wget, si rende eseguibile con chmod +x /tmp/impl oppure, per simulare pattern osservati in OSX/Shlayer e Bundlore, con chmod 777 /tmp/impl o chmod -R 755 /Users/Shared/target.app.

Su macOS, per replicare il comportamento di Dok e XCSSET, il comando chmod +x /Users/Shared/AppStore.app concede permessi di esecuzione a tutti gli utenti sulla bundle. Per emulare OSX_OCEANLOTUS.D conviene includere nella catena una fase in cui il second-stage payload viene scritto senza bit di esecuzione e successivamente abilitato, così da testare la detection sulla transizione di stato dell'attributo.

Su Linux, per imitare TeamTNT, si può marcare un binario come immutabile con chattr +i /usr/local/bin/mimic per renderlo non modificabile né cancellabile persino da root senza prima rimuovere l'attributo. Questa tecnica è utile anche per proteggere file di persistenza come cron entry o unit systemd contro rimozioni difensive automatiche. Verificare l'attributo con lsattr e ripristinare con chattr -i prima del cleanup.

Per simulare Rocke conviene bloccare la modifica di file di configurazione critici cambiando ownership a un utente non standard e rimuovendo i permessi di scrittura per gli altri: chown attacker:attacker /etc/target.conf && chmod 400 /etc/target.conf. Per pattern legati a COATHANGER, testare la modifica del GID di processi legittimi per confondere l'analisi.

Sul fronte tooling da laboratorio, LinPEAS e linux-smart-enumeration (entrambi open source) aiutano a identificare rapidamente file SUID/SGID sfruttabili tramite find / -perm -4000 -type f 2>/dev/null. Per operazioni offensive più strutturate, framework come Sliver (open source) e Mythic (open source) con agent poseidon per macOS gestiscono nativamente la fase di chmod sui payload droppati. Per validare la detection, Atomic Red Team (open source) include test specifici sotto T1222.002 che eseguono chmod/chown su percorsi controllati, utili per calibrare le regole SIEM senza generare falsi positivi in produzione.

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.