Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
jailer — Jailer é um sistema de confinamento de processos baseado em eBPF que fornece controle de acesso obrigatório (MAC) para Linux. Ele rastreia processos usando mapas BPF task_storage e aplica políticas baseadas em papéis no acesso a arquivos, operações de rede e execução de processos. | Kitploit
Ferramentas/GitHubGitHub/gen0sec/jailer
Ferramentas DefensivasSegurança de ContêineresSegurança de RedeSegurança na Nuvem
GitHubgen0sec/jailer

jailer

Ver RepositórioSite
58219há 10 diasRevisado 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 →

Sobre

Jailer é um sistema de confinamento de processos baseado em eBPF que fornece controle de acesso obrigatório (MAC) para Linux. Ele rastreia processos usando mapas BPF task_storage e aplica políticas baseadas em papéis no acesso a arquivos, operações de rede e execução de processos.

Compartilhar

Jailer - Controle de Acesso Obrigatório com eBPF

Aviso: Este projeto está em desenvolvimento intenso e NÃO está pronto para uso em produção. APIs, formatos de política e comportamento podem mudar sem aviso prévio. Use apenas para testes e experimentação.

Agradecimentos

Nota: Esta é uma implementação independente e não é o mesmo projeto que a solução da Meta. Embora o BpfJailer seja funcionalmente semelhante e inspirado na ideia e design originais de Liam Wisehart, Justin Ngai, Carl El Khoury, Mansee Chadha na Meta, este é um código-fonte separado desenvolvido de forma independente. Expressamos nossa gratidão pela visão e pelos conceitos fundamentais que inspiraram este trabalho.

Comunidade

Junte-se a nós no Discord Substack

Jailer é um sistema de aprisionamento de processos baseado em eBPF que fornece controle de acesso obrigatório (MAC) para Linux. Ele rastreia processos usando mapas BPF task_storage e aplica políticas baseadas em funções no acesso a arquivos, operações de rede e execução de processos.

Funcionalidades (Versão Atual)

FuncionalidadeStatusDescrição
Rastreamento de Processos✅ FuncionandoRastreia processos usando o mapa BPF task_storage
Inscrição via Socket✅ FuncionandoProcessos se inscrevem via API de socket Unix
Políticas Baseadas em Funções✅ FuncionandoFunções restritas e permissivas
Controle de Acesso a Arquivos✅ FuncionandoBloquear/permitir operações de abertura de arquivos
Herança de Jail✅ FuncionandoProcessos filhos herdam o jail do pai
Controle de Rede✅ FuncionandoBloquear/permitir bind/connect de sockets
Filtragem de Porta/Protocolo✅ FuncionandoRegras de permitir/negar TCP/UDP por porta
Controle de Execução✅ FuncionandoBloquear/permitir execução de processos
Correspondência de Caminhos✅ FuncionandoPercurso de dentry com invalidação de cache
Binários Assinados🚧 StubValidação de assinatura de binários (não implementado)
Inscrição Alternativa✅ FuncionandoInscrição automática por executável, cgroup ou xattr
Modo Sem Daemon✅ FuncionandoBinário de bootstrap fixa programas no início do boot
Eventos de Auditoria✅ FuncionandoBuffer perf para integração com systemd-journald

Demonstração com Nginx

Demonstração com Nginx

Demonstração complexa

asciicast

Requisitos do Kernel

Versão Mínima do Kernel

  • Linux 5.11+ (para suporte a BPF_MAP_TYPE_TASK_STORAGE)
  • Recomendado: Linux 6.1+ (melhor suporte a BTF)

Configuração Necessária do Kernel

# Check current kernel config
zcat /proc/config.gz 2>/dev/null || cat /boot/config-$(uname -r)

Opções obrigatórias:

CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_LSM=y
CONFIG_DEBUG_INFO_BTF=y

Habilitar BPF LSM

O BPF LSM deve estar habilitado nos parâmetros de inicialização do kernel:

# Check if BPF LSM is active
cat /sys/kernel/security/lsm
# Should include "bpf" in the list

# If not, add to kernel boot parameters:
# Edit /etc/default/grub and add to GRUB_CMDLINE_LINUX:
#   lsm=lockdown,capability,landlock,yama,apparmor,bpf

# Then update grub and reboot:
sudo update-grub
sudo reboot

Para sistemas Ubuntu/Debian, você também pode usar:

