Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
jailer — Jailer ist ein auf eBPF basierendes Prozess-Jailing-System, das eine verbindliche Zugriffskontrolle (MAC) für Linux bereitstellt. Es verfolgt Prozesse mithilfe von BPF-task_storage-Maps und setzt rollenbasierte Richtlinien für Dateizugriff, Netzwerkoperationen und Prozessausführung durch. | Kitploit
Tools/GitHubGitHub/gen0sec/jailer
DefensivwerkzeugeContainer-SicherheitNetzwerksicherheitCloud-Sicherheit
GitHubgen0sec/jailer

jailer

Repository anzeigenWebseite
58219vor 10 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

Jailer ist ein auf eBPF basierendes Prozess-Jailing-System, das eine verbindliche Zugriffskontrolle (MAC) für Linux bereitstellt. Es verfolgt Prozesse mithilfe von BPF-task_storage-Maps und setzt rollenbasierte Richtlinien für Dateizugriff, Netzwerkoperationen und Prozessausführung durch.

Teilen

Jailer - eBPF Mandatory Access Control

Warnung: Dieses Projekt befindet sich in intensiver Entwicklung und ist NICHT für den Produktiveinsatz geeignet. APIs, Richtlinienformate und Verhalten können sich ohne Vorankündigung ändern. Nur für Tests und Experimente verwenden.

Danksagungen

Hinweis: Dies ist eine unabhängige Implementierung und nicht dasselbe Projekt wie Metas Lösung. Obwohl BpfJailer funktional ähnlich ist und von der ursprünglichen Idee und dem Design von Liam Wisehart, Justin Ngai, Carl El Khoury, Mansee Chadha bei Meta inspiriert wurde, handelt es sich um eine separate, unabhängig entwickelte Codebasis. Wir danken für die Vision und die grundlegenden Konzepte, die diese Arbeit inspiriert haben.

Community

Join us on Discord Substack

Jailer ist ein eBPF-basiertes Prozess-Jailing-System, das Mandatory Access Control (MAC) für Linux bereitstellt. Es verfolgt Prozesse mithilfe von BPF task_storage-Maps und erzwingt rollenbasierte Richtlinien für Dateizugriff, Netzwerkoperationen und Prozessausführung.

Funktionen (Aktuelle Version)

FunktionStatusBeschreibung
Prozessverfolgung✅ FunktioniertVerfolgt Prozesse mithilfe der task_storage BPF-Map
Socket-Registrierung✅ FunktioniertProzesse registrieren sich über die Unix-Socket-API
Rollenbasierte Richtlinien✅ FunktioniertEingeschränkte und permissive Rollen
Dateizugriffskontrolle✅ FunktioniertBlockieren/Erlauben von Dateiöffnungsoperationen
Jail-Vererbung✅ FunktioniertKindprozesse erben das Jail des Elternprozesses
Netzwerkkontrolle✅ FunktioniertBlockieren/Erlauben von Socket-Bind/Connect
Port-/Protokollfilterung✅ FunktioniertTCP/UDP-Erlaubnis-/Verbotsregeln pro Port
Exec-Kontrolle✅ FunktioniertBlockieren/Erlauben der Prozessausführung
Pfadabgleich✅ FunktioniertDentry-Walking mit Cache-Invalidierung
Signierte Binärdateien🚧 StubValidierung von Binärsignaturen (nicht implementiert)
Alternative Registrierung✅ FunktioniertAutomatische Registrierung nach Executable, cgroup oder xattr
Daemonloser Modus✅ FunktioniertBootstrap-Binary pinnt Programme beim frühen Bootvorgang
Audit-Ereignisse✅ FunktioniertPerf-Buffer für systemd-journald-Integration

Nginx-Demo

Nginx demo

Komplexe Demo

asciicast

Kernel-Anforderungen

Minimale Kernel-Version

  • Linux 5.11+ (für BPF_MAP_TYPE_TASK_STORAGE-Unterstützung)
  • Empfohlen: Linux 6.1+ (bessere BTF-Unterstützung)

Erforderliche Kernel-Konfiguration

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

Erforderliche Optionen:

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

BPF LSM aktivieren

BPF LSM muss in den Kernel-Boot-Parametern aktiviert werden:

# 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

Für Ubuntu/Debian-Systeme können Sie auch Folgendes verwenden:

# 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

Aus einem Release

Vorgefertigte Tarballs werden für x86_64 und aarch64 veröffentlicht, gebaut gegen glibc 2.31, damit sie auf älteren Distributionen laufen als der, auf der sie gebaut wurden.

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

Das Skript überprüft den SHA256, bevor irgendetwas installiert wird. Jedes Artefakt ist außerdem GPG-signiert; um die Herkunft zu überprüfen, importiere zuerst den Release-Schlüssel:

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

Um es stattdessen manuell zu installieren, lade das Tarball für deine Architektur von der Releases-Seite herunter und:

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

Dann aktivieren Sie einen der beiden Modi, die unter Installationsmodi beschrieben sind.

Build

Voraussetzungen

# 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

Alle Komponenten bauen

cd jailer

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

# Build daemon and client
cargo build --release

Schnellstart

1. Daemon starten

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

Erwartete Ausgabe:

[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. Sicherheitstests ausführen

# 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

Beispielausgabe mit eingeschränkter Rolle:

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