Cosa fa#
Un rootkit è un malware che fornisce accesso privilegiato (root) persistente a un sistema, nascondendo attivamente la propria presenza e alterando i risultati dei comandi standard di amministrazione.
TL;DR#
Un rootkit non è un singolo virus, ma un "velo" che si stende sopra il sistema operativo. Se chiedi al sistema "quali processi ci sono?", il rootkit intercetta la domanda e cancella se stesso dalla lista prima che tu veda il risultato.
Come agisce: Kernel vs User Mode#
User Mode (Anello 3)#
Il rootkit modifica gli eseguibili dei comandi (es. /bin/ls o /bin/ps). Se l'amministratore sostituisce i binari con versioni pulite o usa tool integri, il rootkit viene scoperto.
Kernel Mode (Anello 0)#
Il rootkit infetta il cuore del sistema operativo (LKM - Loadable Kernel Modules).
- Modifica le System Calls (le chiamate che le app fanno al kernel).
- È estremamente difficile da rilevare perché "mente" a tutto ciò che gira sopra di lui.
Come rilevarlo#
Poiché i comandi standard (ps, ls) sono inaffidabili, si usano due tecniche:
- Analisi Baseline: Confrontare i file di sistema con un database di hash integri.
- Scansione Cross-View: Confrontare ciò che dice il sistema operativo con ciò che dice l'hardware (tecnica usata da tool come
chkrootkito il modulo Rootcheck di wazuh). - Analisi Offline: Spegnere la macchina e analizzare il disco da un sistema pulito (Forensics).
Scenario Reale (Blue Team)#
Un server mostra un utilizzo della CPU del 50% inspiegabile. top non mostra processi pesanti.
- L'analista sospetta un rootkit che nasconde un miner.
- Esegue una scansione con Wazuh (Rootcheck).
- Wazuh rileva una discrepanza tra il numero di processi nel kernel e quelli visibili in User space.
- Viene confermata la presenza di un rootkit a livello kernel.
Collegato a#
- system — Hub Categoria
- wazuh — Per la detection
- investigazione-linux — Comandi che possono essere ingannati


