Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ksentinel — Moniteur d'intégrité du noyau Linux pour détecter le hooking d'appels système | Kitploit
Outils/GitHubGitHub/matheuzsecurity/ksentinel
Outils DéfensifsDétection d'Intrusion
GitHubmatheuzsecurity/ksentinel

ksentinel

Moniteur d'intégrité du noyau Linux pour détecter le hooking d'appels système

Voir le dépôt
887il y a 6 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ksentinel - Moniteur d'intégrité des appels système noyau

Singularity Rootkit

Présentation

ksentinel surveille les fonctions critiques du noyau et la table des appels système pour détecter les modifications non autorisées. Il détecte les appels système courants ciblés par la plupart des rootkits, y compris les hooks ftrace, les kprobes et le détournement de la table des appels système.

Fonctionnalités

  • Vérification d'intégrité du prologue de fonction (basée sur le hachage FNV-1a)
  • Surveillance de la table des appels système (512 entrées)
  • Vérification du MSR LSTAR (point d'entrée des appels système x86_64)
  • Protection anti-déchargement avec mécanisme de clé de déverrouillage
  • Surveillance continue avec intervalles configurables

NOTE : ksentinel est dans sa version initiale ; d'autres améliorations arriveront dans les prochains commits.

Fonctions surveillées

Couche VFS :

  • filldir, filldir64, do_getdents64, vfs_read, vfs_write, vfs_open

Pile réseau :

  • tcp4_seq_show, tcp6_seq_show, udp4_seq_show, udp6_seq_show

Identifiants :

  • commit_creds, prepare_kernel_cred

Système de modules :

  • load_module, free_module

Infrastructure de traçage :

  • register_kprobe, register_ftrace_function, ftrace_set_filter

Plus de 500 wrappers d'appels système supplémentaires via correspondance de préfixe.

Compilation

root@kitploit:~
make

Pendant la compilation, une clé de déverrouillage aléatoire de 32 caractères est générée et affichée. Notez-la immédiatement. Cette clé est intégrée au module compilé et n'est pas stockée en externe.

Conservez-la en lieu sûr si la protection anti-déchargement est activée.

Installation

root@kitploit:~
sudo make install

Le module se charge caché de lsmod avec la protection anti-déchargement activée par défaut.

Utilisation

Chargement manuel

root@kitploit:~
sudo insmod ksentinel.ko

Utilisation du script de gestion

root@kitploit:~
sudo ./ksentinel-manager.sh load      # charger le module
sudo ./ksentinel-manager.sh status    # vérifier l'état
sudo ./ksentinel-manager.sh watch     # surveiller en direct
sudo ./ksentinel-manager.sh violations # voir les alertes

Surveillance des logs

root@kitploit:~
dmesg -wT | grep ksentinel

Déverrouiller le module

Lorsque l'anti-déchargement est activé, le module doit être déverrouillé avant d'être retiré :

root@kitploit:~
echo "votre_clé_32_caractères" > /proc/.ksctl

Ou via le gestionnaire :

root@kitploit:~
sudo ./ksentinel-manager.sh unlock

Retirer le module

root@kitploit:~
sudo rmmod ksentinel

Paramètres du module

Exemple avec des paramètres personnalisés :

root@kitploit:~
sudo insmod ksentinel.ko period_ms=5000 anti_unload=false

Considérations de performance

ksentinel effectue des vérifications d'intégrité périodiques basées sur le paramètre period_ms.

Des intervalles plus bas offrent une détection plus rapide mais augmentent l'utilisation du CPU. L'intervalle par défaut (2000 ms) a un impact minimal sur les systèmes modernes.

Exemples de détection

Hook en ligne détecté

root@kitploit:~
ksentinel: [CHANGE - HOOK PATTERN] sys_getdents64 @ 0xffffffff81234567
  baseline=1234567890abcdef  current=fedcba0987654321
  bytes: e9 ab cd ef 12 90 90 90 ...
  flags: JMP/CALL_DETECTED ENDBR64_PREFIX

Hook de table d'appels système

root@kitploit:~
ksentinel: [SCT HOOK] syscall[78] expected=0xffffffff81111111 got=0xffffffffa0222222 (fake_getdents+0x0)

Altération du LSTAR

root@kitploit:~
ksentinel: [LSTAR TAMPERED] baseline=0xffffffff81800000 now=0xffffffffa0300000 (evil_syscall_entry+0x0)

Détection de rootkits connus

ksentinel peut détecter les modifications apportées par :

  • PUMAKIT - hooking basé sur ftrace (18 appels système)
  • Diamorphine - modification de la table des appels système
  • KoviD - masquage basé sur kprobes

La détection dépend du chargement de ksentinel avant le rootkit.

Prérequis

Configuration du noyau :

  • CONFIG_KALLSYMS=y
  • CONFIG_KPROBES=y
  • CONFIG_MODULES=y

Noyaux supportés :

  • Linux 5.4 jusqu'à 6.12+
  • Architecture x86_64 (vérification LSTAR)
  • Support ARM64 (sans vérifications LSTAR)

Limitations

  1. Détection uniquement - Ne prévient ni ne supprime les rootkits
  2. Hypothèse de base - Suppose que le noyau est propre au moment du chargement du module
  3. Condition de course - Les rootkits chargés avant ksentinel ne peuvent pas être détectés
  4. Contournement - Les rootkits sophistiqués peuvent cibler le code de surveillance lui-même

Considérations de sécurité

  • Chargez ksentinel le plus tôt possible pendant le démarrage
  • Stockez la clé de déverrouillage de manière sécurisée hors ligne

Dépannage

Le module ne se charge pas

Vérifiez la configuration du noyau :

root@kitploit:~
grep -E "KALLSYMS|KPROBES" /boot/config-$(uname -r)

Le module ne se décharge pas

Le module est caché avec une protection anti-déchargement. Déverrouillez d'abord :

root@kitploit:~
sudo ./ksentinel-manager.sh unlock

Développement

root@kitploit:~
make clean          # nettoyer les artefacts de compilation
make                # compiler le module
make install        # charger le module
make uninstall      # décharger le module

Contribution

Les contributions sont les bienvenues. Maintenez le style de code et ajoutez des tests pour les nouvelles fonctionnalités.

Licence

GPL-2.0-only

Ce programme est un logiciel libre sous licence GPL version 2.0. Toute modification doit conserver l'attribution à l'auteur original et être distribuée sous la même licence.

Consultez le fichier LICENSE pour les termes complets.

Auteur

MatheuZSecurity

Communauté des chercheurs en rootkits : https://discord.gg/66N5ZQppU7

Avertissement

Cet outil est destiné à la recherche en sécurité et à l'administration système. Utilisez-le de manière responsable. L'auteur n'est pas responsable de l'utilisation abusive ou des dommages causés par ce logiciel.

Télécharger l’outil
ParamètreTypeDéfautDescription
period_msuint2000Intervalle de vérification d'intégrité en millisecondes
sym_prefixesstring"sys_,x64_sys,do_sys,ksys_"Préfixes de symboles à surveiller (séparés par des virgules)
extra_symsstring""Symboles spécifiques supplémentaires à surveiller
anti_unloadbooltrueActiver la protection anti-déchargement