Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
jailer — Jailer es un sistema de aislamiento de procesos basado en eBPF que proporciona control de acceso obligatorio (MAC) para Linux. Realiza un seguimiento de los procesos mediante mapas de almacenamiento de tareas BPF y aplica políticas basadas en roles sobre el acceso a archivos, las operaciones de red y la ejecución de procesos. | Kitploit
Herramientas/GitHubGitHub/gen0sec/jailer
Herramientas DefensivasSeguridad de ContenedoresSeguridad de RedesSeguridad en la Nube
GitHubgen0sec/jailer

jailer

Ver RepositorioSitio web
58219hace 10 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Jailer es un sistema de aislamiento de procesos basado en eBPF que proporciona control de acceso obligatorio (MAC) para Linux. Realiza un seguimiento de los procesos mediante mapas de almacenamiento de tareas BPF y aplica políticas basadas en roles sobre el acceso a archivos, las operaciones de red y la ejecución de procesos.

Compartir

Jailer - Control de Acceso Obligatorio con eBPF

Advertencia: Este proyecto está en desarrollo intensivo y NO está listo para uso en producción. Las APIs, los formatos de políticas y el comportamiento pueden cambiar sin previo aviso. Úsalo solo para pruebas y experimentación.

Agradecimientos

Nota: Esta es una implementación independiente y no es el mismo proyecto que la solución de Meta. Aunque BpfJailer es funcionalmente similar y está inspirado en la idea y el diseño originales de Liam Wisehart, Justin Ngai, Carl El Khoury, Mansee Chadha en Meta, este es un código base separado desarrollado de forma independiente. Extendemos nuestra gratitud por la visión y los conceptos fundamentales que inspiraron este trabajo.

Comunidad

Join us on Discord Substack

Jailer es un sistema de encarcelamiento de procesos basado en eBPF que proporciona control de acceso obligatorio (MAC) para Linux. Rastrea procesos usando mapas BPF task_storage e impone políticas basadas en roles sobre el acceso a archivos, operaciones de red y ejecución de procesos.

Características (Versión Actual)

CaracterísticaEstadoDescripción
Seguimiento de Procesos✅ FuncionaRastrea procesos usando el mapa BPF task_storage
Registro de Sockets✅ FuncionaLos procesos se registran mediante la API de socket Unix
Políticas basadas en Roles✅ FuncionaRoles restringidos y permisivos
Control de Acceso a Archivos✅ FuncionaBloquea/permite operaciones de apertura de archivos
Herencia de Jail✅ FuncionaLos procesos hijos heredan el jail del padre
Control de Red✅ FuncionaBloquea/permite bind/connect de sockets
Filtrado de Puerto/Protocolo✅ FuncionaReglas de permitir/denegar TCP/UDP por puerto
Control de Exec✅ FuncionaBloquea/permite la ejecución de procesos
Coincidencia de Rutas✅ FuncionaRecorrido de dentry con invalidación de caché
Binarios Firmados🚧 StubValidación de firma de binarios (no implementado)
Registro Alternativo✅ FuncionaAuto-registro por ejecutable, cgroup o xattr
Modo Sin Demonio✅ FuncionaEl binario de arranque fija los programas en el arranque temprano
Eventos de Auditoría✅ FuncionaBúfer perf para integración con systemd-journald

Demo de Nginx

Nginx demo

Demo compleja

asciicast

Requisitos del Kernel

Versión Mínima del Kernel

  • Linux 5.11+ (para soporte de BPF_MAP_TYPE_TASK_STORAGE)
  • Recomendado: Linux 6.1+ (mejor soporte de BTF)

Configuración del Kernel Requerida

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

Opciones requeridas:

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

Habilitar BPF LSM

BPF LSM debe estar habilitado en los parámetros de arranque del 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, también puedes 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

Instalación

Desde un release

Se publican tarballs precompilados para x86_64 y aarch64, compilados contra glibc 2.31 para que se ejecuten en distribuciones más antiguas que aquella en la que fueron compilados.

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

El script verifica el SHA256 antes de instalar cualquier cosa. Cada artefacto también está firmado con GPG; para comprobar la procedencia, importa primero la clave de la versión:

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

Para instalarlo manualmente, descarga el tarball correspondiente a tu arquitectura desde la página de releases y:

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

Luego habilita uno de los dos modos descritos en Modos de instalación.

Compilación

Requisitos previos

# 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 los componentes

cd jailer

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

# Build daemon and client
cargo build --release

Inicio rápido

1. Iniciar el 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. Ejecutar pruebas de seguridad

# 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

Ejemplo de salida con rol restringido:

============================================================
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)
Descargar herramienta