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
krie — Intégrité du noyau Linux en runtime avec eBPF | Kitploit
Outils/GitHubGitHub/gui774ume/krie
Outils DéfensifsAnalyse de BinairesDétection d'Intrusion
GitHubgui774ume/krie

krie

Intégrité du noyau Linux en runtime avec eBPF

Voir le dépôt
186224il y a 2 ansVé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

KRIe

License: GPL v2 License

KRIe est un projet de recherche qui vise à détecter les exploits du noyau Linux avec eBPF. KRIe est loin d'être une stratégie infaillible : des limitations liées à eBPF aux détections post-exploitation qui pourraient s'appuyer sur un noyau compromis pour émettre des événements de sécurité, il est clair qu'un attaquant motivé finira par le contourner. Cela dit, l'objectif du projet est de rendre la vie des attaquants plus difficile et, en fin de compte, d'empêcher les exploits prêts à l'emploi de fonctionner sur un noyau vulnérable.

KRIe a été développé en utilisant CO-RE (Compile Once - Run Everywhere) afin d'être compatible avec une large gamme de versions du noyau. Si votre noyau n'exporte pas ses informations de débogage BTF, KRIe tentera de les télécharger automatiquement depuis BTFHub. Si votre noyau n'est pas disponible sur BTFHub, mais que vous avez pu générer manuellement les données BTF de votre noyau, vous pouvez les fournir dans le fichier de configuration (voir ci-dessous).

Configuration système requise

Ce projet a été développé sur Ubuntu Focal 20.04 (noyau Linux 5.15) et a été testé sur des versions antérieures jusqu'à Ubuntu Bionic 18.04 (noyau Linux 4.15).

  • golang 1.18+
  • (optionnel) Les en-têtes du noyau doivent être installés dans lib/modules/$(uname -r), mettez à jour le Makefile avec leur emplacement sinon.
Télécharger l’outil
  • (optionnel) clang & llvm 14.0.6+
  • Les champs optionnels sont nécessaires pour recompiler les programmes eBPF.

    Compilation

    1. Puisque KRIe a été construit avec CO-RE, vous ne devriez pas avoir besoin de recompiler les programmes eBPF. Cela dit, si vous souhaitez tout de même recompiler les programmes eBPF, vous pouvez utiliser la commande suivante :
    root@kitploit:~
    # ~ make build-ebpf
    
    1. Pour compiler KRIE, exécutez :
    root@kitploit:~
    # ~ make build
    
    1. Pour installer KRIE (copie vers /usr/bin/krie) exécutez :
    root@kitploit:~
    # ~ make install
    

    Pour commencer

    KRIe doit être exécuté en tant que root. Exécutez sudo krie -h pour obtenir de l'aide.

    root@kitploit:~
    # ~ krie -h
    Usage:
      krie [flags]
    
    Flags:
          --config string   KRIe config file (default "./cmd/krie/run/config/default_config.yaml")
      -h, --help            help for krie
    

    Configuration

    root@kitploit:~
    ## Log level, options are: panic, fatal, error, warn, info, debug or trace
    log_level: debug
    
    ## JSON output file, leave empty to disable JSON output.
    output: "/tmp/krie.json"
    
    ## BTF information for the current kernel in .tar.xz format (required only if KRIE isn't able to locate it by itself)
    vmlinux: ""
    
    ## events configuration
    events:
      ## action taken when an init_module event is detected
      init_module: log
    
      ## action taken when an delete_module event is detected
      delete_module: log
    
      ## action taken when a bpf event is detected
      bpf: log
    
      ## action taken when a bpf_filter event is detected
      bpf_filter: log
    
      ## action taken when a ptrace event is detected
      ptrace: log
    
      ## action taken when a kprobe event is detected
      kprobe: log
    
      ## action taken when a sysctl event is detected
      sysctl:
        action: log
    
        ## Default settings for sysctl programs (kernel 5.2+ only)
        sysctl_default:
          block_read_access: false
          block_write_access: false
    
        ## Custom settings for sysctl programs (kernel 5.2+ only)
        sysctl_parameters:
          kernel/yama/ptrace_scope:
            block_write_access: true
          kernel/ftrace_enabled:
            override_input_value_with: "1\n"
    
      ## action taken when a hooked_syscall_table event is detected
      hooked_syscall_table: log
    
      ## action taken when a hooked_syscall event is detected
      hooked_syscall: log
    
      ## kernel_parameter event configuration
      kernel_parameter:
        action: log
        periodic_action: log
        ticker: 1 # sends at most one event every [ticker] second(s)
        list:
          - symbol: system/kprobes_all_disarmed
            expected_value: 0
            size: 4
          #      - symbol: system/selinux_state
          #        expected_value: 256
          #        size: 2
    
          # sysctl
          - symbol: system/ftrace_dump_on_oops
            expected_value: 0
            size: 4
          - symbol: system/kptr_restrict
            expected_value: 0
            size: 4
          - symbol: system/randomize_va_space
            expected_value: 2
            size: 4
          - symbol: system/stack_tracer_enabled
            expected_value: 0
            size: 4
          - symbol: system/unprivileged_userns_clone
            expected_value: 0
            size: 4
          - symbol: system/unprivileged_userns_apparmor_policy
            expected_value: 1
            size: 4
          - symbol: system/sysctl_unprivileged_bpf_disabled
            expected_value: 1
            size: 4
          - symbol: system/ptrace_scope
            expected_value: 2
            size: 4
          - symbol: system/sysctl_perf_event_paranoid
            expected_value: 2
            size: 4
          - symbol: system/kexec_load_disabled
            expected_value: 1
            size: 4
          - symbol: system/dmesg_restrict
            expected_value: 1
            size: 4
          - symbol: system/modules_disabled
            expected_value: 0
            size: 4
          - symbol: system/ftrace_enabled
            expected_value: 1
            size: 4
          - symbol: system/ftrace_disabled
            expected_value: 0
            size: 4
          - symbol: system/sysctl_protected_fifos
            expected_value: 1
            size: 4
          - symbol: system/sysctl_protected_hardlinks
            expected_value: 1
            size: 4
          - symbol: system/sysctl_protected_regular
            expected_value: 2
            size: 4
          - symbol: system/sysctl_protected_symlinks
            expected_value: 1
            size: 4
          - symbol: system/sysctl_unprivileged_userfaultfd
            expected_value: 0
            size: 4
    
      ## action to check when a register_check fails on a sensitive kernel space hook point
      register_check: log
    

    Documentation

    • La première version de KRIe a été annoncée à BlackHat 2022, lors du briefing : Return to Sender - Detecting Kernel Exploits with eBPF

    Licence

    • Le code golang est sous licence Apache 2.0.
    • Les programmes eBPF sont sous licence GPL v2.