Rootkits sind der digitale Schimmel hinter der Tapete: Wenn du sie siehst, ist der eigentliche Schaden oft schon passiert. Trotzdem sind rkhunter und chkrootkit nützliche Werkzeuge — nicht als magische Exorzisten, sondern als Rauchmelder für verdächtige Systeme.
Was die beiden wirklich können
rkhunter und chkrootkit suchen nach bekannten Rootkit-Spuren, verdächtigen Dateien, manipulierten System-Binaries, merkwürdigen Kernel-Modulen und klassischen Anzeichen wie versteckten Prozessen oder auffälligen Netzwerk-Tools.
Wichtig: Sie erkennen bekannte Muster. Gegen ein frisches, sauber gebautes Kernel-Rootkit aus der Hölle helfen sie nur begrenzt. Wenn ein Angreifer Root-Rechte hatte, kann er theoretisch auch deine Scanner belügen. Willkommen in der Sysadmin-Realität, Kaffee steht rechts.
Installation
Auf Debian/Ubuntu ist das schnell erledigt:
sudo apt update
sudo apt install rkhunter chkrootkitDanach aktualisieren wir zuerst die Signaturen von rkhunter:
sudo rkhunter --update
sudo rkhunter --propupdDer zweite Befehl ist wichtig: --propupd legt eine Referenz für Dateieigenschaften an. Wenn du das auf einem bereits kompromittierten System machst, konservierst du eventuell den Tatort inklusive Einbrecher. Also idealerweise direkt nach frischer Installation oder bekannt sauberem Zustand ausführen.
Erster Scan mit rkhunter
sudo rkhunter --check --sk--sk steht für „skip keypress“, damit du nicht alle drei Sekunden Enter drücken musst wie bei einem schlechten BIOS-Update.
Das Ergebnis landet normalerweise unter /var/log/rkhunter.log. Interessant sind Zeilen mit Warning. Aber nicht jede Warnung ist ein Weltuntergang.
Typische False Positives:
- Hidden file in /dev/.udev oder ähnlichen Systempfaden
- geänderte Hashes nach legitimen Paketupdates
- SSH-Root-Login erlaubt, obwohl das bewusst so konfiguriert wurde
- ungewöhnliche, aber legitime Kernel-Module
Nach Paketupdates solltest du prüfen und dann die Referenz erneuern:
sudo rkhunter --check
sudo rkhunter --propupdNicht blind --propupd drücken, nur weil es rot blinkt. Erst verstehen, dann beruhigen.
Scan mit chkrootkit
chkrootkit ist etwas rustikaler, aber schnell:
sudo chkrootkitAuch hier gilt: Ausgabe lesen, nicht panisch den Server aus dem Rack reißen. Meldungen wie INFECTED sehen dramatisch aus, können aber durch legitime Tools ausgelöst werden. Besonders bei Containern, gehärteten Systemen oder Custom-Kernels wird es gerne kreativ.
Einzelne Tests kannst du gezielt starten:
sudo chkrootkit sshd
sudo chkrootkit bindshellDas ist praktisch, wenn du eine bestimmte Spur nachprüfen willst.
Automatisieren, aber mit Hirn
Für regelmäßige Checks kannst du rkhunter per Cron laufen lassen. Beispiel:
# /etc/cron.d/rkhunter-check
30 3 * * * root /usr/bin/rkhunter --check --cronjob --report-warnings-onlyDas reduziert die Ausgabe auf Warnungen. Genau das willst du nachts um 03:30 Uhr. Niemand braucht einen Roman per Mail, nur weil /bin/ls noch existiert.
False Positives sauber einordnen
Unsere Faustregel:
1. Hat sich kürzlich ein Paket geändert?
2. Passt die Datei zu einem installierten Paket?
3. Ist der Hash über den Paketmanager nachvollziehbar?
4. Gibt es passende Logs in /var/log/auth.log, /var/log/syslog oder journalctl?
5. Tritt die Warnung auf mehreren vergleichbaren Systemen auf?
Bei Debian/Ubuntu hilft:
dpkg -S /bin/ls
sudo debsums -s coreutilsWenn debsums meckert, wird es spannender. Wenn nicht, war es vermutlich nur ein Update mit Drama-Queen-Faktor.
Was du nicht vergessen darfst
Rootkit-Scanner ersetzen kein Monitoring, kein Patchmanagement und keine saubere Härtung. Sie sind ein Baustein. Wenn du ernsthaft Kompromittierung vermutest: System isolieren, forensisch sichern, Logs ziehen, neu installieren. Nicht „mal eben bereinigen“. Das ist wie Schimmel überstreichen und stolz nicken.
rkhunter und chkrootkit sind gut, wenn du sie regelmäßig nutzt, ihre Grenzen kennst und Warnungen prüfst statt glaubst. Der Scanner schreit. Denken musst du leider immer noch selbst.