Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
krie — Linux-Kernel-Laufzeitintegrität mit eBPF | Kitploit
Tools/GitHubGitHub/gui774ume/krie
DefensivwerkzeugeBinäranalyseEinbruchserkennung
GitHubgui774ume/krie

krie

Linux-Kernel-Laufzeitintegrität mit eBPF

Repository anzeigen
18622vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

KRIe

License: GPL v2 License

KRIe ist ein Forschungsprojekt, das darauf abzielt, Linux-Kernel-Exploits mit eBPF zu erkennen. KRIe ist weit davon entfernt, eine wasserdichte Strategie zu sein: Von eBPF-bedingten Einschränkungen bis hin zu Post-Exploitation-Erkennungen, die möglicherweise auf einen kompromittierten Kernel angewiesen sind, um Sicherheitsereignisse zu melden, ist klar, dass ein motivierter Angreifer es letztendlich umgehen kann. Das Ziel des Projekts ist es jedoch, Angreifern das Leben schwerer zu machen und letztendlich zu verhindern, dass Standard-Exploits auf einem verwundbaren Kernel funktionieren.

KRIe wurde mit CO-RE (Compile Once - Run Everywhere) entwickelt, sodass es mit einer großen Bandbreite an Kernel-Versionen kompatibel ist. Wenn Ihr Kernel keine BTF-Debug-Informationen exportiert, versucht KRIe, diese automatisch von BTFHub herunterzuladen. Wenn Ihr Kernel nicht auf BTFHub verfügbar ist, Sie aber manuell BTF-Daten für Ihren Kernel generieren konnten, können Sie diese in der Konfigurationsdatei angeben (siehe unten).

Systemanforderungen

Dieses Projekt wurde auf Ubuntu Focal 20.04 (Linux Kernel 5.15) entwickelt und auf älteren Versionen bis hin zu Ubuntu Bionic 18.04 (Linux Kernel 4.15) getestet.

  • golang 1.18+
  • (optional) Kernel-Header sollten in lib/modules/$(uname -r) installiert sein; aktualisieren Sie andernfalls das Makefile mit deren Speicherort.
  • (optional) clang & llvm 14.0.6+

Optionale Felder werden benötigt, um die eBPF-Programme neu zu kompilieren.

Build

  1. Da KRIe mit CO-RE erstellt wurde, sollten Sie die eBPF-Programme nicht neu erstellen müssen. Wenn Sie die eBPF-Programme dennoch neu erstellen möchten, können Sie den folgenden Befehl verwenden:
root@kitploit:~
# ~ make build-ebpf
  1. Um KRIE zu bauen, führen Sie Folgendes aus:
root@kitploit:~
# ~ make build
  1. Um KRIE zu installieren (Kopieren nach /usr/bin/krie), führen Sie Folgendes aus:
root@kitploit:~
# ~ make install

Erste Schritte

KRIe muss als Root ausgeführt werden. Führen Sie sudo krie -h aus, um Hilfe zu erhalten.

root@kitploit:~
# ~ krie -h
Usage:
  krie [flags]

Flags:
      --config string   KRIe-Konfigurationsdatei (Standard: "./cmd/krie/run/config/default_config.yaml")
  -h, --help            Hilfe für krie

Konfiguration

root@kitploit:~
## Log-Level, Optionen: panic, fatal, error, warn, info, debug oder trace
log_level: debug

## JSON-Ausgabedatei, leer lassen, um JSON-Ausgabe zu deaktivieren.
output: "/tmp/krie.json"

## BTF-Informationen für den aktuellen Kernel im .tar.xz-Format (nur erforderlich, wenn KRIE sie nicht selbst finden kann)
vmlinux: ""

## Ereigniskonfiguration
events:
  ## Aktion, wenn ein init_module-Ereignis erkannt wird
  init_module: log

  ## Aktion, wenn ein delete_module-Ereignis erkannt wird
  delete_module: log

  ## Aktion, wenn ein bpf-Ereignis erkannt wird
  bpf: log

  ## Aktion, wenn ein bpf_filter-Ereignis erkannt wird
  bpf_filter: log

  ## Aktion, wenn ein ptrace-Ereignis erkannt wird
  ptrace: log

  ## Aktion, wenn ein kprobe-Ereignis erkannt wird
  kprobe: log

  ## Aktion, wenn ein sysctl-Ereignis erkannt wird
  sysctl:
    action: log

    ## Standardeinstellungen für sysctl-Programme (nur Kernel 5.2+)
    sysctl_default:
      block_read_access: false
      block_write_access: false

    ## Benutzerdefinierte Einstellungen für sysctl-Programme (nur Kernel 5.2+)
    sysctl_parameters:
      kernel/yama/ptrace_scope:
        block_write_access: true
      kernel/ftrace_enabled:
        override_input_value_with: "1\n"

  ## Aktion, wenn ein hooked_syscall_table-Ereignis erkannt wird
  hooked_syscall_table: log

  ## Aktion, wenn ein hooked_syscall-Ereignis erkannt wird
  hooked_syscall: log

  ## kernel_parameter-Ereigniskonfiguration
  kernel_parameter:
    action: log
    periodic_action: log
    ticker: 1 # sendet höchstens ein Ereignis alle [ticker] Sekunde(n)
    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

  ## Aktion, wenn eine register_check an einer sensiblen Kernel-Space-Hook-Punkt fehlschlägt
  register_check: log

Dokumentation

  • Die erste Version von KRIe wurde auf der BlackHat 2022 während des Briefings angekündigt: Return to Sender - Detecting Kernel Exploits with eBPF

Lizenz

  • Der Golang-Code steht unter der Apache 2.0-Lizenz.
  • Die eBPF-Programme stehen unter der GPL v2-Lizenz.
Tool herunterladen