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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-20154 — تحليل تقني لـ CVE-2024-20154، وهو تجاوز سعة المخزن المؤقت المعتمد على المكدس في البرنامج الثابت للنطاق الأساسي MediaTek MT6769 NB-IoT، يغطي الهندسة العكسية وسلسلة الاستغلال. | Kitploit
أدوات/GitHubGitHub/harbingerse7en/cve-2024-20154
أمان الأنظمة المدمجةأمان إنترنت الأشياءتحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالهندسة العكسيةأمن الجوالأمان الأجهزة وإنترنت الأشياءتحليل الملفات الثنائيةالأوراق والأبحاثالتعلم والتعليمتحليل البرامج الثابتة
17منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHubharbingerse7en/cve-2024-20154

CVE-2024-20154

تحليل تقني لـ CVE-2024-20154، وهو تجاوز سعة المخزن المؤقت المعتمد على المكدس في البرنامج الثابت للنطاق الأساسي MediaTek MT6769 NB-IoT، يغطي الهندسة العكسية وسلسلة الاستغلال.

عرض المستودع

CVE-2024-20154: تجاوز سعة المكدس في SIB1-NB لـ NB-IoT في نطاق MediaTek MT6769 الأساسي

التصنيف: CWE-121 — تجاوز سعة المخزن المؤقت المعتمد على المكدس
الخطورة: حرجة (نشرة MediaTek) · 8.8 عالية، متجه الهجوم: مجاور (CISA-ADP)
النوع: تنفيذ تعليمات برمجية عن بُعد — دون تفاعل المستخدم، ودون ارتباط مسبق
الإفصاح: نشرة MediaTek الأمنية، 6 يناير 2025 https://corp.mediatek.com/product-security-bulletin/January-2025 الهدف المُحلَّل: Samsung Galaxy A14 SM-A145R — عائلة MT6769 (Helio G80)، ضمن قائمة الشرائح المتأثرة لدى MediaTek - تمت محاكاة البرنامج الثابت في ظروف آمنة. الحالة: تم الترقيع.


الخلفية والدافع

كان هذا أول بحث منشور لي في النطاق الأساسي. أنا آتي من خلفية بعيدة عن البنية التحتية للاتصالات، وطبقات الوساطة للاعتراض القانوني، وتحليل stingray و IMSI-catcher، وأمن الأجهزة المدمجة — لم أكن قد قمت سابقًا بهندسة عكسية معمّقة للبرنامج الثابت على مودم خلوي. أردت أن أثبت لنفسي أن منهجية تحليلية منظمة تتكيف عبر الأهداف المختلفة، وأن الإلمام بمنصة معينة يمكن استبداله بتتبع سلسل صارم. برز NB-IoT لأنه يقع عند تقاطع خطير حقًا: البروتوكول مصمم لأجهزة إنترنت الأشياء محدودة الموارد، وسطح الهجوم قبل الارتباط، وتعالجه حزمة المودم بغض النظر عما يفعله مستخدم الهاتف.

عند تحليل البرنامج الثابت المُرقَّع والتأكد من غياب النمط الثغرة، فإن نظام الذكاء الاصطناعي المستخدم للتحليل الشامل للبرنامج الثابت قبل استهداف وظائف محددة

طابق بشكل مستقل فئة الخطأ المُعاد بناؤها، والظروف، وعائلة البرنامج الثابت المتأثرة مع وصف CVE-2024-20154.

الاستنتاجات التقنية هي استنتاجات المحلل نفسه.


1. مقدمة

يحتوي الهاتف في جيبك على حاسوبين منفصلين على الأقل. الذي تتفاعل معه يشغّل Android. والآخر — النطاق الأساسي — يعمل بشكل مستقل تمامًا، ويتعامل مع جميع الاتصالات اللاسلكية، ويكاد يكون غير مرئي تمامًا لنظام التشغيل الذي يعلوه. قد يكون Android مُرقَّعًا بالكامل. قد يكون المتصفح معزولًا. قد لا ينقر المستخدم أبدًا على رابط ضار. لا شيء من ذلك يهم إذا كان الكود الثغرة موجودًا في البرنامج الثابت للمودم الذي يعالج الإشارات اللاسلكية قبل أن يكون معالج التطبيقات متورطًا.

CVE-2024-20154 هو بالضبط هذا النوع من الثغرات.

تسبب بث معلومات نظام NB-IoT مشوّه في قبول البرنامج الثابت لمودم MediaTek لعدد جدولة يتحكم فيه المهاجم، وتمرير هذا العدد عبر مسار تكوين RRC-to-L1 دون تقييده أبدًا، واستخدامه في النهاية كحد للحلقة لحلقة كتابة على المكدس داخل معالج قناة البث NB-IoT. عندما يتجاوز العدد سعة المصفوفات الوجهة، تكتب الحلقة خارجها، وتصل إلى السجلات المحفوظة على المكدس، وتستبدل عنوان العودة المحفوظ. ثم تستعيد الدالة القيمة التالفة في سجل عنوان العودة وتقفز إليها.

ما يجعل الخطورة على ما هي عليه:

  • يتم تنفيذ مسار الكود الثغرة أثناء المخيم على الخلية — بعد المزامنة مع خلية ولكن قبل أي اتصال RRC، وأي مصادقة، وأي تفاعل من المستخدم.
  • المدخل هو بث عبر الأثير. لا يمكن للهاتف مصادقة المصدر.
  • يعمل البرنامج الثابت للنطاق الأساسي في البناء المُحلَّل بدون ASLR، وبدون canaries للمكدس، وبدون مكدس غير قابل للتنفيذ، وبدون سلامة تدفق التحكم. تُترجم الكتابة فوق عنوان العودة المحفوظ مباشرة إلى التحكم في عداد البرنامج.

نُشرت الثغرة في نشرة MediaTek الأمنية بتاريخ 6 يناير 2025 بتصنيف خطورة حرجة، وتؤثر على عائلة مودم LR12A من بين أخرى. أدرجت Samsung الإصلاح في إصدار الصيانة الأمنية لشهر فبراير 2025.

لا ينشر هذا المنشور استغلالًا مسلحًا وليس قابلًا لإعادة الإنتاج من ما هو منشور هنا. الهدف هو إظهار أين تنكسر السلسلة، ولماذا فشلت كل طبقة في إيقافها، وما يتطلبه التحقق من خطأ النطاق الأساسي بمسؤولية عندما لا يمكنك إرفاق مصحح أخطاء بالمودم الحي.


2. الهدف والبيئة

2.1 الجهاز والبرنامج الثابت

