rkhunter

Rootkit Hunter, scanne les systèmes Linux à la recherche de rootkits, backdoors et exploits locaux. Vérifie le système de fichiers, les binaires, les ports réseau et les modules noyau à la recherche de signes de compromission. Rootkit Hunter — scans Linux systems for rootkits, backdoors, and local exploits. Checks file system, binaries, network ports, and kernel modules for signs of compromise.

↗ https://rkhunter.sourceforge.net/

Overview

rkhunter (Rootkit Hunter) scans a Linux system for rootkits, backdoors, and other malware indicators. It checks system binaries for modifications, looks for known rootkit files, tests network interfaces for promiscuous mode, and examines startup files for suspicious entries.

Basic Usage

Full system scan

rkhunter --check

Check with verbose output

rkhunter --check -v

Skip keyboard input at prompts

rkhunter --check --sk

Non-interactive (for scripts/cron)

rkhunter --check --sk --nocolors

First Run Setup

Update database (must run first)

rkhunter --update

Create initial baseline (run before system is compromised)

rkhunter --propupd

Check with all tests

rkhunter --check --enable all

Scan Options

# Check only specific tests
rkhunter --check --enable rootkits
rkhunter --check --enable apps
rkhunter --check --enable hidden_ports

Scan a specific path

rkhunter --check --scan-mode rootkit --scan-dir /tmp

Report-only mode (no interaction)

rkhunter --check --sk --nocolors 2>&1 | tee rkhunter-report.txt

Reviewing Results

View the log

cat /var/log/rkhunter.log

Show only warnings

grep "Warning\|error\|\[ Warning \]" /var/log/rkhunter.log
# Status summary at end shows:
# System checks: passed/warnings/failures
# File properties checks
# Rootkit checks
# Application checks

What rkhunter Checks

# Binary file changes (MD5/SHA hash comparison)
# Known rootkit file/directory signatures
# Network port backdoors
# Hidden files in /dev, /tmp
# Suspicious startup scripts (/etc/rc.local)
# Cron job entries
# Kernel module anomalies
# LD_PRELOAD usage
# Promiscuous mode on network interfaces
# SSH config weaknesses
# Suspicious SUID/SGID binaries

Tips

  • Run --propupd immediately after a fresh clean install to build the baseline
  • After an update/install, run --propupd again to update the properties database
  • Warnings don’t always mean compromise — check each warning manually
  • Common false positives: package updates, custom compiled binaries
  • Use in combination with chkrootkit for better coverage
  • Schedule weekly runs via cron: rkhunter --check --sk --quiet
Help / Man page
rkhunter [options]

--check       Run checks
--update      Update rootkit database
--propupd     Update file properties database
--sk          Skip keyboard prompts
--enable X    Enable specific test group
--disable X   Disable specific test group
--nocolors    No ANSI colors (for logging)
--quiet       Only show warnings/errors
-v            Verbose
--logfile F   Log file path (default: /var/log/rkhunter.log)

Vue d’ensemble

rkhunter (Rootkit Hunter) scanne un système Linux à la recherche de rootkits, backdoors et autres indicateurs de malware. Il vérifie les binaires système à la recherche de modifications, cherche des fichiers de rootkits connus, teste les interfaces réseau pour le mode promiscuité, et examine les fichiers de démarrage à la recherche d’entrées suspectes.

Utilisation basique

# Scan complet du système
rkhunter --check

# Vérification avec sortie verbeuse
rkhunter --check -v

# Ignorer les saisies clavier aux invites
rkhunter --check --sk

# Non interactif (pour scripts/cron)
rkhunter --check --sk --nocolors

Configuration au premier lancement

# Mettre à jour la base de données (à faire en premier)
rkhunter --update

# Créer une baseline initiale (à lancer avant que le système ne soit compromis)
rkhunter --propupd

# Vérifier avec tous les tests
rkhunter --check --enable all

Options de scan

# Ne vérifier que des tests spécifiques
rkhunter --check --enable rootkits
rkhunter --check --enable apps
rkhunter --check --enable hidden_ports

Scanner un chemin spécifique

rkhunter --check --scan-mode rootkit --scan-dir /tmp

Mode rapport uniquement (sans interaction)

rkhunter --check --sk --nocolors 2>&1 | tee rkhunter-report.txt

Examen des résultats

Consulter le log

cat /var/log/rkhunter.log

Afficher seulement les avertissements

grep "Warning\|error\|\[ Warning \]" /var/log/rkhunter.log
# Le résumé de statut en fin d'exécution montre :
# Vérifications système : réussies/avertissements/échecs
# Vérifications des propriétés de fichiers
# Vérifications de rootkits
# Vérifications d'applications

Ce que rkhunter vérifie

# Modifications de fichiers binaires (comparaison de hash MD5/SHA)
# Signatures de fichiers/répertoires de rootkits connus
# Backdoors sur ports réseau
# Fichiers cachés dans /dev, /tmp
# Scripts de démarrage suspects (/etc/rc.local)
# Entrées de tâches cron
# Anomalies de modules noyau
# Utilisation de LD_PRELOAD
# Mode promiscuité sur les interfaces réseau
# Faiblesses de configuration SSH
# Binaires SUID/SGID suspects

Conseils

  • Lancer --propupd immédiatement après une installation propre pour construire la baseline
  • Après une mise à jour/installation, relancer --propupd pour mettre à jour la base de propriétés
  • Les avertissements ne signifient pas toujours une compromission : vérifier chaque avertissement manuellement
  • Faux positifs courants : mises à jour de paquets, binaires compilés sur mesure
  • À utiliser en combinaison avec chkrootkit pour une meilleure couverture
  • Planifier des exécutions hebdomadaires via cron : rkhunter --check --sk --quiet
Aide / Page de manuel
rkhunter [options]

--check       Run checks
--update      Update rootkit database
--propupd     Update file properties database
--sk          Skip keyboard prompts
--enable X    Enable specific test group
--disable X   Disable specific test group
--nocolors    No ANSI colors (for logging)
--quiet       Only show warnings/errors
-v            Verbose
--logfile F   Log file path (default: /var/log/rkhunter.log)