Sabotaggio di auditd: Disable or Modify Linux Audit System Log (T1685.004)
La tecnica T1685.004 descrive la manipolazione del sottosistema di auditing del kernel Linux — comunemente noto come auditd — con l'obiettivo di sopprimere la generazione di eventi che documenterebbero l'attività malevola. Il framework MITRE ATT&CK la colloca nella tattica TA0112 (Defense Impairment), ovvero quella famiglia di comportamenti in cui l'avversario degrada, disattiva o rende inaffidabili i controlli difensivi per erodere la visibilità del blue team.
Il sottosistema Audit opera a livello kernel e registra eventi su processi, chiamate di sistema, accessi a file e sessioni di login secondo le regole definite in audit.rules e nel file di configurazione auditd.conf. Un attaccante con privilegi di root può terminare il demone, invocare systemctl stop auditd, modificare le regole tramite auditctl, alterare i file di configurazione, oppure agganciarsi alle funzioni della libreria di audit per filtrare selettivamente ciò che viene tracciato.
L'impatto è significativo perché auditd rappresenta spesso l'unica fonte affidabile di telemetria kernel-level su host Linux non equipaggiati con EDR. I dati MITRE censiscono un software noto per implementare questo comportamento — Ebury — e due mitigazioni primarie: hardening degli account privilegiati e configurazione immutabile delle regole di audit. La tecnica si colloca tipicamente nella fase post-compromissione, dopo l'ottenimento di privilegi elevati e prima delle fasi di persistenza, movimento laterale o esfiltrazione.
In un contesto di red team autorizzato, la simulazione di T1685.004 richiede privilegi di root sull'host target. La prima famiglia di azioni riguarda la sospensione diretta del demone. Su distribuzioni con systemd si può usare systemctl stop auditd seguito da systemctl mask auditd per impedirne la riattivazione automatica. Su sistemi più vecchi o durante esercizi "noisy on purpose", service auditd stop oppure pkill -9 auditd producono lo stesso effetto ma sono più rumorosi perché generano eventi di terminazione osservabili prima dello spegnimento.
Un approccio più chirurgico consiste nel manipolare le regole runtime senza fermare il servizio. Con auditctl -D si eliminano tutte le regole caricate, mentre auditctl -e 0 disabilita l'intero motore di auditing mantenendo però il processo attivo — utile per non far scattare allarmi basati sulla morte del PID di auditd. Per la persistenza tra reboot, la modifica di /etc/audit/audit.rules o dei file drop-in in /etc/audit/rules.d/ rimuove le regole al successivo avvio.
Una variante più sofisticata prevede l'iniezione di regole di esclusione mirate: aggiungere direttive come -a never,exit -F arch=b64 -F exe=/percorso/binario-malevolo fa sì che auditd ignori qualunque syscall proveniente dal proprio impianto offensivo, lasciando intatto il resto del logging e riducendo il rischio di rilevamento comportamentale basato su "assenza totale di log".
Per emulare Ebury, che opera in modo più invasivo, si può ricorrere al hooking delle funzioni della libreria libaudit tramite LD_PRELOAD con una shared object custom. Il progetto Atomic Red Team (open source) contiene test allineati alla tecnica T1562.012 (predecessore di T1685.004) che possono essere adattati; il repository include invocazioni dirette di auditctl e modifiche a audit.rules pronte per esecuzione controllata in laboratorio.
Per verificare l'efficacia della simulazione, il red team dovrebbe generare attività "canary" prima e dopo la manipolazione — ad esempio cat /etc/shadow o l'esecuzione di un binario in /tmp — e confrontare l'output di ausearch -k
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo