
Macally WIFISD2
شرح لثغرة CVE-2020-29669 بقلم Maximilian Barz (Silky) و Daniel Schwendner (code-byter)
==========================
هذا شرح لاستغلال ثغرة في راوتر السفر Macally WIFISD2-2A82 (إصدار البرنامج الثابت: 2.000.010). يمكن لمستخدم الضيف إعادة تعيين كلمة المرور الخاصة به. تحتوي هذه العملية على ثغرة يمكن استخدامها للاستيلاء على حساب المدير، وتؤدي إلى الوصول إلى قشرة أوامر (Shell). وبما أن مستخدم admin يمكنه قراءة ملف /etc/shadow، يمكن تفريغ هاشات كلمات المرور لكل مستخدم (بما في ذلك root). ويمكن كسر هاش root بسهولة، مما يؤدي إلى اختراق كامل للنظام. كل ذلك انطلاقًا من حساب الضيف الذي صُمم ليُعطى للضيوف.
.. image:: images/router.jpg :width: 1200
الملف المتأثر: /protocol.csp
.. image:: images/base.png :width: 1200
سجّل الدخول بحساب الضيف على واجهة الويب. كلمة المرور الافتراضية لكل من الضيف وadmin فارغة.
.. image:: images/web_login.png :width: 1400
|
عند المصادقة بنجاح، يجب أن تظهر شاشة مشابهة.
.. image:: images/dashboard.png :width: 1200
| | |
انتقل إلى مدير المستخدمين في قائمة الإعدادات، حيث يمكنك تغيير كلمة المرور للمستخدم الحالي.
.. image:: images/password_change.png :width: 1800
يستطيع مستخدم الضيف إعادة تعيين كلمة المرور الخاصة به؛ املأ الحقول الفارغة والتقط الطلب في BurpSuite
.. image:: images/burp_1.png :width: 2100
غيّر قيمة name إلى admin وأرسل الطلب.
.. image:: images/burp_2.png :width: 2100
في واجهة الويب، ستظهر نافذة منبثقة تقول "تم تغيير كلمة المرور بنجاح"
.. image:: images/password_changed.png :width: 1400
| |
سجّل الدخول عبر telnet كمستخدم admin باستخدام كلمة المرور التي تم تعيينها مسبقًا.
.. image:: images/telnet_login.png :width: 1200
يمكن لمستخدم admin قراءة ملف /etc/shadow مما يكشف هاش root.
.. image:: images/etc_password.png :width: 1200
عملية الاستغلال بأكملها مؤتمتة عبر سكربت python. لتشغيل قشرة بصلاحيات root (أو كسر هاش root) نفّذ macally_exploit.py.
.. code:: python
python3 macally_exploit.py 10.10.10.254
.. image:: images/exploit.png :width: 1600
إدخال CVE لدى MITRE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29669.
.. footer::
Maximilian Barz (OSCP), البريد الإلكتروني: [email protected], تويتر: S1lky_1337
Daniel Schwendner, البريد الإلكتروني: [email protected], إنستغرام: code_byter