# Create a script to enable BPF LSM
cat > /tmp/enable_bpf_lsm.sh << 'EOF'
#!/bin/bash
GRUB_FILE="/etc/default/grub"
if grep -q "lsm=" "$GRUB_FILE"; then
    sudo sed -i 's/lsm=[^""]*/lsm=lockdown,capability,landlock,yama,apparmor,bpf/' "$GRUB_FILE"
else
    sudo sed -i 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="\1 lsm=lockdown,capability,landlock,yama,apparmor,bpf"/' "$GRUB_FILE"
fi
sudo update-grub
echo "BPF LSM enabled. Please reboot."
EOF
chmod +x /tmp/enable_bpf_lsm.sh
sudo /tmp/enable_bpf_lsm.sh

Instalação

A partir de uma release

Tarballs pré-compilados são publicados para x86_64 e aarch64, compilados contra glibc 2.31 para que funcionem em distribuições mais antigas do que aquela em que foram compilados.

curl -fsSL https://github.com/gen0sec/jailer/raw/main/install.sh | sudo sh

O script verifica o SHA256 antes de instalar qualquer coisa. Cada artefato também é assinado com GPG; para verificar a proveniência, importe primeiro a chave de release:

curl -fsSL https://github.com/gen0sec/jailer/releases/download/v0.1.1/bpfjailer-signing-key.asc | gpg --import

Para instalar manualmente, baixe o tarball para a sua arquitetura na página de releases e:

tar xzf bpfjailer-*-linux-gnu.tar.gz && cd bpfjailer-*-linux-gnu
sudo install -Dm0755 bpfjailer-bootstrap /usr/sbin/bpfjailer-bootstrap
sudo install -Dm0755 bpfjailer-daemon    /usr/sbin/bpfjailer-daemon
sudo install -Dm0644 bpfjailer.bpf.o     /usr/lib/bpfjailer/bpfjailer.bpf.o
sudo install -Dm0644 policy.json         /etc/bpfjailer/policy.json
sudo install -Dm0644 bpfjailer-*.service /etc/systemd/system/
sudo systemctl daemon-reload

Em seguida, ative um dos dois modos descritos em Modos de Instalação.

Compilação

Pré-requisitos

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install build dependencies (Ubuntu/Debian)
sudo apt-get install -y clang llvm libelf-dev linux-headers-$(uname -r)

# Install BPF target for Rust
rustup target add bpfel-unknown-none

Compilar Todos os Componentes

cd jailer

# Build BPF programs
cd bpfjailer-bpf && cargo build --release && cd ..

# Build daemon and client
cargo build --release

Início Rápido

1. Iniciar o Daemon

# Run as root (loads config/policy.json if present)
sudo RUST_LOG=info ./target/release/bpfjailer-daemon

Expected output:

[INFO] BpfJailer daemon starting...
[INFO] Loading BpfJailer eBPF programs with libbpf-rs...
[INFO] ✓ pending_enrollments map available for enrollment
[INFO] ✓ network_rules map available for port/protocol filtering
[INFO] ✓ task_storage map created successfully
[INFO] ✓ Program task_alloc attached
[INFO] ✓ Program file_open attached
[INFO] ✓ Program socket_bind attached
[INFO] ✓ Program socket_connect attached
[INFO] ✓ Program bprm_check_security attached
[INFO] Initialized with default roles: restricted (1), permissive (2)
[INFO] Loaded policy from config/policy.json
[INFO] Loaded 5 roles
[INFO] Enrollment server listening on /run/bpfjailer/enrollment.sock

2. Executar Testes de Segurança

# Run vulnerability tests WITHOUT jailing (shows attacks succeed)
sudo python3 tests/vulnerable_apps/run_tests.py

# Run vulnerability tests WITH restricted role (shows attacks blocked)
sudo python3 tests/vulnerable_apps/run_tests.py --role 1

# Run specific test
sudo python3 tests/vulnerable_apps/run_tests.py --role 1 --test path

# List available tests and roles
sudo python3 tests/vulnerable_apps/run_tests.py --list

Exemplo de saída com função restrita:

============================================================
TEST: Path Traversal / Arbitrary File Read
============================================================
Attempting to read /etc/passwd via path traversal...
BLOCKED - Permission denied (BpfJailer blocked file access)

============================================================
TEST: Command Injection
============================================================
Attempting command injection...
BLOCKED - Permission denied (BpfJailer blocked exec)
Baixar ferramenta