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é.

··Flux·Contact·Confidentialité·© 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
58212il y a 7 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. Utilisez-le uniquement pour des tests et des expérimentations.

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 originale et de la conception de Liam Wisehart, Justin Nga, 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é

Rejoignez-nous sur 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
Inscription par socket✅ FonctionnelLes processus s'inscrivent via l'API socket Unix
Politiques basées sur les rôles✅ FonctionnelRôles restreints et permissifs
Contrôle d'accès aux fichiers✅ FonctionnelBloquer/autoriser les opérations d'ouverture de fichiers
Héritage de la prison✅ FonctionnelLes processus enfants héritent de la prison du parent
Contrôle réseau✅ FonctionnelBloquer/autoriser les opérations socket bind/connect
Filtrage par port/protocole✅ FonctionnelRègles d'autorisation/refus par port TCP/UDP
Contrôle d'exécution✅ FonctionnelBloquer/autoriser l'exécution de processus
Correspondance de chemin✅ FonctionnelParcours de dentry avec invalidation de cache
Binaires signés🚧 ÉbaucheValidation de signature binaire (non implémentée)
Inscription alternative✅ FonctionnelAuto-inscription par exécutable, cgroup ou xattr
Mode sans démon✅ FonctionnelBinaire bootstrap épinglant des programmes au démarrage précoce
Événements d'audit✅ FonctionnelTampon perf pour l'intégration systemd-journald

Démo Nginx

Démo Nginx

Démo complexe

asciicast

Prérequis 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 noyau requise

# Vérifier la configuration actuelle du noyau
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 :

# Vérifier si BPF LSM est actif
cat /sys/kernel/security/lsm
# Doit inclure "bpf" dans la liste

# Si ce n'est pas le cas, ajouter aux paramètres de démarrage :
# Éditer /etc/default/grub et ajouter à GRUB_CMDLINE_LINUX :
#   lsm=lockdown,capability,landlock,yama,apparmor,bpf

# Puis mettre à jour grub et redémarrer :
sudo update-grub
sudo reboot

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

# Créer un script pour activer 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 activé. Veuillez redémarrer."
EOF
chmod +x /tmp/enable_bpf_lsm.sh
sudo /tmp/enable_bpf_lsm.sh

Construction

Prérequis

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

# Installer les dépendances de construction (Ubuntu/Debian)
sudo apt-get install -y clang llvm libelf-dev linux-headers-$(uname -r)

# Installer la cible BPF pour Rust
rustup target add bpfel-unknown-none

Construire tous les composants

cd bpfjail

# Construire les programmes BPF
cd bpfjailer-bpf && cargo build --release && cd ..

# Construire le démon et le client
cargo build --release

Démarrage rapide

1. Démarrer le démon

# Exécuter en tant que root (charge config/policy.json si présent)
sudo RUST_LOG=info ./target/release/bpfjailer-daemon

Sortie attendue :

[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é

# Exécuter les tests de vulnérabilité SANS emprisonnement (montre les attaques réussies)
sudo python3 tests/vulnerable_apps/run_tests.py

# Exécuter les tests de vulnérabilité AVEC le rôle restreint (montre les attaques bloquées)
sudo python3 tests/vulnerable_apps/run_tests.py --role 1

# Exécuter un test spécifique
sudo python3 tests/vulnerable_apps/run_tests.py --role 1 --test path

# Lister les tests et rôles disponibles
sudo python3 tests/vulnerable_apps/run_tests.py --list

Exemple de sortie avec le rôle restreint :

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

============================================================
TEST: Reverse Shell / Data Exfiltration
============================================================
Test 1: Reverse shell connection to 127.0.0.1:4444
BLOCKED - Permission denied (BpfJailer blocked connect)

Tests de sécurité disponibles

TestVulnérabilitéAtténué par
path_traversalLecture arbitraire de fichiers via ../restricted, isolated
command_injectionExécution de commandes shellrestricted, webserver, isolated
reverse_shellConnexions sortantes vers l'attaquantrestricted, isolated
ssrfAccès aux services internes/métadonnées cloudrestricted, isolated
arbitrary_writeÉcriture dans des chemins sensiblesrestricted
crypto_minerTéléchargement + exécution + connexion au poolrestricted, webserver
privilege_escalationLecture shadow, écriture sudoersrestricted

3. Test d'inscription manuelle

Télécharger l’outil