
Détecter les rootkits Linux qui utilisent des signaux pour élever les privilèges des processus.
Détecte les rootkits Linux qui utilisent des signaux pour élever les privilèges des processus.
Certains rootkits installent des gestionnaires de signaux qui écoutent des signaux spécifiques pour élever les privilèges. Cet outil peut identifier ces rootkits en envoyant des signaux et en observant le passage de l'UID à root. Il lance optionnellement un shell root.
Testé avec :
666)Vous pouvez télécharger les derniers binaires précompilés depuis la page des versions ; ou compiler la dernière version de pré-version depuis les sources :
git clone https://github.com/bcoles/rootkit-signal-hunter && \
cd rootkit-signal-hunter && \
cargo build --release
rootkit-signal-hunter -- [OPTIONS]
--min <MIN> : Numéro de signal minimum (défaut : 0)--max <MAX> : Numéro de signal maximum (défaut : 64)-s, --shell : Lancer un shell root (si détecté)-t, --threads : Nombre de threads de travail (défaut : 16)-p, --pid : ID de processus auquel envoyer les signaux (défaut : $$)-v, --verbose : Activer la sortie verbeuse[!NOTE] L’implémentation de
--pidutilise$$pour représenter l’ID de processus d’un processus nouvellement créé. Cela échouera sur les shells non conformes à POSIX tels que Fish.
Des rootkits tels que Singularity
et Diamorphine permettent l’élévation
de privilèges avec n’importe quel ID de processus et peuvent être trivialement détectés avec les options par défaut
(-s lance un shell root) :
rootkit-signal-hunter -s
Des rootkits tels que KoviD nécessitent qu’un ID de processus spécifique soit fourni avec l’option -p / --pid :
rootkit-signal-hunter -s --pid 666
[!NOTE] Cela risque de terminer le processus légitime portant l’ID
666(si l’utilisateur actuel dispose de la permission nécessaire).
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Merci à David Reguera Garcia (Dreg) qui a implémenté une détection similaire basée sur les signaux dans le cadre de lsrootkit.
Copyright © 2025, bcoles