
إثبات المفهوم لـ CVE-2025-29384
يحتوي هذا المستودع على إثبات مفهوم متقدم (PoC) لاستغلال CVE-2025-29384، وهي ثغرة تجاوز سعة المخزن المؤقت (stack-based buffer overflow) خطيرة تم اكتشافها في جهاز التوجيه Tenda AC9 الذي يعمل بإصدار البرنامج الثابت V15.03.05.14_multi. تسمح هذه الثغرة للمهاجمين عن بُعد دون مصادقة بتعطيل خادم الويب الخاص بجهاز التوجيه (رفض الخدمة، DoS) واحتمال تنفيذ تعليمات برمجية عشوائية (تنفيذ التعليمات البرمجية عن بُعد، RCE).
الغرض من هذا المشروع هو عرض مهارات تطوير الاستغلال، والمساهمة في مجتمع الأمن السيبراني، وتوفير عرض تعليمي للتقييمات الأكاديمية، مثل المنح الدراسية في مجال الأمن السيبراني. يحتوي هذا المستودع على إثبات مفهوم متقدم (PoC) لاستغلال CVE-2025-29384، وهي ثغرة تجاوز سعة المخزن المؤقت (stack-based buffer overflow) خطيرة تم اكتشافها في جهاز التوجيه Tenda AC9 الذي يعمل بإصدار البرنامج الثابت V15.03.05.14_multi. تسمح هذه الثغرة للمهاجمين عن بُعد دون مصادقة بتعطيل خادم الويب الخاص بجهاز التوجيه (رفض الخدمة، DoS) واحتمال تنفيذ تعليمات برمجية عشوائية (تنفيذ التعليمات البرمجية عن بُعد، RCE).
الغرض من هذا المشروع هو عرض مهارات تطوير الاستغلال، والمساهمة في مجتمع الأمن السيبراني، وتوفير عرض تعليمي للتقييمات الأكاديمية، مثل المنح الدراسية في مجال الأمن السيبراني.
يؤثر CVE-2025-29384 على واجهة إدارة الويب لجهاز التوجيه Tenda AC9، وتحديداً نقطة النهاية:
/goform/AdvSetMacMtuWan
توجد الثغرة بسبب عدم التحقق السليم من الحدود للمعامل wanMTU، الذي تتم معالجته عبر طلب HTTP POST. يتم نسخ الإدخال إلى مخزن مؤقت ثابت الحجم على المكدس دون التحقق منه، مما يؤدي إلى تجاوز سعة المخزن المؤقت الكلاسيكي (stack-based buffer overflow).
تتبع الدالة الضعيفة (إعادة بناء افتراضية) هذا الهيكل:
void process_mtu(char *input) {
char buffer[256]; // مخزن مؤقت ثابت الحجم على المكدس
strcpy(buffer, input); // لا يوجد فحص للطول، يسبب تجاوزًا
// معالجة قيمة MTU...
}
المهاجم الذي يرسل حمولة كبيرة الحجم (على سبيل المثال، 1024 بايت+) يستبدل الذاكرة المجاورة، بما في ذلك عنوان عودة الدالة، مما قد يؤدي إلى تنفيذ تعليمات برمجية.
جهاز التوجيه Tenda AC9 هو موجه لاسلكي مزدوج النطاق بالمواصفات التالية:
يتضمن هذا المستودع أيضًا وحدة Metasploit مكتوبة بلغة Ruby لـ CVE-2025-29384. تتكامل الوحدة بسلاسة مع إطار عمل Metasploit، مما يسمح باستغلال الثغرة باستخدام msfconsole.
git clone https://github.com/Otsmane-Ahmed/cve-2025-29384-poc
cd cve-2025-29384-poc
حدد موقع ملف الوحدة بلغة Ruby وانسخه إلى دليل استغلالات Metasploit:
cp tenda_ac9_stack_overflow.rb ~/.msf4/modules/exploits/linux/http/
ملاحظة: إذا لم يكن الدليل موجودًا، فأنشئه:
mkdir -p ~/.msf4/modules/exploits/linux/http/
قم بتشغيل إطار عمل Metasploit:
msfconsole
قم بتحميل الوحدة:
use exploit/linux/http/tenda_ac9_stack_overflow
قم بتعيين عنوان IP الهدف:
set RHOSTS <target_ip>
اضبط حجم الحمولة (اختياري، الافتراضي هو 1024):
set PAYLOAD_SIZE 2048
قم بتشغيل الاستغلال:
run
[*] Targeting Tenda AC9 at 192.168.0.1:80...
[*] Sending payload of size 2048...
[+] Payload sent successfully!
[*] Response: HTTP/1.1 200 OK...
النجاح: يتعطل خادم الويب لجهاز التوجيه، مما يسبب حالة رفض الخدمة (DoS).
الفشل: يظل جهاز التوجيه قيد التشغيل، مما يشير إلى أنه غير متأثر أو أنه يشغل إصدارًا مصححًا من البرنامج الثابت.
إثبات المفهوم هذا هو استغلال مكتوب بلغة Python يرسل إدخالًا كبيرًا بشكل مفرط إلى /goform/AdvSetMacMtuWan، مما يؤدي إلى تجاوز سعة المخزن المؤقت لـ تعطيل خادم الويب ويعرض إمكانية تنفيذ التعليمات البرمجية عن بُعد (RCE).
تعدد الخيوط – إطلاق محاولات استغلال متزامنة متعددة لزيادة الموثوقية.
الحمولات الديناميكية – توليد سلاسل هجوم عشوائية مُشفّرة بـ base64.
التسجيل – استخدام وحدة التسجيل الخاصة بـ Python لتصحيح الأخطاء منظم.
معلمات قابلة للتخصيص – تعديل IP الهدف، حجم الحمولة، وعدد الخيوط.
إثبات المفهوم هذا هو استغلال مكتوب بلغة Python يرسل إدخالًا كبيرًا بشكل مفرط إلى /goform/AdvSetMacMtuWan، مما يؤدي إلى تجاوز سعة المخزن المؤقت لـ تعطيل خادم الويب.
python poc.py --target <router_ip> --size 2048 --threads 10
| الوسيط | الوصف |
|---|---|
--target | عنوان IP لجهاز التوجيه (الافتراضي: ) |
[+] CVE-2025-29384 Exploit Engine
[INFO] Target: 192.168.0.1
[INFO] Sending payload (2048 bytes)...
[WARNING] Target timeout - possible crash!
[INFO] Exploit sequence completed.
النجاح: تصبح واجهة الويب لجهاز التوجيه غير مستجيبة (حالة رفض الخدمة DoS).
الفشل: لا يزال جهاز التوجيه يستجيب (غير متأثر أو برنامج ثابت خاطئ).
لتأكيد نجاح الاستغلال في تعطيل جهاز التوجيه، حاول إعادة تحميل واجهة الويب. إذا أصبحت غير مستجيبة، فقد نجح الهجوم. لمزيد من التحليل، تحقق من سجلات الشبكة بحثًا عن اتصالات مقطوعة أو استخدم ping للتحقق من استجابة الجهاز.
هذا المشروع مخصص للأغراض التعليمية وأخلاقيات الاختراق فقط. الاستخدام غير المصرح به لهذا الاستغلال غير قانوني. المؤلف غير مسؤول عن سوء الاستخدام أو الأضرار الناجمة عن هذا الرمز.
تم التطوير بحب ❤️ بواسطة Otsmane Ahmed هذا المشروع مخصص للأغراض التعليمية وأخلاقيات الاختراق فقط. الاستخدام غير المصرح به لهذا الاستغلال غير قانوني. المؤلف غير مسؤول عن سوء الاستخدام أو الأضرار الناجمة عن هذا الرمز.
تم إصدار هذا المشروع بموجب ترخيص MIT.
| المقياس | القيمة |
|---|
| متجه الهجوم | شبكة |
| تعقيد الهجوم | منخفض |
| الصلاحيات المطلوبة | لا شيء |
| تفاعل المستخدم | لا شيء |
| تأثير على السرية | عالي |
| تأثير على التكامل | عالي |
| تأثير على التوفر | عالي |
192.168.0.1--size | حجم الحمولة بالبايت (الافتراضي: 1024) |
--threads | عدد الخيوط المتزامنة (الافتراضي: 5) |