🛡️ chkrootkit – Guida Completa
chkrootkit Check Rootkit è un tool forense open-source che consente di rilevare rootkit conosciuti su sistemi Unix/Linux. Funziona come scanner locale e ispeziona il sistema alla ricerca di modifiche
🛡️ chkrootkit – Guida Completa
📌 Cos’è chkrootkit?
chkrootkit (Check Rootkit) è un tool forense open-source che consente di rilevare rootkit conosciuti su sistemi Unix/Linux. Funziona come scanner locale e ispeziona il sistema alla ricerca di modifiche sospette a file binari di sistema, configurazioni, moduli kernel, connessioni attive e file nascosti.
✅ Ideale in contesti di hardening post-installazione, analisi forense o rilevamento precoce di compromissioni.
🔧 Installazione
Debian/Ubuntu:
sudo apt update
sudo apt install chkrootkitRHEL/CentOS:
sudo yum install chkrootkitArch Linux:
sudo pacman -S chkrootkitOppure installazione manuale:
git clone https://github.com/Magentron/chkrootkit.git
cd chkrootkit
make sense
sudo ./chkrootkit⚙️ Funzionamento di base
🔍 Esecuzione standard:
sudo chkrootkitEsegue tutti i controlli disponibili, stampando l’output direttamente a terminale.
📋 Visualizzare solo i risultati positivi:
sudo chkrootkit | grep INFECTED🎯 Cosa controlla chkrootkit?
| Modulo | Cosa verifica |
| ifconfig, ps, ls, login, sshd... | Controlla se i binari di sistema sono stati sostituiti |
| wted, lastlog, syslogd | Verifica manipolazioni nei log |
| inetd, xinetd | Controlla anomalie nei servizi |
| Interfaces di rete | Rileva interfacce inusuali |
| /dev | Cerca dispositivi e file nascosti |
| moduli kernel | Rileva rootkit in esecuzione come LKM (Loadable Kernel Modules) |
📁 File e Log Utili
- Non genera log di default: è buona prassi redirigere l’output in un file per revisione post-scansione.
sudo chkrootkit > /var/log/chkrootkit.log🧪 Controlli Avanzati e Opzioni Utili
| Comando | Descrizione |
-q | Modalità silenziosa |
-x | Modalità debug estesa (esamina ogni comando usato) |
-n | Salta la scansione di interfacce di rete |
-d | Solo debug, non esegue il check |
-p | Specifica il path alternativo per i binari di sistema (utile per ambienti chroot) |
🧩 Esempi di utilizzo
Eseguire una scansione completa e salvare i risultati:
sudo chkrootkit > /var/log/chkrootkit_$(date +%F).logDebug per analisi forense:
sudo chkrootkit -x > debug_output.txt🔄 Automazione e Cron
Per automatizzare la scansione:
sudo crontab -eAggiungi ad esempio:
0 3 * /usr/sbin/chkrootkit | mail -s "Chkrootkit Daily Report" you@example.com📌 Differenze tra chkrootkit e rkhunter
| Tool | Caratteristiche |
| chkrootkit | Lightweight, rileva modifiche attive, ottimo per verifica manuale post-compromissione |
| rkhunter | Più esteso, con verifica checksum, cron job, aggiornamento firma rootkit |
⚠️ Utilizzali entrambi per coprire un ampio spettro di detection!
⚠️ Limitazioni
- Non rileva rootkit avanzati in modalità stealth (es. kernel-space con funzioni di hooking sofisticate).
- Non ha una firma aggiornata automaticamente (a differenza di
rkhunter).
- Nessun modulo integrato per alerting via mail o SIEM (va integrato manualmente).
🧠 Consigli da Red Teamer / Pentester
- Se trovi
chkrootkitinstallato su un host, evita modifiche ai binari noti (es./bin/ls,/sbin/ifconfig) o potrebbero venire rilevate subito.
- In fase di pivoting post-exploitation, puoi eseguire
chkrootkitper verificare la compromissione di un sistema tramite SSH tunneling o reverse shell.
- Buona prassi: utilizzare chkrootkit da live environment (bootable) per evitare rootkit attivi che falsano l'output.
📎 Conclusione
chkrootkit è uno strumento veloce, affidabile e semplice da utilizzare per individuare rootkit noti, file sospetti e anomalie su sistemi Linux. Ideale per:
- ✳️ Verifica rapida di compromissione
- 🔁 Integrazione in audit periodici
- 🔍 Analisi manuale post-pentesting