Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ksentinel — Monitor di integrità del kernel Linux per rilevare l'hooking delle syscall | Kitploit
Strumenti/GitHubGitHub/matheuzsecurity/ksentinel
Strumenti DifensiviRilevamento Intrusioni
GitHubmatheuzsecurity/ksentinel

ksentinel

Monitor di integrità del kernel Linux per rilevare l'hooking delle syscall

Vedi Repository
8876 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ksentinel - Monitor di Integrità delle Syscall del Kernel

Singularity Rootkit

Panoramica

ksentinel monitora le funzioni critiche del kernel e la tabella delle syscall per rilevare modifiche non autorizzate. Rileva syscall comuni che sono bersaglio della maggior parte dei rootkit, inclusi hook ftrace, kprobe e hijacking della tabella delle syscall.

Caratteristiche

  • Controllo dell'integrità del prologo delle funzioni (basato su hash FNV-1a)
  • Monitoraggio della tabella delle syscall (512 voci)
  • Verifica LSTAR MSR (punto di ingresso delle syscall x86_64)
  • Protezione anti-unload con meccanismo di chiave di sblocco
  • Monitoraggio continuo con intervalli configurabili

NOTA: ksentinel è nella sua versione iniziale; ulteriori miglioramenti arriveranno nei commit futuri.

Funzioni Monitorate

Livello VFS:

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

Stack di Rete:

  • tcp4_seq_show, tcp6_seq_show, udp4_seq_show, udp6_seq_show

Credenziali:

  • commit_creds, prepare_kernel_cred

Sistema dei Moduli:

  • load_module, free_module

Infrastruttura di Tracciamento:

  • register_kprobe, register_ftrace_function, ftrace_set_filter

Più di 500 wrapper di syscall aggiuntivi tramite corrispondenza dei prefissi.

Compilazione

root@kitploit:~
make

Durante la compilazione, viene generata e mostrata una chiave di sblocco casuale di 32 caratteri. Annotala immediatamente. Questa chiave è incorporata nel modulo compilato e non è memorizzata esternamente.

Mantienila al sicuro se la protezione anti-unload è abilitata.

Installazione

root@kitploit:~
sudo make install

Il modulo si carica nascosto da lsmod con la protezione anti-unload abilitata per impostazione predefinita.

Utilizzo

Caricamento Manuale

root@kitploit:~
sudo insmod ksentinel.ko

Utilizzo dello Script di Gestione

root@kitploit:~
sudo ./ksentinel-manager.sh load      # carica il modulo
sudo ./ksentinel-manager.sh status    # verifica lo stato
sudo ./ksentinel-manager.sh watch     # monitoraggio in tempo reale
sudo ./ksentinel-manager.sh violations # visualizza gli avvisi

Monitoraggio dei Log

root@kitploit:~
dmesg -wT | grep ksentinel

Sblocco del Modulo

Quando l'anti-unload è abilitato, il modulo deve essere sbloccato prima della rimozione:

root@kitploit:~
echo "your_32char_key" > /proc/.ksctl

Oppure usa il gestore:

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

Rimozione del Modulo

root@kitploit:~
sudo rmmod ksentinel

Parametri del Modulo

Esempio con parametri personalizzati:

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

Considerazioni sulle Prestazioni

ksentinel esegue controlli periodici di integrità in base al parametro period_ms.

Intervalli più bassi forniscono un rilevamento più rapido ma aumentano l'uso della CPU. L'intervallo predefinito (2000ms) ha un impatto minimo sui sistemi moderni.

Esempi di Rilevamento

Hook Inline Rilevato

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 della Tabella delle Syscall

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

Manomissione LSTAR

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

Rilevamento Rootkit Conosciuti

ksentinel può rilevare modifiche effettuate da:

  • PUMAKIT - hooking basato su ftrace (18 syscall)
  • Diamorphine - patch della tabella delle syscall
  • KoviD - occultamento basato su kprobes

Il rilevamento dipende dal caricamento di ksentinel prima del rootkit.

Requisiti

Configurazione del Kernel:

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

Kernel Supportati:

  • Linux 5.4 fino a 6.12+
  • Architettura x86_64 (controllo LSTAR)
  • Supporto ARM64 (senza controlli LSTAR)

Limitazioni

  1. Solo Rilevamento - Non previene né rimuove i rootkit
  2. Assunzione di Baseline - Presuppone che il kernel sia pulito al momento del caricamento del modulo
  3. Condizione di Gara - I rootkit caricati prima di ksentinel non possono essere rilevati
  4. Evasione - I rootkit sofisticati possono prendere di mira il codice di monitoraggio stesso

Considerazioni sulla Sicurezza

  • Carica ksentinel il più presto possibile durante l'avvio
  • Memorizza la chiave di sblocco in modo sicuro offline

Risoluzione dei Problemi

Il Modulo Non si Carica

Controlla la configurazione del kernel:

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

Il Modulo Non si Scarica

Il modulo è nascosto con protezione anti-unload. Sblocca prima:

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

Sviluppo

root@kitploit:~
make clean          # pulisce gli artefatti di compilazione
make                # compila il modulo
make install        # carica il modulo
make uninstall      # scarica il modulo

Contributi

I contributi sono benvenuti. Mantieni lo stile del codice e aggiungi test per le nuove funzionalità.

Licenza

GPL-2.0-only

Questo programma è software libero concesso in licenza sotto GPL versione 2.0. Qualsiasi modifica deve preservare l'attribuzione all'autore originale e essere distribuita sotto la stessa licenza.

Vedi il file LICENSE per i termini completi.

Autore

MatheuZSecurity

Comunità dei Ricercatori di Rootkit: https://discord.gg/66N5ZQppU7

Dichiarazione di Esclusione di Responsabilità

Questo strumento è per la ricerca sulla sicurezza e l'amministrazione di sistema. Usalo responsabilmente. L'autore non è responsabile per abusi o danni causati da questo software.

Scarica lo strumento
ParametroTipoPredefinitoDescrizione
period_msuint2000Intervallo di controllo dell'integrità in millisecondi
sym_prefixesstring"sys_,x64_sys,do_sys,ksys_"Prefissi di simbolo da monitorare separati da virgola
extra_symsstring""Simboli specifici aggiuntivi da osservare
anti_unloadbooltrueAbilita la protezione anti-unload