Linux Rootkit-Erkennung: Tools und Techniken

10 Min. Lesezeit - 16. Mai 2026

hero section cover
Inhaltsverzeichnis
  • Linux Rootkit-Erkennung: Tools und Techniken für die Serversicherheit
  • Arten von Linux-Rootkits
  • Scannen mit chkrootkit und rkhunter
  • Erweiterte Erkennung: Verhaltensüberwachung und Integritätsprüfung
  • Härtung Ihres Servers gegen Rootkits
  • Schlussfolgerung
Teilen

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() und finit_module() zu überwachen, die Kernelmodule unabhängig von der Methode laden.
  • Überwachen Sie kill()-A ufrufe mit Signalen über 31, die auf verdeckte Rootkit-Kommunikation hinweisen können.
  • Überprüfen Sie /proc/sys/kernel/tainted auf nicht autorisierte Kernel-Modul-Aktivitäten.
  • Achten Sie auf unerwartete .so-Dateien in /tmp oder /dev/shm.
  • Verfolgen Sie eBPF-Aktivitäten, insbesondere bpf_probe_write_user-Aufrufe. Werkzeuge wie BCC können io_uring-Operationen über Tracepoints wie sys_enter_io_uring_enter verfolgen.

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.

background image
Bremst Ihr Server Ihr Wachstum?

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

Blog

Diese Woche im Blickpunkt

Weitere Artikel
Checkliste für die Härtung von Linux-Servern

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

Weitere Artikel
background image

Haben Sie Fragen oder benötigen Sie eine individuelle Lösung?

icon

Flexible Optionen

icon

Globale Reichweite

icon

Sofortige Bereitstellung

icon

Flexible Optionen

icon

Globale Reichweite

icon

Sofortige Bereitstellung