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
ebpf-container-escape-framework — Audit-fähiges eBPF-EDR für Linux 5.15+ LTS: 14 Kernel-Hooks, 15 Aktionen (13 MITRE-Techniken), Prozess-Lineage, SIEM-Export, K8s/Docker-bereit. | Kitploit
Tools/GitHubGitHub/0xmfbk/ebpf-container-escape-framework
DefensivwerkzeugeContainer-SicherheitEinbruchserkennungIncident ResponseLog-Analyse
GitHub0xmfbk/ebpf-container-escape-framework

ebpf-container-escape-framework

Audit-fähiges eBPF-EDR für Linux 5.15+ LTS: 14 Kernel-Hooks, 15 Aktionen (13 MITRE-Techniken), Prozess-Lineage, SIEM-Export, K8s/Docker-bereit.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Webseite
6117vor 1 TagNoch nicht geprüft
Teilen

eBPF Container Escape Detection & Runtime Audit EDR

CI Go Version Kernel Support Memory Footprint License

Nur Erkennung & Audit. Nicht durchsetzender Sensor. Kein BPF-Programm gibt -EPERM zurück; kein Syscall wird blockiert. Dieser Agent ist eine Laufzeit-Beobachtungsebene, keine Präventionsebene. Siehe docs/SECURITY.md und THREAT_MODEL.md.

eBPF EDR Demo

Ein extrem leichtgewichtiger, ausschließlich auditierender Linux-EDR-Agent, gebaut mit eBPF (C) und einem hocheffizienten Go-Daemon. Er zielt auf Linux-Kernel 5.15 LTS und höher ab und bietet einen zuweisungsfreien Hot Path, einen Speicherbedarf unter 30 MB sowie eine tiefgehende Container-/K8s-Kontextanreicherung.

✨ Warum dieses Framework?

  • 🎯 Canary-Dateien (Null False Positives): Platzieren Sie unsichtbare Pfade im Kernel. Wenn ein Angreifer sie berührt (z. B. K8s-Service-Account-Tokens), löst dies sofort einen CRITICAL-Alarm aus.
  • ☁️ K8s-Kontextanreicherung: Fragt asynchron die Kubelet-API ab, um cgroup_id auf Pod-Name, Namespace und ServiceAccount abzubilden, ohne das 208-Byte-Kernel-Wire-Format aufzublähen.
  • 🐧 5.15 LTS-kompatibel: Strukturelle Unterstützung für Ubuntu 22.04 und Debian 12, getestet und verifiziert auf Kernel 6.12.
  • ⚡ Hohe Performance: 0,40 % Leerlauf-CPU und 0 Ringbuf-Drops unter einem Fork-Stresstest mit 25.000 Prozessen.

Status: Phase 2.7 abgeschlossen. 13 MITRE-ATT&CK-Techniken über 16 Aktionen. Ende-zu-Ende verifiziert auf Kernel 6.12.111 (82 PASS / 0 FAIL).

Abdeckung

#AktionSchweregradMITREHook
1Container_Namespace_UnshareHIGHT1611kprobe/__x64_sys_unshare
2Container_Pivot_Root_EscapeCRITICALT1611kprobe/__x64_sys_pivot_root
3Sensitive_File_AccessHIGHT1003.008tracepoint/sys_enter_openat + open
4Process_ExecutionINFO/MEDIUMT1059.004tracepoint/sys_enter_execve
5Network_ConnectionINFO/HIGHT1071tracepoint/sys_enter_connect
6Process_InjectionHIGHT1055.008tracepoint/sys_enter_ptrace
7Log_TamperingHIGHT1562.001tracepoint/sys_enter_unlinkat
8Ebpf_TamperingHIGHT1562.001tracepoint/sys_enter_bpf
9Perf_Event_OpenMEDIUMT1562.001tracepoint/sys_enter_perf_event_open
10Suspicious_MountHIGHT1611tracepoint/sys_enter_mount
11Namespace_SwitchHIGHT1611tracepoint/sys_enter_setns
12Chroot_EscapeHIGHT1611tracepoint/sys_enter_chroot
13Executable_MemoryMEDIUMT1620tracepoint/sys_enter_mprotect
14Core_Pattern_ModificationCRITICALT1611tracepoint/sys_enter_openat + open
15Cgroup_Release_AgentCRITICALT1611tracepoint/sys_enter_openat + open
16Canary_TriggeredCRITICALT1552.001tracepoint/sys_enter_openat + open

