
Erkennen Sie Linux-Rootkits, die Signale nutzen, um Prozessprivilegien anzuheben.
Erkennt Linux-Rootkits, die Signale verwenden, um Prozessrechte zu erhöhen.
Manche Rootkits installieren Signalhandler, die auf bestimmte Signale warten, um Prozessrechte zu erhöhen. Dieses Tool kann diese Rootkits identifizieren, indem es Signale sendet und beobachtet, ob die UID zu Root wechselt. Optional wird eine Root-Shell gestartet.
Getestet mit:
666 bekannt sein)Du kannst die neuesten vorkompilierten Binärdateien von der Release-Seite herunterladen; oder die neueste Pre-Release-Version aus dem Quellcode erstellen:
git clone https://github.com/bcoles/rootkit-signal-hunter && \
cd rootkit-signal-hunter && \
cargo build --release
rootkit-signal-hunter -- [OPTIONS]
--min <MIN>: Minimale Signalnummer (Standard: 0)--max <MAX>: Maximale Signalnummer (Standard: 64)-s, --shell: Root-Shell starten (falls erkannt)-t, --threads: Anzahl der Worker-Threads (Standard: 16)-p, --pid: Prozess-ID, an die Signale gesendet werden (Standard: $$)-v, --verbose: Ausführliche Ausgabe aktivieren[!NOTE] Die
--pid-Implementierung verwendet$$, um die Prozess-ID eines neu erzeugten Prozesses darzustellen. Dies schlägt auf nicht-POSIX-konformen Shells wie Fish fehl.
Rootkits wie Singularity
und Diamorphine ermöglichen eine Eskalation von
Berechtigungen mit jeder Prozess-ID und können mit den Standardoptionen problemlos erkannt werden
(-s startet eine Root-Shell):
rootkit-signal-hunter -s
Rootkits wie KoviD erfordern eine bestimmte
Prozess-ID, die mit dem Flag -p / --pid angegeben werden muss:
rootkit-signal-hunter -s --pid 666
[!NOTE] Dies birgt das Risiko, den legitimen Prozess mit der ID
666zu beenden (falls der aktuelle Benutzer die erforderliche Berechtigung besitzt).
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Details findest du in der Datei LICENSE.
Ein großes Dankeschön an David Reguera Garcia (Dreg), der eine ähnliche signalbasierte Erkennung im Rahmen von lsrootkit implementiert hat.
Copyright © 2025, bcoles