Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
krie — Integridade em Tempo de Execução do Kernel Linux com eBPF | Kitploit
Ferramentas/GitHubGitHub/gui774ume/krie
Ferramentas DefensivasAnálise de BináriosDetecção de Intrusão
GitHubgui774ume/krie

krie

Integridade em Tempo de Execução do Kernel Linux com eBPF

Ver Repositório
18622há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

KRIe

License: GPL v2 License

KRIe é um projeto de pesquisa que visa detectar exploits do Kernel Linux com eBPF. KRIe está longe de ser uma estratégia à prova de balas: desde limitações relacionadas ao eBPF até detecções pós-exploração que podem depender de um kernel comprometido para emitir eventos de segurança, é claro que um atacante motivado eventualmente conseguirá contorná-lo. Dito isso, o objetivo do projeto é dificultar a vida dos atacantes e, em última análise, impedir que exploits prontos funcionem em um kernel vulnerável.

KRIe foi desenvolvido usando CO-RE (Compile Once - Run Everywhere) para ser compatível com uma ampla gama de versões de kernel. Se o seu kernel não exporta suas informações de depuração BTF, o KRIe tentará baixá-las automaticamente do BTFHub. Se o seu kernel não estiver disponível no BTFHub, mas você conseguiu gerar manualmente os dados BTF do seu kernel, pode fornecê-los no arquivo de configuração (veja abaixo).

Requisitos de sistema

Este projeto foi desenvolvido no Ubuntu Focal 20.04 (Kernel Linux 5.15) e foi testado em versões mais antigas até o Ubuntu Bionic 18.04 (Kernel Linux 4.15).

  • golang 1.18+
  • (opcional) É esperado que os cabeçalhos do kernel estejam instalados em lib/modules/$(uname -r), caso contrário, atualize o Makefile com a localização deles.
  • (opcional) clang & llvm 14.0.6+

Campos opcionais são necessários para recompilar os programas eBPF.

Compilação

  1. Como o KRIe foi construído usando CORE, você não deve precisar recompilar os programas eBPF. Dito isso, se você ainda quiser recompilar os programas eBPF, pode usar o seguinte comando:
root@kitploit:~
# ~ make build-ebpf
  1. Para compilar o KRIE, execute:
root@kitploit:~
# ~ make build
  1. Para instalar o KRIE (copiar para /usr/bin/krie) execute:
root@kitploit:~
# ~ make install

Primeiros passos

KRIe precisa ser executado como root. Execute sudo krie -h para obter ajuda.

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

Configuração

root@kitploit:~
## Nível de log, opções: panic, fatal, error, warn, info, debug ou trace
log_level: debug

## Arquivo de saída JSON, deixe vazio para desabilitar a saída JSON.
output: "/tmp/krie.json"

## Informações BTF para o kernel atual em formato .tar.xz (necessário apenas se o KRIE não conseguir localizá-las sozinho)
vmlinux: ""

## configuração de eventos
events:
  ## ação tomada quando um evento init_module é detectado
  init_module: log

  ## ação tomada quando um evento delete_module é detectado
  delete_module: log

  ## ação tomada quando um evento bpf é detectado
  bpf: log

  ## ação tomada quando um evento bpf_filter é detectado
  bpf_filter: log

  ## ação tomada quando um evento ptrace é detectado
  ptrace: log

  ## ação tomada quando um evento kprobe é detectado
  kprobe: log

  ## ação tomada quando um evento sysctl é detectado
  sysctl:
    action: log

    ## Configurações padrão para programas sysctl (apenas kernel 5.2+)
    sysctl_default:
      block_read_access: false
      block_write_access: false

    ## Configurações personalizadas para programas sysctl (apenas kernel 5.2+)
    sysctl_parameters:
      kernel/yama/ptrace_scope:
        block_write_access: true
      kernel/ftrace_enabled:
        override_input_value_with: "1\n"

  ## ação tomada quando um evento hooked_syscall_table é detectado
  hooked_syscall_table: log

  ## ação tomada quando um evento hooked_syscall é detectado
  hooked_syscall: log

  ## configuração de evento kernel_parameter
  kernel_parameter:
    action: log
    periodic_action: log
    ticker: 1 # envia no máximo um evento a cada [ticker] segundo(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

  ## ação a ser verificada quando register_check falha em um ponto de hook sensível no espaço do kernel
  register_check: log

Documentação

  • A primeira versão do KRIe foi anunciada no BlackHat 2022, durante o briefing: Return to Sender - Detecting Kernel Exploits with eBPF

Licença

  • O código Golang está sob a Licença Apache 2.0.
  • Os programas eBPF estão sob a Licença GPL v2.
Baixar ferramenta