Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
jailer — Jailer est un système de confinement de processus basé sur eBPF qui fournit un contrôle d'accès obligatoire (MAC) pour Linux. Il suit les processus à l'aide de maps BPF task_storage et applique des politiques basées sur les rôles en matière d'accès aux fichiers, d'opérations réseau et d'exécution de processus. | Kitploit
Outils/GitHubGitHub/gen0sec/jailer
Outils DéfensifsSécurité des ConteneursSécurité RéseauSécurité Cloud
GitHubgen0sec/jailer

jailer

Voir le dépôtSite web
58219il y a 11 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Jailer est un système de confinement de processus basé sur eBPF qui fournit un contrôle d'accès obligatoire (MAC) pour Linux. Il suit les processus à l'aide de maps BPF task_storage et applique des politiques basées sur les rôles en matière d'accès aux fichiers, d'opérations réseau et d'exécution de processus.

Partager

Jailer - Contrôle d'accès obligatoire eBPF

Avertissement : Ce projet est en cours de développement intensif et n'est PAS prêt pour une utilisation en production. Les API, les formats de politique et le comportement peuvent changer sans préavis. À utiliser uniquement pour les tests et l'expérimentation.

Remerciements

Note : Il s'agit d'une implémentation indépendante et non du même projet que la solution de Meta. Bien que BpfJailer soit fonctionnellement similaire et inspiré de l'idée et de la conception originales de Liam Wisehart, Justin Ngai, Carl El Khoury, Mansee Chadha chez Meta, il s'agit d'une base de code distincte développée indépendamment. Nous exprimons notre gratitude pour la vision et les concepts fondamentaux qui ont inspiré ce travail.

Communauté

Join us on Discord Substack

Jailer est un système d'isolation de processus basé sur eBPF qui fournit un contrôle d'accès obligatoire (MAC) pour Linux. Il suit les processus à l'aide de cartes BPF task_storage et applique des politiques basées sur les rôles pour l'accès aux fichiers, les opérations réseau et l'exécution de processus.

Fonctionnalités (Version actuelle)

FonctionnalitéStatutDescription
Suivi des processus✅ FonctionnelSuit les processus à l'aide de la carte BPF task_storage
Enrôlement par socket✅ FonctionnelLes processus s'enrôlent via l'API socket Unix
Politiques basées sur les rôles✅ FonctionnelRôles restreints et permissifs
Contrôle d'accès aux fichiers✅ FonctionnelBloque/autorise les opérations d'ouverture de fichiers
Héritage de l'isolation✅ FonctionnelLes processus enfants héritent de l'isolation du parent
Contrôle réseau✅ FonctionnelBloque/autorise bind/connect sur les sockets
Filtrage port/protocole✅ FonctionnelRègles d'autorisation/refus TCP/UDP par port
Contrôle d'exécution✅ FonctionnelBloque/autorise l'exécution de processus
Correspondance de chemins✅ FonctionnelParcours de dentry avec invalidation du cache
Binaires signés🚧 ÉbaucheValidation de signature de binaire (non implémentée)
Enrôlement alternatif✅ FonctionnelEnrôlement automatique par exécutable, cgroup ou xattr
Mode sans démon✅ FonctionnelLe binaire d'amorçage épingle les programmes au démarrage précoce
Événements d'audit✅ FonctionnelTampon perf pour l'intégration avec systemd-journald

Démo Nginx

Nginx demo

Démo complexe

asciicast

Prérequis du noyau

Version minimale du noyau

  • Linux 5.11+ (pour le support de BPF_MAP_TYPE_TASK_STORAGE)
  • Recommandé : Linux 6.1+ (meilleur support BTF)

Configuration requise du noyau

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

Options requises :

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

Activer BPF LSM

BPF LSM doit être activé dans les paramètres de démarrage du noyau :

# 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

Pour les systèmes Ubuntu/Debian, vous pouvez également utiliser :

# 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

Installation

À partir d'une release

Des tarballs précompilés sont publiés pour x86_64 et aarch64, compilés contre glibc 2.31 afin qu'ils fonctionnent sur des distributions plus anciennes que celle sur laquelle ils ont été compilés.

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

Le script vérifie le SHA256 avant d'installer quoi que ce soit. Chaque artefact est également signé GPG ; pour vérifier la provenance, importez d'abord la clé de version :

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

Pour installer manuellement à la place, téléchargez l'archive tar pour votre architecture depuis la page des releases et :

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

Activez ensuite l'un des deux modes décrits dans Modes d'installation.

Compilation

Prérequis

# 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

Compiler tous les composants

cd jailer

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

# Build daemon and client
cargo build --release

Démarrage rapide

1. Démarrer le démon

# 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. Exécuter les tests de sécurité

# 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

Exemple de sortie avec un rôle restreint :

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