Die Aktionen 9 und 13 sind angehängt, aber kernel-seitig standardmäßig über disabled_actions in config.toml unterdrückt.

Architektur

Kernel-Hooks (14) speisen einen comm/cgroup-Filter, einen canary_paths-O(1)-Hash-Lookup und anschließend einen action_enabled-Lookup. Ereignisse werden in einen 1-MiB-Ringbuf mit 208-Byte-Datensätzen geschrieben. Der Userspace liest in einen festen gepoolten Puffer, wendet einen Token-Bucket pro Aktion an, reichert mit Prozess-Lineage und cgroup-Pfad sowie K8s-Pod-Metadaten aus begrenzten LRU-Caches an und leitet über einen Encoder + Sink an ein beliebiges Ziel weiter.

Vollständige Details: docs/ARCHITECTURE.md.

SIEM-Integration

ebpf edr exportiert Alarme über eine Format- + Transportschicht an jedes SIEM.

[output]
format = "ecs"        # json | ecs | ocsf | cef | leef
target = "webhook"    # file | stdout | syslog | webhook

[output.webhook]
url         = "https://splunk.internal:8088/services/collector/event"
auth_header = "Splunk ${SPLUNK_HEC_TOKEN}"
splunk_hec  = true

Unterstützte Transportwege: file, stdout, syslog (UDP/TCP/TLS), HTTPS-Webhook. Unterstützte Formate: natives JSON, ECS 8.11, OCSF 1.3.0, CEF, LEEF 2.0.

Rezepte für Splunk, Elastic, Sentinel, QRadar und generisches syslog: docs/SIEM_INTEGRATION.md.

Ohne [output] ist das Verhalten byte-identisch zu v1.x.

Anforderungen

  • Linux-Kernel >= 5.15 LTS mit CONFIG_DEBUG_INFO_BTF=y (/sys/kernel/btf/vmlinux)
  • Getestet auf Debian 13 (Kernel 6.12). Die vollständige Matrix finden Sie in docs/KERNEL_COMPATIBILITY.md.
  • clang, gcc, Go >= 1.21, bpftool, libbpf-Header
  • Root mit CAP_BPF CAP_PERFMON CAP_SYS_ADMIN

Build

make kernel        # kernel/bpf_program.o
make userspace     # userspace/ebpf_controller
make emulation     # emulation/adversary

Überprüfen (15 Kern-Stufen + 2 SIEM-Stufen)

sudo -E make verify

Führt Umgebungsprüfung, Build, C/Go-Struct-Layout-Assertion, BPF-Verifier- Probelauf, Laufzeit-Smoke-Test, Adversary-Emulation, Performance, Konfigurationsmatrix, SIGHUP-Reload, Idle-CPU, Lineage-Anreicherung, Cache-Grenzen, neue Hooks, Formatmatrix und Webhook-Zustellung aus.

Installation (systemd)

sudo ./install.sh --dry-run
sudo ./install.sh
sudo ./install.sh --uninstall

Installiert /usr/local/sbin/ebpf-edr, /usr/local/lib/ebpf-edr/bpf_program.o, /etc/ebpf-edr/config.toml (bestehende Datei bleibt erhalten; neue Standarddatei unter .new), /etc/systemd/system/ebpf-edr.service, /etc/logrotate.d/ebpf-edr.

Konfiguration

TOML unter /etc/ebpf-edr/config.toml. Rangfolge: CLI > env (EDR_*) > Datei > Standardwerte.

mode = "audit"

disabled_actions = [
    "Perf_Event_Open",
    "Executable_Memory",
]

[log]
path        = "/var/log/ebpf_edr.json"
max_bytes   = 52428800
max_backups = 5
level       = "info"

[filter]
comm_allowlist   = []
cgroup_allowlist = []
canary_paths     = ["/var/run/secrets/kubernetes.io/serviceaccount/token"]

[k8s]
enrichment = true

[rates]
events_per_sec = 200
burst          = 400

[container]
cache_max_entries = 5000

[context]
lineage_max_depth  = 16
lineage_cache_size = 20000
cgroup_cache_size  = 5000

Reload: sudo systemctl reload ebpf-edr. mode = "enforce" wird abgelehnt; dieser Build ist ausschließlich für den Audit-Betrieb vorgesehen.

Ereignisschema (v3, 208 Bytes auf der Leitung)

Tool herunterladen