Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
jailer — Jailer è un sistema di confinamento dei processi basato su eBPF che fornisce controllo degli accessi obbligatorio (MAC) per Linux. Tiene traccia dei processi utilizzando mappe BPF task_storage e applica politiche basate sui ruoli per l'accesso ai file, le operazioni di rete e l'esecuzione dei processi. | Kitploit
Strumenti/GitHubGitHub/gen0sec/jailer
Strumenti DifensiviSicurezza dei ContenitoriSicurezza di ReteSicurezza Cloud
GitHubgen0sec/jailer

jailer

Vedi RepositorySito web
5821911 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

Jailer è un sistema di confinamento dei processi basato su eBPF che fornisce controllo degli accessi obbligatorio (MAC) per Linux. Tiene traccia dei processi utilizzando mappe BPF task_storage e applica politiche basate sui ruoli per l'accesso ai file, le operazioni di rete e l'esecuzione dei processi.

Condividi

Jailer - Controllo di Accesso Obbligatorio eBPF

Avviso: Questo progetto è in fase di sviluppo intenso e NON è pronto per l'uso in produzione. Le API, i formati delle policy e il comportamento possono cambiare senza preavviso. Da utilizzare solo per test e sperimentazione.

Riconoscimenti

Nota: Questa è un'implementazione indipendente e non è lo stesso progetto della soluzione di Meta. Sebbene BpfJailer sia funzionalmente simile e ispirato all'idea e al design originali di Liam Wisehart, Justin Ngai, Carl El Khoury, Mansee Chadha presso Meta, questo è un codebase separato sviluppato in modo indipendente. Estendiamo la nostra gratitudine per la visione e i concetti fondamentali che hanno ispirato questo lavoro.

Community

Join us on Discord Substack

Jailer è un sistema di isolamento dei processi basato su eBPF che fornisce controllo di accesso obbligatorio (MAC) per Linux. Traccia i processi utilizzando le mappe BPF task_storage e applica policy basate sui ruoli per l'accesso ai file, le operazioni di rete e l'esecuzione dei processi.

Funzionalità (Versione Corrente)

FunzionalitàStatoDescrizione
Tracciamento Processi✅ FunzionanteTraccia i processi utilizzando la mappa BPF task_storage
Registrazione Socket✅ FunzionanteI processi si registrano tramite API socket Unix
Policy Basate sui Ruoli✅ FunzionanteRuoli limitati e permissivi
Controllo Accesso File✅ FunzionanteBlocca/consenti operazioni di apertura file
Ereditarietà Jail✅ FunzionanteI processi figli ereditano il jail del genitore
Controllo Rete✅ FunzionanteBlocca/consenti socket bind/connect
Filtraggio Porta/Protocollo✅ FunzionanteRegole di allow/deny TCP/UDP per porta
Controllo Exec✅ FunzionanteBlocca/consenti esecuzione processi
Corrispondenza Percorsi✅ FunzionanteDentry walking con invalidazione cache
Binari Firmati🚧 StubValidazione firma binari (non implementata)
Registrazione Alternativa✅ FunzionanteAuto-registrazione per eseguibile, cgroup o xattr
Modalità Senza Daemon✅ FunzionanteIl binario bootstrap fissa i programmi all'avvio anticipato
Eventi di Audit✅ FunzionanteBuffer perf per integrazione systemd-journald

Demo Nginx

Nginx demo

Demo complessa

asciicast

Requisiti del Kernel

Versione Minima del Kernel

  • Linux 5.11+ (per il supporto a BPF_MAP_TYPE_TASK_STORAGE)
  • Consigliato: Linux 6.1+ (migliore supporto BTF)

Configurazione del Kernel Richiesta

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

Opzioni richieste:

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

Abilitare BPF LSM

BPF LSM deve essere abilitato nei parametri di avvio 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

Per i sistemi Ubuntu/Debian, puoi anche usare:

# 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

Installazione

Da una release

I tarball precompilati sono pubblicati per x86_64 e aarch64, compilati contro glibc 2.31 in modo che funzionino su distribuzioni più vecchie di quella su cui sono stati compilati.

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

Lo script verifica lo SHA256 prima di installare qualsiasi cosa. Ogni artefatto è anche firmato con GPG; per verificare la provenienza, importa prima la chiave di rilascio:

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

Per installare manualmente, scarica il tarball per la tua architettura dalla pagina delle release 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

Poi abilitare una delle due modalità descritte in Modalità di installazione.

Build

Prerequisiti

# 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

Compila tutti i componenti

cd jailer

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

# Build daemon and client
cargo build --release

Avvio rapido

1. Avvia il 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. Esegui i test di sicurezza

# 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

Esempio di output con ruolo limitato:

============================================================
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)
Scarica lo strumento