الهدف الأساسي: Samsung Galaxy A14 (SM-A145R). يُدار النظام الفرعي اللاسلكي بواسطة معالج النطاق الأساسي من MediaTek في عائلة شرائح MT6769 (Helio G80). عائلة MT6769 مدرجة صراحةً في قائمة الشرائح المتأثرة لدى MediaTek لـ CVE-2024-20154.``` AP/CP firmware: A145RXXU1AWD1 Modem software: MOLY LR12A.R3.TC10.6M.A14.PR.SP.V1.P5 Build date: 2023-04-18

قاعدة البرمجيات الثابتة (firmware) ليست كود Android. إنها نظام مضمّن منفصل على النظام الفرعي الراديوي في SoC، بمعالج خاص بها، ونظام تشغيل زمن حقيقي (RTOS) خاص بها، ومساحة ذاكرة خاصة بها، خارج صندوق حماية عمليات Android.

### 2.2 معمارية المودم

يُظهر تحليل الملف الثنائي المستخرج أن معالج المودم يعمل بمعمارية MIPS32 مع تعليمات MIPS16e2 المضغوطة في وضع little-endian. إن MIPS16e2 هو امتداد ترميز 16-بت لتقليل حجم الكود المضمّن — بما يتوافق مع نهج MediaTek لقواعد النطاق الأساسي من جيل Helio، وهو ما تؤكده أبحاث النطاق الأساسي المنشورة المستقلة على هذه العائلة من SoC.

نظام التشغيل هو Nucleus RTOS، الذي يوفر جدولة المهام، وقوائم انتظار رسائل IPC، ومخصّص ذاكرة قائم على التجمعات (pool-based). لا يوجد فصل صلاحيات بين النواة/المستخدم، ولا فرض لوحدة حماية الذاكرة بين المهام، ولا آلية حماية مكدس عتادية.

جميع العناوين في هذا المنشور هي عناوين افتراضية، كما تم تحميلها في Ghidra عند القاعدة `0x90000000`.

### 2.3 إجراءات التخفيف (الملاحظة في البناء المُحلَّل)

| إجراء التخفيف | الحالة | التأثير |
|---|---|---|
| ASLR | غائب | عناوين البرمجيات الثابتة ساكنة وقابلة للتنبؤ من الصورة |
| Stack canary | غائب | تخزّن `SAVE`/`RESTORE` السجلات المحفوظة من المستدعي دون قيمة حماية |
| NX / W^X | غائب | ذاكرة المكدس قابلة للتنفيذ |
| CFI | غائب | لا يتم التحقق من عناوين العودة مقابل أي سياسة |

### 2.4 منهجية التحليل

ثلاثة مسارات متوازية:

**التحليل الساكن.** حزمة برمجيات Samsung الثابتة → استخراج قسم CP → `md1img.img` → Ghidra (MIPS LE 32-بت، القاعدة `0x90000000`) مع رموز MediaTek الهندسية المستعادة من قسم تصحيح البرمجيات الثابتة باستخدام مجموعة أدوات `mtk_bp` من NCC Group.

**التحقق الديناميكي.** تم استخدام Unicorn Engine (محاكاة MIPS32) لتنفيذ روتينات محددة من البرمجيات الثابتة بمعزل عن غيرها عبر مرحلتين. حاولت المرحلة 1 إثبات النسخ غير المقيّد لـ `si_count` إلى سياق القناة عبر زوج التعليمات الأصلي. نفّذت المرحلة 2 الحلقة القابلة للاستغلال على بايتات البرمجيات الثابتة الحقيقية وأكدت أن تعليمات البرمجيات الثابتة نفسها تُفسد عنوان العودة المحفوظ. حيث لم تتمكن المرحلة 1 من العمل بشكل أصلي بالكامل — لأن بيئة كائن خدمة RTOS التي يتطلبها مسار إرسال CPHY لم تتم إعادة بنائها — تم نمذجة الأثر الجانبي مباشرةً وتسميته على هذا النحو في جميع المخرجات.

**التحقق من الجانب الراديوي.** srsRAN 4G مع ZMQ loopback — برمجي فقط، دون انبعاث RF — أكد أن حمولة الاختبار تنجو من ترميز NB-IoT PHY وتسليم كتلة النقل.

---

## 3. سطح الهجوم: NB-IoT و SIB1-NB

### 3.1 سطح الهجوم قبل الارتباط

NB-IoT (النطاق الضيق لإنترنت الأشياء) هو 3GPP الإصدار 13، مصمم لربط أجهزة إنترنت الأشياء المحدودة باستخدام طيف LTE المرخّص الموجود. وهو مُنفَّذ في مجموعة واسعة من أنظمة SoC الخلوية الحديثة بما في ذلك تلك الموجودة في الهواتف الذكية الاستهلاكية.

أثناء وجوده في RRC_IDLE، قبل إنشاء أي اتصال RRC، فإن الجهاز الذي يبحث عن خدمة سيقوم بـ:

1. المزامنة مع إشارات التوقيت الخاصة بالخلية (NPSS/NSSS)
2. فك ترميز كتلة المعلومات الرئيسية عبر NPBCH (نافذة إرسال 640 مللي ثانية)
3. فك ترميز SIB1-NB من NPDSCH (جدولة 2560 مللي ثانية)
4. استخدام معلومات الجدولة في SIB1-NB لتحديد كتل معلومات النظام الإضافية

في الخطوة 3، يعالج المودم رسالة من كيان لم يوثّقه، قبل أي اتصال أو تفاعل من المستخدم. سيتم معالجة أي مُرسِل مارق يستوفي شروط اختيار الخلية العادية.```
+------------------+                   +---------------------+
|  Rogue Base Stn  |                   |  Target UE (Modem)  |
+--------+---------+                   +----------+----------+
         |                                        |
         |   NPSS/NSSS sync                      |
         |--------------------------------------->|
         |   MIB-NB (640 ms cycle)                |
         |--------------------------------------->|
         |   SIB1-NB (malformed, si_count > 8)    |
         |--------------------------------------->|   ← vulnerability triggered
         |   [no RRC connection established]      |

3.2 حقل عدد الجدولة

يُعرَّف SIB1-NB في 3GPP TS 36.331. يحمل حقل schedulingInfoList الخاص به عدد رسائل معلومات النظام التي تبثها الخلية، مقيَّدًا بالمواصفة بحد أقصى 8 مدخلات (1..maxSI-Message-NB-r13 = 8). هذا قيد على مستوى البروتوكول. أما قيد أمان الذاكرة — وهو أن طول القائمة يجب ألا يتجاوز سعة المصفوفات الوجهة — فيجب أن يُفرض بشكل منفصل بواسطة البرنامج الثابت.

ولم يحدث ذلك.


4. استخراج البرنامج الثابت واستعادة الرموز

تنزيل الأداة