Cancellazione della Cronologia Comandi: Clear Command History (T1070.003)

Quando un attaccante conquista una shell su un sistema compromesso, ogni comando digitato lascia una traccia persistente. La tecnica Clear Command History consiste nell'eliminare o manipolare queste tracce per ostacolare le indagini forensi e sfuggire al monitoraggio difensivo. Si colloca nella tattica Defense Evasion (TA0005), quella fase della kill chain in cui l'avversario lavora attivamente per non essere scoperto.

La superficie d'impatto è ampia e multipiattaforma. Su Linux e macOS, la cronologia risiede nel file puntato dalla variabile d'ambiente HISTFILE — tipicamente ~/.bash_history o ~/.zsh_history. Su Windows, PowerShell mantiene due livelli di cronologia: quella di sessione (volatile) e quella persistente gestita dal modulo PSReadLine, scritta nel file ConsoleHost_history.txt sotto APPDATA. Anche ambienti infrastrutturali sono coinvolti: i server ESXi registrano i comandi in /var/log/shell.log, mentre i dispositivi di rete conservano la history nella CLI.

I numeri parlano chiaro: 8 gruppi APT documentati, 3 famiglie malware e 3 mitigazioni dedicate. Dalla criminalità finanziaria allo spionaggio state-sponsored, la cancellazione della cronologia è un gesto universale — rapido da eseguire, devastante per chi indaga. Eppure, proprio la sua semplicità la rende intercettabile con le giuste contromisure.


La simulazione di questa tecnica in laboratorio è tra le più dirette del framework: non richiede exploit complessi, ma una comprensione granulare di dove ogni sistema operativo conserva la cronologia. L'obiettivo del red teamer è dimostrare che la cancellazione funziona — e, soprattutto, verificare se il blue team la rileva.

Linux e macOS. Il metodo classico è il comando history -c, che svuota la cronologia della sessione corrente in memoria. Tuttavia, questo da solo non elimina il file su disco. Per una pulizia completa durante un engagement, la catena operativa è:

history -c && history -w && rm -f ~/.bash_history

Il flag -w forza la scrittura dello stato (ora vuoto) sul file, e il rm rimuove fisicamente l'artefatto. Per Zsh, il target diventa ~/.zsh_history. Un approccio più sottile consiste nel manipolare la variabile d'ambiente per disabilitare il logging fin dall'inizio della sessione:

unset HISTFILE

oppure

export HISTFILE=/dev/null

Questi comandi impediscono che qualsiasi comando successivo venga registrato. In un red team assessment realistico, è buona pratica eseguire unset HISTFILE come primo comando dopo l'accesso, simulando il comportamento documentato di gruppi come TeamTNT e APT41.

Windows PowerShell. La cronologia di sessione si cancella con:

Clear-History

Ma il vero bersaglio è il file persistente di PSReadLine. Per eliminarlo come ha fatto Medusa Group:

Remove-Item (Get-PSReadlineOption).HistorySavePath

Per disabilitare il logging futuro nella sessione corrente, utile durante l'engagement:

Set-PSReadlineOption -HistorySaveStyle SaveNothing

ESXi. Su server VMware ESXi, il target è il file /var/log/shell.log. La cancellazione può avvenire con un semplice troncamento:

> /var/log/shell.log

oppure con la rimozione selettiva di righe specifiche tramite sed, per un approccio più chirurgico che simula operazioni di APT5.

Dispositivi di rete. Sulla CLI di router e switch, i comandi sono diretti:

clear history clear logging

Per il framework di test, Atomic Red Team (open source) fornisce test atomici pre-confezionati per questa tecnica, eseguibili con il modulo PowerShell Invoke-AtomicRedTeam (open source). I test coprono Linux, macOS, Windows e permettono di validare le detection in modo ripetibile.


Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.