
المشروع النهائي لـ BGT-Pentest-LAB: تحليل عميق لتجاوز التحقق من التوقيع (OTA) في محدث نظام Xiaomi HyperOS (CVE-2024-4309)
⚠️ لأغراض تعليمية فقط — يُمنع الاستخدام على الأنظمة الحقيقية.
BGT-Pentest-LAB تم إعداده ضمن مشروع الأمن السيبراني النهائي.
يحتوي هذا المستودع على تحليل عميق للثغرة CVE-2024-4309 الموجودة في مكون System Updater في Xiaomi HyperOS، والتي تسمح بتنفيذ التعليمات البرمجية عن بُعد (RCE)، بالإضافة إلى محاكاة الهجوم، محرك الكشف، ولوحة تحكم ويب تفاعلية.
🔴 ملخص الثغرة
|
🎯 ناقل الهجوم
|
flowchart TD
subgraph MITM ["المرحلة 1: اعتراض الشبكة (MITM)"]
A["🌐 1. MITM (ARP Spoofing)"] --> B["🎯 2. DNS Hijack (update.miui.com)"]
end
subgraph INJECTION ["المرحلة 2: التلاعب بقاعدة البيانات والحزمة"]
B --> C["💾 3. حقن التجزئة (ota_hashes.db)"]
C --> D["📦 4. إعداد حزمة OTA ضارة"]
end
subgraph BYPASS ["المرحلة 3: تجاوز فحوصات الأمان (Bypass)"]
D --> E["🔓 5. تجاوز توقيع RSA (Fast Channel)"]
E --> F["⚡ 6. تجاوز التحقق من التجزئة (ثغرة strstr)"]
end
subgraph EXPLOIT ["المرحلة 4: رفع الصلاحيات والاختراق"]
F --> G["💀 7. RCE وجذر دائم (system.img Flash)"]
end
%% تعريفات الأنماط
style MITM fill:#0f172a,stroke:#38bdf8,stroke-width:1px,color:#38bdf8
style INJECTION fill:#0f172a,stroke:#818cf8,stroke-width:1px,color:#818cf8
style BYPASS fill:#0f172a,stroke:#f59e0b,stroke-width:1px,color:#f59e0b
style EXPLOIT fill:#0f172a,stroke:#ef4444,stroke-width:2px,color:#ef4444
style A fill:#1e293b,stroke:#0284c7,stroke-width:2px,color:#e2e8f0
style B fill:#1e293b,stroke:#0284c7,stroke-width:2px,color:#e2e8f0
style C fill:#1e293b,stroke:#4f46e5,stroke-width:2px,color:#e2e8f0
style D fill:#1e293b,stroke:#4f46e5,stroke-width:2px,color:#e2e8f0
style E fill:#451a03,stroke:#d97706,stroke-width:2px,color:#fef3c7
style F fill:#451a03,stroke:#d97706,stroke-width:2px,color:#fef3c7
style G fill:#4c0519,stroke:#e11d48,stroke-width:3px,color:#ffe4e6
| الخطوة | الإجراء | التفاصيل التقنية |
|---|---|---|
| 1 | وضع MITM | يتم اعتراض حركة الشبكة عبر ARP Spoofing أو نقطة اتصال Wi-Fi وهمية |
| 2 | اختطاف DNS | يتم توجيه استجابات DNS لـ update.miui.com إلى خادم المهاجم |
| 3 | حقن التجزئة | يتم حقن تجزئة ضارة جزئية في قاعدة بيانات ota_hashes.db |
| 4 | حزمة OTA ضارة | يتم إنشاء update.zip مزيف برأس X-Xiaomi-Fast-Channel: true |
| 5 | تجاوز RSA | يرى MiuiRecoveryVerifier رأس Fast Channel ويتجاوز فحص RSA |
| 6 | تجاوز التجزئة | quickHashCheck → strstr() تطابق جزئي → BYPASS |
| 7 | RCE | يتم حرق system.img الضار في وضع الاسترداد → جذر دائم |
|
🖥️ لوحة تحكم C2 app.py
لوحة تحكم تفاعلية بريميم لتصور محاكاة الهجوم خطوة بخطوة. سلسلة الهجوم، درجة الخطر، سجلات فورية. |
⚔️ محاكي الهجوم attack.py
محاكاة هجوم MITM بخادم OTA وهمي. 4 نقاط REST، إنتاج ZIP ضار، حقن تجزئة وتجاوز Fast Channel. |
🔍 محرك الكشف detector.py
ماسح أمان OTA ثلاثي المراحل. كشف strstr()، تحليل Fast Channel، درجة الخطر وتقرير IoC. |
|
🔧 عرض الإصلاح fix_demo.py
مقارنة تفاعلية بين strstr() و strcmp()وعرض التصحيح. |
📄 مولد التقارير report_generator.py
مولد تقارير HTML احترافية جاهزة للطباعة لتحليل الثغرات. |
🧪 مجموعة الاختبارات test_suite.py
27 اختبار وحدة آلي. اختبارات تكامل الهجوم والكشف. |
| ❌ الكود المعيب (strstr) | ✅ الكود المصحح (strcmp) |
|---|---|
|
|
| 🔴 8 أحرف كافية — القوة العمياء: 2³² | 🟢 64 حرفًا مطلوبة — القوة العمياء: 2²⁵⁶ |