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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sel4-ics-gateway-demo — عرض توضيحي للأمن الدفاعي: بوابة seL4 microkernel تحمي ICS الضعيفة من CVE-2019-14462 | Kitploit
أدوات/GitHubGitHub/spanwich/sel4-ics-gateway-demo
أدوات دفاعيةأمن الحاوياتتحليل الثغرات الأمنيةالاستغلالأمن SCADA/ICSأمن الشبكاتكشف التسللالتعلم والتعليم
GitHubspanwich/sel4-ics-gateway-demo

sel4-ics-gateway-demo

عرض توضيحي للأمن الدفاعي: بوابة seL4 microkernel تحمي ICS الضعيفة من CVE-2019-14462

عرض المستودع
37منذ 7 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

seL4 ICS Gateway Demo

مشروع بحث أمني دفاعي يقارن بين بنيتي كسر البروتوكول و توجيه الحزم لحماية أنظمة التحكم الصناعية من الهجمات الإلكترونية.

التوثيق:

  • بنية الشبكة - رسومات الشبكة وتدفق الحركة
  • بنية الحاويات - علاقات حاويات Docker
  • شروحات الثغرات - تفاصيل الثغرات وآليات الهجوم

الدافع البحثي

تواجه أنظمة ICS/SCADA الحديثة هجمات متطورة مثل FrostyGoop، والذي استهدف أنظمة التدفئة المحلية الأوكرانية عبر Modbus TCP في يناير 2024، مما ترك أكثر من 600 منزل بدون تدفئة خلال درجات حرارة تحت الصفر. تستخدم الحلول الأمنية التقليدية (الجدران النارية، أنظمة كشف التسلل) بنية توجيه الحزم التي تفحص الحركة على الخط ولكنها تحافظ على اتصال TCP واحد من النهاية إلى النهاية.

يقدم هذا المشروع بديلاً: بوابة كسر البروتوكول تستخدم النواة المصغرة seL4 المُثبتة رسميًا. من خلال إنهاء اتصالات TCP والتحقق من دلالات البروتوكول قبل إنشاء اتصالات جديدة بالأجهزة المحمية، توفر هذه البنية ضمانات أمنية أقوى.

النتائج الرئيسية

الجانبكسر البروتوكول (seL4)توجيه الحزم (Snort)
CVE-2019-14462محظور (التحقق من الطول)مكتشف (قواعد Quickdraw)
CVE-2022-0367محظور (التحقق من العنوان)مكتشف (قواعد مخصصة)
CVE-2022-20685محصن (بدون معالج مسبق)قابل للاختراق (حرمان خدمة IDS)
CVE-2024-1086محصن (بدون نواة Linux)قابل للاختراق (مشارك نواة المضيف)
المتغيرات غير المعروفةمحظور (التحقق البنيوي)غير مكتشف (لا توقيع)
هجمات حالة TCPمحظور (تم إنهاء الاتصال)ممكن
سطح الهجوم~1,000 سطر من الكود (نواة مصغرة)~500,000 سطر من الكود (Linux + Snort)

Architecture

┌─────────────────────────────────────────────────────────────────────────────┐
│ Docker Network: ics-untrusted (192.168.96.0/24)                             │
│                                                                             │
│   ┌───────────────────────┐       ┌───────────────────────┐                │
│   │ seL4 Gateway          │       │ Snort IDS             │                │
│   │ Port 502              │       │ Port 503              │                │
│   │                       │       │                       │                │
│   │ • Protocol-break      │       │ • Packet-forwarding   │                │
│   │ • TCP termination     │       │ • Inline inspection   │                │
│   │ • Length validation   │       │ • Rule-based detection│                │
│   └───────────┬───────────┘       └───────────┬───────────┘                │
│               │                               │                             │
├───────────────┼───────────────────────────────┼─────────────────────────────┤
│ Docker Network: ics-protected (192.168.95.0/24)                             │
│               │                               │                             │
│               └───────────────┬───────────────┘                             │
│                               ▼                                             │
│               ┌───────────────────────────────┐                             │
│               │ PLC (District Heating)        │                             │
│               │ Vulnerable libmodbus 3.1.2    │                             │
│               │ Port 5020 (direct access)     │                             │
│               └───────────────────────────────┘                             │
└─────────────────────────────────────────────────────────────────────────────┘

بداية سريعة

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

  • Docker و Docker Compose v2
  • صورة نواة بوابة seL4 (يقدمها المستخدم)
  • ~4GB رام لـ QEMU

1. إضافة صورة seL4

# Place your seL4 kernel image at:
gateway/sel4-image/capdl-loader-image-arm-qemu-arm-virt

2. البناء والتشغيل

# Build all containers
sudo docker compose build

# Start individual containers
sudo docker compose up plc        # PLC only
sudo docker compose up gateway    # seL4 gateway + PLC
sudo docker compose up snort      # Snort IDS + PLC

# Start all
sudo docker compose up

