Tutorials

🛡️ Rootkit Hunter (rkhunter) – Guida Completa

rkhunter Rootkit Hunter è uno strumento open-source che rileva rootkit, backdoor e possibili exploit noti su sistemi basati su UNIX/Linux. Analizza i file di sistema, le proprietà delle directory, i p

🛡️ Rootkit Hunter (rkhunter) – Guida Completa

📌 Cos’è rkhunter?

rkhunter (Rootkit Hunter) è uno strumento open-source che rileva rootkit, backdoor e possibili exploit noti su sistemi basati su UNIX/Linux. Analizza i file di sistema, le proprietà delle directory, i permessi, i checksum e controlla segnali di compromissione (IoC).

✅ Ideale in fase di Post Exploitation Analysis o come parte di una checklist di sicurezza proattiva.

🔧 Installazione

Debian/Ubuntu:

bash
sudo apt update sudo apt install rkhunter

RHEL/CentOS:

bash
sudo yum install epel-release sudo yum install rkhunter

Arch Linux:

bash
sudo pacman -S rkhunter

🛠️ Comandi Principali

🔍 Eseguire una scansione completa:

bash
sudo rkhunter --check

🧪 Verifica interattiva:

Il tool mostrerà risultati a schermo e chiederà conferma a ogni step. Se vuoi automatizzare:

bash
sudo rkhunter --check --sk

📥 Aggiornare i database (versioni, rootkit signatures):

bash
sudo rkhunter --update

🏗️ Creare o aggiornare il database dei file legittimi:

Dopo una fresh install o una modifica rilevante al sistema:

bash
sudo rkhunter --propupd
⚠️ Esegui questo comando solo quando sei certo che il sistema non è compromesso, altrimenti salverai uno stato compromesso come "baseline".

📂 Output dei Risultati

I log vengono salvati in:

bash
/var/log/rkhunter.log

Puoi visualizzarli con:

bash
cat /var/log/rkhunter.log | less

Oppure cercare solo le anomalie:

bash
grep WARNING /var/log/rkhunter.log

🎯 Cosa Controlla rkhunter?

ComponenteVerifica
Rootkit notiMatching con un database aggiornato di rootkit
Permessi binariFile di sistema con permessi anomali
ChecksumConfronto MD5/SHA dei file di sistema
Port KnockingPorte nascoste, backdoor su servizi
Hidden filesFile/directory nascosti (es. .xyz) in percorsi critici
NetworkingServizi in ascolto su porte inusuali
Cron JobsAnomalie nei crontab di sistema
Startup filesModifiche sospette a /etc/rc. e /etc/init.d

⚙️ Configurazione Avanzata

Il file principale di configurazione:

bash
/etc/rkhunter.conf

Puoi personalizzare:

  • Ignorare falsi positivi (es. tools da pentester)
  • Aggiungere whitelist
  • Cambiare l'URL dei mirror di aggiornamento

Esempio: escludere /usr/bin/nmap

conf
ALLOWHIDDENDIR=/usr/bin/nmap

🧩 Integrazione in Sistemi di Sicurezza

Puoi automatizzare rkhunter con cron o integrarlo con SIEM/alerting (es. Logwatch, Logcheck, Splunk, ELK).

Esempio cronjob giornaliero:

bash
0 2    /usr/bin/rkhunter --check --sk > /var/log/rkhunter_check.log 2>&1

🚨 Best Practice

Best PracticeDescrizione
🔐 Propupd post-installDopo la prima installazione per creare baseline
📅 Scan periodicheMinimo settimanali o dopo aggiornamenti
🔄 Aggiorna il DB regolarmentePer ricevere firme rootkit aggiornate
Analizza i log e warningOgni warning va verificato manualmente
⚙️ Customizza la whitelistEvita falsi positivi su tool legittimi da pentest

🧠 Considerazioni per Pentester

  • Se trovi rkhunter installato sul target, tieni conto che il sistema potrebbe generare alert in automatico.
  • Durante la post-exploitation, valuta di falsare il log di rkhunter o ritardare la scansione con un job posticipato.
  • È uno strumento utile anche in fase di Hardening, quando prepari un ambiente _pristine_ per esercitazioni CTF o per clienti.

📎 Conclusione

rkhunter è un alleato solido nel contesto della difesa del sistema Linux, ma anche un utile riferimento durante analisi post-exploitation o blue team assessment. La sua efficacia aumenta se integrato in pipeline CI/CD di sicurezza o con sistemi SIEM.