Sabotaggio dei Log di Comando: Impair Command History Logging (T1562.003)
Quando un attaccante compromette un sistema, ogni comando digitato può lasciare tracce indelebili. La tecnica di sabotaggio della cronologia comandi rappresenta uno dei metodi più sottili per operare nell'ombra, manipolando le variabili d'ambiente che controllano la registrazione dei comandi nei terminali.
Questa tecnica si manifesta durante la fase di Defense Evasion (TA0005), quando l'avversario ha già stabilito un punto d'appoggio e necessita di muoversi senza lasciare impronte digitali. I sistemi operativi moderni registrano automaticamente ogni comando eseguito, ma attraverso la manipolazione di variabili come HISTFILE, HISTCONTROL e HISTFILESIZE su Linux/macOS, o PSReadLine su Windows, è possibile disabilitare completamente questa funzionalità.
L'impatto è significativo: 4 gruppi APT documentati hanno utilizzato questa tecnica in operazioni reali, tra cui APT38 che ha sfruttato il trucco dello spazio iniziale nei comandi per evitare la registrazione. La tecnica è stata osservata in 2 campagne maggiori contro infrastrutture critiche, dimostrando la sua efficacia nel mondo reale.
La manipolazione della cronologia comandi richiede solo privilegi utente standard, rendendola accessibile anche senza elevazione. Su Linux, il comando più immediato è unset HISTFILE, che disabilita completamente la registrazione per la sessione corrente.
Per un approccio più sofisticato, puoi sfruttare HISTCONTROL impostandolo su "ignorespace". Questo permette di nascondere selettivamente i comandi semplicemente anteponendo uno spazio:
export HISTCONTROL=ignorespace
Da questo momento, qualsiasi comando preceduto da spazio non verrà registrato. APT38 ha utilizzato esattamente questa tecnica, digitando " ls" invece di "ls" per operare invisibilmente.
Su Windows, PowerShell offre opzioni altrettanto potenti. Il modulo PSReadLine può essere configurato per cessare completamente la registrazione:
Set-PSReadlineOption -HistorySaveStyle SaveNothing
Alternativamente, puoi reindirizzare i log verso un percorso controllato:
Set-PSReadLineOption -HistorySavePath C:\temp\fake_history.txt
Per sistemi ESXi, la variabile HISTFILE funziona similarmente a Linux. VIRTUALPITA, malware documentato in campagne recenti, combina due tecniche: export HISTFILE=0 per azzerare la cronologia e service vmsyslogd stop per disabilitare il logging di sistema.
Su macOS, dove HISTCONTROL non esiste di default, puoi comunque impostarla manualmente. La shell rispetterà le stesse regole di Linux, permettendo l'uso del trucco dello spazio iniziale.
Per testare l'efficacia, verifica con echo $HISTFILE che la variabile sia effettivamente non impostata. Esegui alcuni comandi sensibili, poi controlla che ~/.bash_history non contenga le tue attività recenti.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo