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ù
Eliminare le tracce del proprio passaggio è il gesto più istintivo di un attaccante che ha già ottenuto ciò che cercava — o che vuole restare più a lungo senza essere scoperto. La tecnica T1070.002 descrive esattamente questo: la cancellazione o il troncamento dei log di sistema su ambienti Linux e macOS, con l'obiettivo di rendere invisibili le attività precedenti.
La tattica di riferimento è Defense Evasion (TA0005), la fase della kill chain in cui l'avversario lavora attivamente per sottrarsi ai meccanismi di rilevamento. I log coinvolti risiedono quasi tutti sotto /var/log/ e coprono l'intera superficie operativa del sistema: autenticazione (auth.log, secure), sessioni utente (wtmp, btmp, utmp), kernel, cron, web server e posta elettronica. Su macOS si aggiungono i log applicativi sotto /Library/logs e il sistema Unified Logging.
I numeri del framework parlano chiaro: 4 gruppi APT documentati, 4 famiglie malware e 3 mitigazioni ufficiali. L'assenza di campagne specifiche non deve ingannare — la cancellazione dei log è un'azione trasversale, quasi mai il fulcro di un'operazione ma sempre presente come passo di chiusura. Gruppi diversissimi per motivazione e sofisticazione — dal cryptomining al cyber-espionage di stato — convergono tutti su questa tecnica, a dimostrazione della sua universalità.
La simulazione di questa tecnica in laboratorio è tra le più dirette dell'intero framework. L'obiettivo non è solo eseguire la cancellazione, ma farlo con le stesse varianti usate dai gruppi APT documentati, per verificare che la detection sia robusta su ogni metodo.
Il primo scenario replica il comportamento di Rocke e TeamTNT: cancellazione massiva della directory /var/log/. L'approccio più grezzo è:
sudo rm -rf /var/log/syslog /var/log/auth.log /var/log/kern.log
TeamTNT si concentrava sul solo syslog, ma in un test vale la pena allargare il perimetro. Per simulare la pulizia più chirurgica di Salt Typhoon, che cancella anche i record di login binari, aggiungi:
sudo truncate -s 0 /var/log/wtmp /var/log/btmp /var/log/lastlog
cat /dev/null > ~/.bash_history && history -c && unset HISTFILE
L'ultimo comando replica anche il comportamento di Sea Turtle, che disattiva la history di Bash tramite unset. Il troncamento con truncate -s 0 è preferibile alla rimozione con rm perché non genera errori nei daemon che tengono aperto il file descriptor — ed è anche più difficile da notare, perché il file continua a esistere.
Su macOS la superficie è diversa. Proton rimuove log da /var/logs e /Library/logs. Per simularlo puoi utilizzare:
sudo rm -f /Library/logs/.asl*
sudo log erase --all
Il comando log erase è specifico del framework Unified Logging di macOS e richiede privilegi di root. Per testare la detection senza distruggere tutto l'ambiente, è consigliabile operare su una macchina virtuale con snapshot.
Per un esercizio red team strutturato, Atomic Red Team (open source) fornisce test atomici pre-confezionati per questa tecnica. L'esecuzione tramite il modulo PowerShell Invoke-AtomicTest — che funziona anche su Linux e macOS tramite il runner pwsh — permette di lanciare scenari ripetibili:
Invoke-AtomicTest T1070.002
Questo esegue tutti i test registrati per la sotto-tecnica, generando al contempo artefatti utili per validare le regole di correlazione del SOC. Prima di ogni test, verifica che la catena di forwarding dei log verso il SIEM sia attiva: l'obiettivo primario è misurare il delta temporale tra cancellazione locale e ultimo evento ricevuto dal collector.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo