Linux Rootkit-Erkennung: Tools und Techniken
10 Min. Lesezeit - 16. Mai 2026

Wie Sie Linux-Rootkits mit chkrootkit, rkhunter, Auditd, AIDE und Verhaltensüberwachung auf Ihren Servern erkennen und verhindern können.
Linux Rootkit-Erkennung: Tools und Techniken für die Serversicherheit
Rootkits ermöglichen Angreifern einen dauerhaften, versteckten Zugriff auf Linux-Systeme. Sie manipulieren Kernel-Operationen, verstecken Dateien und Prozesse und umgehen Standard-Sicherheitstools. Einige bleiben seit Jahren unentdeckt. Ihre Erkennung erfordert einen mehrschichtigen Ansatz, da kein einziges Tool alles abfangen kann.
Dieser Beitrag befasst sich mit den wichtigsten Arten von Linux-Rootkits, wie man nach ihnen scannt und mit den fortgeschrittenen Überwachungstechniken, die erkennen, was einfache Scanner übersehen.
Arten von Linux-Rootkits
Rootkits arbeiten auf verschiedenen Berechtigungsebenen, und je tiefer sie sitzen, desto schwieriger sind sie zu finden.
Rootkits im Benutzermodus laufen auf der Anwendungsebene (Ring 3). Sie missbrauchen die dynamische Verknüpfung mit LD_PRELOAD, um bösartige Bibliotheken einzuschleusen, die Standard-C-Bibliotheksfunktionen wie readdir oder fopen abfangen und Dateien und Prozesse vor Userland-Tools verstecken.
Rootkits für den Kernelmodus laufen im Ring 0, indem sie als ladbare Kernelmodule (Loadable Kernel Modules, LKMs) geladen werden. Sie fangen Systemaufrufe ab, manipulieren den Kernelspeicher und verbergen ihre eigene Anwesenheit. Da sie an bestimmte Kernel-Versionen gebunden sind, kann ein falsch konfiguriertes Rootkit eine Kernel-Panik auslösen, wodurch es ironischerweise enttarnt wird.
eBPF-basierte Rootkits nutzen das Extended Berkeley Packet Filter-Subsystem aus, um im Kernelraum zu laufen, ohne ein herkömmliches Modul zu laden. Sie hängen sich an Syscall-Hooks, Tracepoints oder LSM-Ereignisse. Standard-LKM-Scanner können sie nicht erkennen. Boopkit ist ein bekanntes Beispiel für ein Konzept, das mit diesem Ansatz einen verdeckten C2-Kanal schafft.
io_uring-basierte Rootkits sind die neueste Variante. Sie verwenden die asynchrone E/A-Schnittstelle io_uring für Batch-Operationen und erzeugen weniger beobachtbare Syscall-Ereignisse. RingReaper, ein experimentelles Rootkit, demonstrierte, wie dadurch Aufrufe wie Lesen, Schreiben und Verbinden stillschweigend ersetzt werden können, während EDR-Tools umgangen werden.
| Rootkit-Typ | Privilegstufe | Hooking-Methode | Erkennungsschwierigkeit |
|---|---|---|---|
| Benutzermodus | Ring 3 (Benutzer) | LD_PRELOAD, Entführung von Bibliotheken | Mäßig |
| Kernel-Modus | Ring 0 (Kernel) | Syscall-Tabelle, LKM, Inline-Hooking | Hoch |
| eBPF-basiert | Ring 0 (Kernel) | eBPF-Programm-Anhang | Sehr hoch |
| io_uring-basiert | Benutzer/Kernel | Asynchrone E/A-Stapelverarbeitung | Sehr hoch |
Scannen mit chkrootkit und rkhunter
Zwei Tools bilden die Grundlage für die Erkennung von Rootkits auf Linux-Servern: chkrootkit für schnelle Scans und rkhunter für tiefere Prüfungen.
chkrootkit
chkrootkit ist ein Shell-Skript, das wichtige System-Binärdateien(ls, ps, netstat, sshd, ifconfig) auf Anzeichen von Manipulationen überprüft. Es erkennt auch promiskuitive Netzwerkschnittstellen und gelöschte Logs. In der Version 0.59 (Januar 2026) kann es über 75 Rootkits, Würmer und LKMs erkennen, darunter neuere Bedrohungen wie Linux BPFDoor, Syslogk und die XZ Backdoor.
Führen Sie es nach jeder verdächtigen Aktivität aus. Achten Sie auf Warnungen der ifpromisc-Komponente und auf Warnungen über gelöschte lastlog- oder wtmp-Dateien.
rkhunter
rkhunter geht noch weiter. Es vergleicht SHA-1-Hashes von System-Binärdateien mit bekannten guten Werten, überwacht Dateiberechtigungen und versteckte Dateien, überprüft Startkonfigurationen und führt Kernel- und Netzwerkanalysen durch.
Richten Sie es von Anfang an richtig ein:
# Establish a baseline after a clean install or update
rkhunter --propupd
# Update rootkit definitions
rkhunter --update
# Run a full scan (use --novl on production servers to reduce I/O)
rkhunter --check --enable all
Für automatische tägliche Überprüfungen setzen Sie CRON_DAILY_RUN="true" in /etc/rkhunter.conf und verwenden Sie --skip-keypress und --report-warnings-only für eine saubere Ausgabe. Überprüfen Sie die Protokolle unter /var/log/rkhunter.log und setzen Sie bestätigte Fehlalarme auf die Whitelist.
Erkennung von LKM-Rootkits
LKM-Rootkits sind besonders gefährlich, weil sie als Kernel-Erweiterungen arbeiten, Systemaufrufe abfangen und Prozesse auf der Kernel-Ebene verstecken. Standardwerkzeuge wie lsmod erkennen sie nicht, aber es gibt Möglichkeiten, sie zu erkennen.
Vergleichen Sie die lsmod-Ausgabe mit den /sys/module/-Listen. Überprüfen Sie die Systemprotokolle auf verdächtige Kernel-Meldungen:
# Look for out-of-tree module warnings
sudo dmesg | grep "loading out-of-tree module taints kernel"
# Check for module verification failures
grep "module verification failed" /var/log/syslog
# Run chkrootkit's LKM-specific check
sudo chkrootkit lkm
Selbst Rootkits, die sich vor lsmod und /proc/modules verstecken (wie Diamorphine), können durch die Überprüfung von /sys/module/diamorphine/coresize oder durch die Überprüfung von Syslog-Warnungen gefunden werden.
Erweiterte Erkennung: Verhaltensüberwachung und Integritätsprüfung
Statische Scanner haben eine grundlegende Schwäche. In einem Experiment von 2026 führte das Hinzufügen eines einzigen Null-Bytes zu einer Rootkit-Binärdatei - eine Änderung, die die Funktionalität nicht beeinträchtigt - zu einer drastischen Verringerung der Erkennungsraten. Die Erkennungsrate von Diamorphine sank von 33/66 auf 8/64, nur weil die Symboltabellen entfernt wurden. Sich allein auf Signaturen zu verlassen, ist nicht genug.
Verhaltensanalyse
Anstatt zu fragen: "Passt diese Datei zu einem bekannten Rootkit?", fragt die Verhaltensanalyse: "Verhält sich dieser Prozess ungewöhnlich?" Überwachen Sie diese Signale:
- Verwenden Sie Auditd, um die Systemaufrufe
init_module()undfinit_module()zu überwachen, die Kernelmodule unabhängig von der Methode laden. - Überwachen Sie
kill()-Aufrufe mit Signalen über 31, die auf verdeckte Rootkit-Kommunikation hinweisen können. - Überprüfen Sie
/proc/sys/kernel/taintedauf nicht autorisierte Kernel-Modul-Aktivitäten. - Achten Sie auf unerwartete
.so-Dateienin/tmpoder/dev/shm. - Verfolgen Sie eBPF-Aktivitäten, insbesondere
bpf_probe_write_user-Aufrufe. Werkzeuge wie BCC können io_uring-Operationen über Tracepoints wiesys_enter_io_uring_enterverfolgen.
Speziell für eBPF- und io_uring-Rootkits können Laufzeitüberwachungs-Tools wie Tetragon, Falco und Tracee Aktivitäten im Kernel in Echtzeit beobachten.
Überwachung der Dateiintegrität
AIDE (Advanced Intrusion Detection Environment) erstellt eine Baseline von vertrauenswürdigen Systemdateien und prüft auf Änderungen. Initialisieren Sie es mit aide --init und planen Sie dann aide --check über cron. Es verfolgt Prüfsummen, Berechtigungen, Besitzverhältnisse und Zeitstempel für kritische Binärdateien wie /bin/login und /usr/bin/sshd.
Zur Überprüfung auf Paketebene können debsums (Debian/Ubuntu) oder rpm -Va (RHEL/CentOS) die Integrität der Systemdateien bestätigen. Die zuverlässigsten Ergebnisse erhalten Sie, wenn Sie von einem vertrauenswürdigen Rettungsmedium booten und das Dateisystem offline überprüfen, da Rootkits die Berichte eines laufenden Kernels manipulieren können.
Überwachen Sie auch die Persistenzmechanismen. Rootkits modifizieren häufig /etc/ld.so.preload, um gemeinsam genutzte Objekte einzuschleusen, oder ändern .bashrc und .profile. Legitime Änderungen an diesen Dateien sind selten, so dass Warnungen hier ein hohes Signal-Rausch-Verhältnis haben.
Automatisierte Überwachung mit Auditd
Fügen Sie diese Regeln zu /etc/audit/rules.d/rootkit.rules hinzu, um verdächtige Kernelaktivitäten in Echtzeit zu erkennen:
# Detect unauthorized kernel module loading
-a always,exit -F arch=b64 -S finit_module -S init_module
# Catch unusual high-range kill signals
-a always,exit -F arch=b64 -S kill -F a1>=32
Kombinieren Sie diese Regeln mit den automatischen Updates von rkhunter. Setzen Sie UPDATE_MIRRORS=1 und MIRRORS_MODE=0 in der Konfiguration, und führen Sie rkhunter --propupd nach legitimen Systemaktualisierungen aus, um die Baseline zu aktualisieren.
Härtung Ihres Servers gegen Rootkits
Erkennen ist wichtig, aber vorbeugen ist besser. Die meisten Rootkits erfordern zur Installation erhöhte Rechte, so dass eine Verringerung der Angriffsfläche einen echten Unterschied macht.
Halten Sie den Kernel und die Pakete auf dem neuesten Stand. Angreifer nutzen ungepatchte Schwachstellen aus, um ihre Privilegien zu erweitern und LKM- oder eBPF-basierte Rootkits zu installieren. Aktualisieren Sie nach dem Patchen Ihre Erkennungs-Baselines mit rkhunter --propupd.
Erzwingen Sie geringste Rechte. Geben Sie Benutzern oder Prozessen nicht mehr Zugriff, als sie benötigen. Verwenden Sie SELinux oder AppArmor für obligatorische Zugriffskontrollen, die nicht autorisierte Aktionen blockieren, selbst wenn ein Prozess kompromittiert ist.
Deaktivieren Sie das Laden von Kernelmodulen nach dem Booten. Auf dedizierten Servern können Sie LKM-Rootkits vollständig verhindern, indem Sie das Laden von Modulen nach dem Systemstart abschalten. Dies ist bei Shared Hosting nicht möglich, was ein Grund dafür ist, dass dedizierte oder VPS-Umgebungen eine stärkere Sicherheitslage bieten.
Segmentieren Sie Ihr Netzwerk. Durch die Isolierung von Teilen Ihrer Infrastruktur werden seitliche Bewegungen eingeschränkt, wenn ein Rechner kompromittiert wird.
Überprüfen Sie regelmäßig. Tools wie Lynis können Berechtigungsfehler und Fehlkonfigurationen erkennen, bevor Angreifer sie ausnutzen.
Schlussfolgerung
Rootkits sind darauf ausgelegt, sich im Verborgenen zu halten. Wenn sich Symptome zeigen, kann das System bereits so stark beeinträchtigt sein, dass eine Wiederherstellung nicht mehr möglich ist. Kein einziger Scanner fängt alles ab, und eine einfache signaturbasierte Erkennung kann leicht umgangen werden.
Eine praktische Verteidigung kombiniert mehrere Ebenen:
- Regelmäßige Scans mit chkrootkit und rkhunter für bekannte Bedrohungen
- Auditd-Regeln und Verhaltensüberwachung für verdächtige Kernel-Aktivitäten
- Überwachung der Dateiintegrität mit AIDE, um nicht autorisierte Änderungen zu erkennen
- Laufzeit-Tools wie Tetragon oder Falco für eBPF- und io_uring-Bedrohungen
- Verschärfte Zugangskontrollen, Patches und Netzwerksegmentierung zur Reduzierung der Angriffsfläche
Automatisieren Sie, was Sie können, halten Sie die Baselines aktuell und beginnen Sie mit einer sauberen Betriebssysteminstallation, der Sie vertrauen.
FDC Servers bietet dediziertes und VPS-Hosting mit vollem Root-Zugriff und anpassbaren Kernel-Konfigurationen. Erkunden Sie die Optionen für dedizierte Server, um eine gehärtete Linux-Umgebung aufzubauen.

Haben Sie genug von langsamen Bereitstellungen oder Bandbreitenbeschränkungen? FDC Servers bietet sofortige dedizierte Leistung, globale Reichweite und flexible Pläne, die für jede Größenordnung geeignet sind.
Jetzt aktualisieren
Checkliste für die Härtung von Linux-Servern
Schritt-für-Schritt-Checkliste zur Absicherung eines Linux-Servers. Behandelt SSH, Firewalls, Patching, Dateiberechtigungen, SELinux/AppArmor und Audit-Protokollierung
15 Min. Lesezeit - 8. Mai 2026
iperf3 Tutorial: Netzwerkgeschwindigkeit unter Linux und Windows testen
10 Min. Lesezeit - 7. Mai 2026

Haben Sie Fragen oder benötigen Sie eine individuelle Lösung?
Flexible Optionen
Globale Reichweite
Sofortige Bereitstellung
Flexible Optionen
Globale Reichweite
Sofortige Bereitstellung