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.

··Feeds·Kontakt·Datenschutz·© 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
58211vor 6 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-basierte obligatorische Zugriffskontrolle (MAC)

Warnung: Dieses Projekt befindet sich in intensiver Entwicklung und ist NICHT bereit für den Produktionseinsatz. APIs, Richtlinienformate und Verhalten können sich ohne Vorankündigung ändern. Nur zu Test- und Experimentierzwecken verwenden.

Danksagungen

Hinweis: Dies ist eine unabhängige Implementierung und nicht dasselbe Projekt wie die Lösung von Meta. Obwohl BpfJailer funktional ähnlich und vom ursprünglichen Konzept und Design von Liam Wisehart, Justin Nga, Carl El Khoury, Mansee Chadha bei Meta inspiriert ist, 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-Isolierungssystem, das eine obligatorische 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.

Funktionen (Aktuelle Version)

MerkmalStatusBeschreibung
Prozessverfolgung✅ FunktionsfähigVerfolgt Prozesse mithilfe der task_storage-BPF-Map
Socket-Anmeldung✅ FunktionsfähigProzesse melden sich über die Unix-Socket-API an
Rollenbasierte Richtlinien✅ FunktionsfähigEingeschränkte und freizügige Rollen
Dateizugriffskontrolle✅ FunktionsfähigDatei-Öffnen-Operationen blockieren/erlauben
Jail-Vererbung✅ FunktionsfähigKindprozesse erben das Jail des Elternprozesses
Netzwerkkontrolle✅ FunktionsfähigSocket-Bind/Connect blockieren/erlauben
Port/Protokoll-Filterung✅ FunktionsfähigPro-Port-TCP/UDP-Erlauben/Verbieten-Regeln
Ausführungskontrolle✅ FunktionsfähigProzessausführung blockieren/erlauben
Pfadabgleich✅ FunktionsfähigDentry-Walking mit Cache-Invalidierung
Signierte Binärdateien🚧 AnsatzBinärsignatur-Validierung (nicht implementiert)
Alternative Anmeldung✅ FunktionsfähigAutomatische Anmeldung per ausführbare Datei, Cgroup oder Xattr
Daemonloser Modus✅ FunktionsfähigBootstrap-Binärdatei verankert Programme beim frühen Booten
Audit-Ereignisse✅ FunktionsfähigPerf-Puffer für systemd-journald-Integration

Nginx-Demo

Nginx-Demo

Komplexe Demo

asciicast

Kernel-Anforderungen

Mindest-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

# Aktuelle Kernel-Konfiguration prüfen
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 sein:

# Prüfen, ob BPF LSM aktiv ist
cat /sys/kernel/security/lsm
# Sollte "bpf" in der Liste enthalten

# Falls nicht, zu den Kernel-Boot-Parametern hinzufügen:
# /etc/default/grub bearbeiten und zu GRUB_CMDLINE_LINUX hinzufügen:
#   lsm=lockdown,capability,landlock,yama,apparmor,bpf

# Dann grub aktualisieren und neu starten:
sudo update-grub
sudo reboot

Für Ubuntu/Debian-Systeme kann auch Folgendes verwendet werden:

# Ein Skript erstellen, um BPF LSM zu aktivieren
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 aktiviert. Bitte neustarten."
EOF
chmod +x /tmp/enable_bpf_lsm.sh
sudo /tmp/enable_bpf_lsm.sh

Build

Voraussetzungen

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

# Build-Abhängigkeiten installieren (Ubuntu/Debian)
sudo apt-get install -y clang llvm libelf-dev linux-headers-$(uname -r)

# BPF-Ziel für Rust installieren
rustup target add bpfel-unknown-none

Alle Komponenten bauen

cd bpfjail

# BPF-Programme bauen
cd bpfjailer-bpf && cargo build --release && cd ..

# Daemon und Client bauen
cargo build --release

Schnellstart

1. Den Daemon starten

# Als root ausführen (lädt config/policy.json, falls vorhanden)
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

# Sicherheitslücken-Tests OHNE Jail ausführen (zeigt erfolgreiche Angriffe)
sudo python3 tests/vulnerable_apps/run_tests.py

# Sicherheitslücken-Tests MIT eingeschränkter Rolle ausführen (zeigt blockierte Angriffe)
sudo python3 tests/vulnerable_apps/run_tests.py --role 1

# Bestimmten Test ausführen
sudo python3 tests/vulnerable_apps/run_tests.py --role 1 --test path

# Verfügbare Tests und Rollen auflisten
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)

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

Verfügbare Sicherheitstests

TestSchwachstelleAbgemildert durch
path_traversalBeliebiges Dateilesen via ../restricted, isolated
command_injectionShell-Befehlsausführungrestricted, webserver, isolated
reverse_shellAusgehende Verbindungen zum Angreiferrestricted, isolated
ssrfZugriff auf interne Dienste/Cloud-Metadatenrestricted, isolated
arbitrary_writeSchreiben in sensible Pfaderestricted
crypto_minerHerunterladen + Ausführen + Verbinden zum Poolrestricted, webserver
privilege_escalationshadow lesen, sudoers schreibenrestricted

3. Manueller Anmeldetest

#!/usr/bin/env python3
import socket
import json
import os
Tool herunterladen