Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ebpf-container-escape-framework — تدقيق فقط eBPF EDR لنواة Linux 5.15+ LTS: 14 خطافًا في النواة، 15 إجراءً (13 تقنية MITRE)، تتبّع سلالة العمليات، تصدير إلى SIEM، جاهز لـ K8s/Docker. | Kitploit
أدوات/GitHubGitHub/0xmfbk/ebpf-container-escape-framework
أدوات دفاعيةأمن الحاوياتكشف التسللالاستجابة للحوادثتحليل السجلات
GitHub0xmfbk/ebpf-container-escape-framework

ebpf-container-escape-framework

تدقيق فقط eBPF EDR لنواة Linux 5.15+ LTS: 14 خطافًا في النواة، 15 إجراءً (13 تقنية MITRE)، تتبّع سلالة العمليات، تصدير إلى SIEM، جاهز لـ K8s/Docker.

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني
6125منذ 2 أياملم تتم المراجعة بعد

كشف هروب الحاويات عبر eBPF وتدقيق وقت التشغيل EDR

CI Go Version Kernel Support Memory Footprint License

للكشف والتدقيق فقط. مستشعر غير تنفيذي. لا يُرجع أي برنامج BPF القيمة -EPERM؛ ولا يتم حظر أي استدعاء نظام. هذا الوكيل مستوى مراقبة وقت التشغيل، وليس مستوى منع. راجع docs/SECURITY.md و THREAT_MODEL.md.

eBPF EDR Demo

وكيل EDR لنظام Linux خفيف للغاية، للتدقيق فقط، مبني باستخدام eBPF (C) مع خادم Go عالي الكفاءة. يستهدف نواة Linux 5.15 LTS وما فوق، ويتميز بـ مسار ساخن بدون تخصيص ذاكرة، وبصمة ذاكرة أقل من 30 ميجابايت، وإثراء عميق لسياق الحاويات وK8s.

✨ لماذا هذا الإطار؟

  • 🎯 ملفات الكناري (صفر إيجابيات كاذبة): ازرع مسارات غير مرئية في النواة. إذا لمسها مهاجم (مثل رموز حسابات خدمة K8s)، فإنها تُطلق تنبيهًا CRITICAL فورًا.
  • ☁️ إثراء سياق K8s: يستعلم بشكل غير متزامن من واجهة Kubelet API لربط cgroup_id باسم Pod وNamespace وServiceAccount دون تضخيم تنسيق البيانات في النواة البالغ 208 بايت.
  • 🐧 متوافق مع 5.15 LTS: دعم هيكلي لـ Ubuntu 22.04 وDebian 12، تم اختباره والتحقق منه على النواة 6.12.
  • ⚡ أداء عالٍ: 0.40% من وحدة المعالجة المركزية في وضع الخمول و0 من إسقاطات ringbuf تحت اختبار إجهاد بـ 25,000 عملية fork.

الحالة: اكتملت المرحلة 2.7. 13 تقنية من MITRE ATT&CK عبر 16 إجراءً. تم التحقق من البداية إلى النهاية على النواة 6.12.111 (82 نجاح / 0 فشل).

التغطية

#الإجراءالخطورةMITREنقطة الالتقاط
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

الإجراءان 9 و13 متصلان لكنهما مُعطَّلان افتراضيًا من جانب النواة عبر disabled_actions في config.toml.

البنية

تُغذّي نقاط الالتقاط في النواة (14) مرشّح comm/cgroup، ثم بحثًا تجزئيًا O(1) في canary_paths، ثم بحثًا في action_enabled. تُدفع الأحداث إلى ringbuf بحجم 1 MiB يحمل سجلات بحجم 208 بايت. تقرأ مساحة المستخدم إلى مخزن مؤقت مُجمَّع ثابت، وتطبّق دلو رموز لكل إجراء، وتُثري بسلسلة العمليات ومسار cgroup، وبيانات Pod الوصفية من K8s من مخابئ LRU محدودة، وتوجّه عبر Encoder + Sink إلى أي وجهة.