3. اختبار الاتصالات

# Through seL4 gateway (protected - protocol-break)
echo -ne '\x00\x01\x00\x00\x00\x06\x01\x03\x00\x00\x00\x01' | nc localhost 502 | xxd

# Through Snort IDS (protected - packet-forwarding)
echo -ne '\x00\x01\x00\x00\x00\x06\x01\x03\x00\x00\x00\x01' | nc localhost 503 | xxd

# Direct to PLC (unprotected - vulnerable)
echo -ne '\x00\x01\x00\x00\x00\x06\x01\x03\x00\x00\x00\x01' | nc localhost 5020 | xxd

تعيينات المنافذ

المنفذالمسارالبنيةالحماية
502عميل → seL4 → PLCكسر البروتوكوليتحقق من بنية Modbus
503عميل → Snort → PLCتوجيه الحزمIDS قائم على القواعد
5020عميل → PLC (ASAN)مباشروضع CVE-2022-0367
5022عميل → PLCمباشروضع CVE-2019-14462 (profile: cve14462)

ملاحظة: يعمل PLC الافتراضي الآن في وضع CVE-2022-0367 مع ASAN. استخدم --profile cve14462 لاختبار CVE-2019-14462.

عروض توضيحية للثغرات

CVE-2019-14462: تجاوز سعة المخزن المؤقت للكومة في libmodbus

يستخدم PLC مكتبة libmodbus 3.1.2 المعرضة للخطر عن قصد. يستغل الهجوم حقول طول MBAP الموثوقة:

# Start PLC in CVE-2019-14462 mode
sudo docker compose --profile cve14462 up plc-14462

# Build attack tools
cd cve_tools && make

# Attack unprotected PLC (crashes)
./cve_14462_attack 127.0.0.1 5022

# Attack through seL4 (BLOCKED)
./cve_14462_attack 127.0.0.1 502

# Attack through Snort (DETECTED by Quickdraw rules)
./cve_14462_attack 127.0.0.1 503

CVE-2022-0367: نقص سعة المخزن المؤقت للكومة في libmodbus

خلل في التحقق من الحدود في modbus_mapping_new_start_address() يسمح بنقص سعة الكومة عبر كود الوظيفة 0x17 (كتابة وقراءة السجلات):

# Default PLC runs in CVE-2022-0367 mode with ASAN
sudo docker compose up plc

# Build attack tools
cd cve_tools && make

# Attack PLC - ASAN will detect heap-buffer-overflow
./cve_0367_attack 127.0.0.1 5020

# Attack with custom parameters
./cve_0367_attack 127.0.0.1 5020 88 0x4141  # Corrupt tab_registers pointer
./cve_0367_attack 127.0.0.1 5020 72 0xFFFF  # Corrupt nb_registers

# Attack through seL4 (BLOCKED - address validation)
./cve_0367_attack 127.0.0.1 502

# Attack through Snort (DETECTED by custom rules)
./cve_0367_attack 127.0.0.1 503

تفاصيل تقنية:

  • الخادم يستخدم start_registers=100، العناوين الصالحة هي 100-109
  • الهجوم يرسل write_address < 100، مما يسبب فهرس مصفوفة سالب
  • نقص سعة الكومة يمكن أن يفسد حقول بنية mb_mapping بما في ذلك المؤشرات

CVE-2022-20685: حرمان خدمة معالج Modbus المسبق في Snort

يعاني Snort 2.9.18 من تجاوز عدد صحيح في معالج Modbus المسبق مما يسبب حلقة لا نهائية، مما يمنع كل الحركة عبر IDS:

# 1. Verify Snort is working (should return Modbus response)
echo -ne '\x00\x01\x00\x00\x00\x06\x01\x03\x00\x00\x00\x01' | nc -w 2 localhost 503 | xxd

# 2. Attack the Snort IDS
./cve_20685_attack 127.0.0.1 503

# 3. Verify Snort is frozen (should timeout with NO response)
echo -ne '\x00\x01\x00\x00\x00\x06\x01\x03\x00\x00\x00\x01' | nc -w 5 localhost 503 | xxd

# 4. Check Snort CPU (should be 100%)
sudo docker exec ics-snort top -b -n 1 | grep snort

# 5. seL4 is IMMUNE (no Modbus preprocessor to exploit)
./cve_20685_attack 127.0.0.1 502  # No effect on seL4

# 6. Restart Snort after demo
sudo docker compose restart snort

لماذا هذا مدمر: يستخدم Snort وضع NFQUEUE المضمن، مما يعني أن الحزم محتجزة في قائمة انتظار النواة حتى يعيد Snort حكمًا. عندما يتوقف Snort عن العمل، لا تُعاد الأحكام، وتتوقف كل الحركة - ليس فقط عمى IDS، بل حرمان كامل من الخدمة.

CVE-2024-1086: تصعيد الصلاحيات في نواة Linux

تنزيل الأداة