Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
krie — Контроль целостности ядра Linux во время выполнения с помощью eBPF | Kitploit
Инструменты/GitHubGitHub/gui774ume/krie
Оборонительные ИнструментыАнализ Бинарных ФайловОбнаружение Вторжений
GitHubgui774ume/krie

krie

Контроль целостности ядра Linux во время выполнения с помощью eBPF

Репозиторий
186222 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

KRIe

License: GPL v2 License

KRIe — это исследовательский проект, направленный на обнаружение эксплойтов ядра Linux с помощью eBPF. KRIe далек от пуленепробиваемой стратегии: от ограничений, связанных с eBPF, до детектирования после эксплуатации, которое может полагаться на скомпрометированное ядро для генерации событий безопасности, — очевидно, что мотивированный злоумышленник в конечном итоге сможет его обойти. Тем не менее, цель проекта — усложнить жизнь атакующим и в конечном итоге предотвратить работу готовых эксплойтов на уязвимом ядре.

KRIe был разработан с использованием CO-RE (Compile Once - Run Everywhere), что обеспечивает совместимость с широким спектром версий ядра. Если ваше ядро не экспортирует свою отладочную информацию BTF, KRIe попытается загрузить её автоматически из BTFHub. Если ваше ядро недоступно на BTFHub, но вы смогли вручную сгенерировать данные BTF для вашего ядра, вы можете указать их в файле конфигурации (см. ниже).

Системные требования

Этот проект разрабатывался на Ubuntu Focal 20.04 (ядро Linux 5.15) и был протестирован на старых версиях вплоть до Ubuntu Bionic 18.04 (ядро Linux 4.15).

  • golang 1.18+
  • (опционально) Ожидается, что заголовочные файлы ядра установлены в lib/modules/$(uname -r), в противном случае укажите их расположение в Makefile.
  • (опционально) clang & llvm 14.0.6+

Опциональные поля необходимы для перекомпиляции eBPF-программ.

Сборка

  1. Поскольку KRIe был построен с использованием CORE, вам не нужно перекомпилировать eBPF-программы. Однако, если вы всё же хотите это сделать, используйте следующую команду:
root@kitploit:~
# ~ make build-ebpf
  1. Чтобы собрать KRIE, выполните:
root@kitploit:~
# ~ make build
  1. Чтобы установить KRIE (скопировать в /usr/bin/krie), выполните:
root@kitploit:~
# ~ make install

Начало работы

KRIe должен запускаться от root. Выполните sudo krie -h, чтобы получить справку.

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

Конфигурация

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

Документация

  • Первая версия KRIe была анонсирована на BlackHat 2022 в рамках доклада: Return to Sender - Detecting Kernel Exploits with eBPF

Лицензия

  • Исходный код на Go распространяется под лицензией Apache 2.0.
  • eBPF-программы распространяются под лицензией GPL v2.
Скачать инструмент