التفاصيل الكاملة: docs/ARCHITECTURE.md.

تكامل SIEM

يُصدّر ebpf edr التنبيهات إلى أي 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

وسائط النقل المدعومة: file، stdout، syslog (UDP/TCP/TLS)، HTTPS webhook. التنسيقات المدعومة: native JSON، ECS 8.11، OCSF 1.3.0، CEF، LEEF 2.0.

وصفات لـ Splunk وElastic وSentinel وQRadar وsyslog العام: docs/SIEM_INTEGRATION.md.

في حال غياب [output]، يكون السلوك مطابقًا بايتًا للإصدار v1.x.

المتطلبات

  • Linux Kernel >= 5.15 LTS مع CONFIG_DEBUG_INFO_BTF=y (/sys/kernel/btf/vmlinux)
  • تم الاختبار على Debian 13 (Kernel 6.12). راجع docs/KERNEL_COMPATIBILITY.md للمصفوفة الكاملة.
  • clang، gcc، Go >= 1.21، bpftool، libbpf headers
  • صلاحيات الجذر مع CAP_BPF CAP_PERFMON CAP_SYS_ADMIN

البناء

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

التحقق (15 مرحلة أساسية + مرحلتا SIEM)

sudo -E make verify

يشغّل فحص البيئة، والبناء، والتحقق من تخطيط بنية C/Go، والتشغيل التجريبي لمدقق BPF، والاختبار السريع وقت التشغيل، ومحاكاة الخصم، والأداء، ومصفوفة الإعدادات، وإعادة التحميل عبر SIGHUP، واستهلاك CPU في الخمول، وإثراء النسب، وحدود التخزين المؤقت، والخطافات الجديدة، ومصفوفة التنسيقات، وتسليم webhook.

التثبيت (systemd)

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

يثبّت /usr/local/sbin/ebpf-edr، و/usr/local/lib/ebpf-edr/bpf_program.o، و/etc/ebpf-edr/config.toml (يُحتفظ بالموجود؛ الافتراضي الجديد في .new)، و/etc/systemd/system/ebpf-edr.service، و/etc/logrotate.d/ebpf-edr.

الإعدادات

TOML في /etc/ebpf-edr/config.toml. الأولوية: CLI > env (EDR_*) > الملف > القيم الافتراضية.

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

إعادة التحميل: sudo systemctl reload ebpf-edr. يتم رفض mode = "enforce"؛ هذا البناء للتدقيق فقط.

مخطط الحدث (v3، 208 بايت على الشبكة)

{
  "timestamp": "2026-10-15T23:52:41Z",
  "pid": 1370, "ppid": 1369, "uid": 0,
  "start_time_ns": 180763002635,
  "command": "unix_chkpwd",
  "action": "Sensitive_File_Access",
  "target": "/etc/shadow",
  "severity": "HIGH",
  "mitre_id": "T1003.008",
  "mitre_technique": "OS Credential Dumping: /etc/shadow",
  "cgroup_id": 3874,
  "cgroup_path": "/user.slice/user-0.slice/session-3.scope",
  "runtime": "host",
  "lineage_summary": "systemd > sshd > bash > sudo > unix_chkpwd",
  "lineage": [
    {"pid": 1370, "ppid": 1369, "comm": "unix_chkpwd",
     "exe": "/usr/sbin/unix_chkpwd", "start_time_ns": 180763002635},
    {"pid": 1369, "ppid": 1368, "comm": "sudo",
     "exe": "/usr/bin/sudo", "start_time_ns": 180762998100}
  ]
}

تحمل الحقول aux_u16 وaux_u32 وaux_u64 سياقًا خاصًا بكل إجراء.

العمليات

سطر الحالة الصحية كل 60 ثانية:

تنزيل الأداة