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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
jailer — Jailer هو نظام عزل عمليات قائم على eBPF يوفر التحكم الإجباري في الوصول (MAC) لنظام Linux. يتتبع العمليات باستخدام خرائط تخزين المهام BPF ويفرض سياسات قائمة على الأدوار على الوصول إلى الملفات، وعمليات الشبكة، وتنفيذ العمليات. | Kitploit
أدوات/GitHubGitHub/gen0sec/jailer
أدوات دفاعيةأمن الحاوياتأمن الشبكاتأمن السحابة
GitHubgen0sec/jailer

jailer

Jailer هو نظام عزل عمليات قائم على eBPF يوفر التحكم الإجباري في الوصول (MAC) لنظام Linux. يتتبع العمليات باستخدام خرائط تخزين المهام BPF ويفرض سياسات قائمة على الأدوار على الوصول إلى الملفات، وعمليات الشبكة، وتنفيذ العمليات.

عرض المستودع
58221منذ 12 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Jailer - التحكم الإلزامي للوصول عبر eBPF

تحذير: هذا المشروع قيد التطوير المكثف وغير جاهز للاستخدام في بيئة الإنتاج. قد تتغير واجهات برمجة التطبيقات (APIs) وتنسيقات السياسات والسلوك دون إشعار. يُستخدم للاختبار والتجريب فقط.

شكر وتقدير

ملاحظة: هذا تنفيذ مستقل وليس نفس المشروع الذي تقدمه Meta. في حين أن BpfJailer مشابه وظيفيًا ومستوحى من الفكرة والتصميم الأصليين من قبل Liam Wisehart وJustin Ngai وCarl El Khoury وMansee Chadha في Meta، فإن هذا قاعدة برمجية منفصلة تم تطويرها بشكل مستقل. نعرب عن امتناننا للرؤية والمفاهيم الأساسية التي ألهمت هذا العمل.

المجتمع

Join us on Discord Substack

Jailer هو نظام حبس العمليات (process jailing) قائم على eBPF يوفر التحكم الإلزامي للوصول (MAC) لنظام Linux. يتتبع العمليات باستخدام خرائط BPF task_storage ويفرض سياسات قائمة على الأدوار على الوصول إلى الملفات وعمليات الشبكة وتنفيذ العمليات.

الميزات (الإصدار الحالي)

الميزةالحالةالوصف
تتبع العمليات✅ يعمليتتبع العمليات باستخدام خريطة task_storage BPF
تسجيل المقابس (Sockets)✅ يعملتسجل العمليات عبر واجهة Unix socket API
سياسات قائمة على الأدوار✅ يعملأدوار مقيدة ومتساهلة
التحكم في الوصول إلى الملفات✅ يعملحظر/السماح بعمليات فتح الملفات
وراثة الحبس (Jail)✅ يعملترث العمليات الفرعية حبس العملية الأصلية
التحكم في الشبكة✅ يعملحظر/السماح بربط/الاتصال بالمقابس
تصفية المنافذ/البروتوكولات✅ يعملقواعد السماح/الرفض لكل منفذ TCP/UDP
التحكم في التنفيذ✅ يعملحظر/السماح بتنفيذ العمليات
مطابقة المسارات✅ يعملالتنقل في dentry مع إبطال ذاكرة التخزين المؤقت
الملفات الثنائية الموقعة🚧 هيكل مبدئيالتحقق من توقيع الملفات الثنائية (غير مُنفَّذ)
التسجيل البديل✅ يعملالتسجيل التلقائي حسب الملف التنفيذي أو cgroup أو xattr
وضع عدم وجود خادم (Daemonless)✅ يعململف ثنائي للتمهيد يثبّت البرامج عند بدء التشغيل المبكر
أحداث التدقيق✅ يعملمخزن مؤقت Perf للتكامل مع systemd-journald

عرض توضيحي لـ Nginx

Nginx demo

عرض توضيحي معقد

asciicast

متطلبات النواة

الحد الأدنى لإصدار النواة

  • Linux 5.11+ (لدعم BPF_MAP_TYPE_TASK_STORAGE)
  • موصى به: Linux 6.1+ (دعم أفضل لـ BTF)

إعدادات النواة المطلوبة

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

الخيارات المطلوبة:

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

تمكين BPF LSM

يجب تمكين BPF LSM في معاملات إقلاع النواة:

# 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

بالنسبة لأنظمة Ubuntu/Debian، يمكنك أيضًا استخدام:

# 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

التثبيت

من إصدار

تُنشر حزم tarball المُجمَّعة مسبقًا لـ x86_64 و aarch64، مبنية مقابل glibc 2.31 بحيث تعمل على توزيعات أقدم من التي بُنيت عليها.

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

يتحقق السكربت من SHA256 قبل تثبيت أي شيء. كما أن كل ملف موقّع بـ GPG؛ للتحقق من المصدر، استورد مفتاح الإصدار أولاً:

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

للتثبيت يدويًا بدلاً من ذلك، قم بتنزيل ملف tarball الخاص بمعماريتك من صفحة الإصدارات ثم:

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

ثم قم بتمكين أحد الوضعين الموصوفين تحت أوضاع التثبيت.

البناء

المتطلبات الأساسية

# 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

بناء جميع المكونات

cd jailer

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

# Build daemon and client
cargo build --release

بدء سريع

1. تشغيل الخادم الخفي

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

المخرجات المتوقعة:

[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. تشغيل اختبارات الأمان

# 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

مثال على المخرجات بدور مقيّد:

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

اختبارات الأمان المتاحة

تنزيل الأداة