
اعتراض بيانات الاعتماد عبر إضافة TeamCity لـ IntelliJ IDEA
تقرير الإثبات | تحليل سير العمل | نص الخادم
هذه إعادة إنتاج لـ CVE-2020-35667 عن طريق بناء نقطة نهاية XML-RPC TeamCity مزيفة. CVE-2020-35667 هي ثغرة SSRF في إضافة JetBrains TeamCity لبيئة IntelliJ IDE. تطلب إضافة TeamCity IntelliJ القديمة مفتاحًا عامًا من الخادم، وتقوم بتشفير كلمة المرور به، ثم ترسلها مرة أخرى. وبما أن الخادم يتحكم فيه المهاجم، يقوم المهاجم بفك التشفير وتسجيل بيانات الاعتماد بنصها الصريح.
تم الإبلاغ عن الثغرة بواسطة Jonathan Leitschuh (https://blog.jetbrains.com/blog/2021/02/03/jetbrains-security-bulletin-q4-2020/).
تأثير استغلال هذه الثغرة هو اعتراض بيانات اعتماد المستخدم بنصها الصريح أثناء عملية تسجيل الدخول إلى الإضافة، عبر نقطة نهاية XML-RPC يتحكم فيها المهاجم.
هذا هو الإعداد الخاص بي لإعادة إنتاج المشكلة:
IntelliJ IDEA Community Edition 2018.1.8
TeamCity 2020.2.1 (build 85633)
إضافة TeamCity IntelliJ القابلة للاختراق
TeamCity-IDEAplugin.zip;98aaaea4276f718c6c9cf3cb5383da1be6af9daa29e5b17fda8fa70d6bc1342fنظام التشغيل: Windows 10
إصدار Python: 3.12.7
متطلبات Python موجودة في cve2020-35667/requirements.txt
pip install -r requirements.txt
python poc_server.py
# Server listens on http://127.0.0.1:8888
http://127.0.0.1:8888.النتيجة المتوقعة (قابلة للاختراق): يتم تسجيل بيانات اعتماد المستخدم في وحدة تحكم الخادم.
السلوك المتوقع إذا كان آمنًا: يتحقق العميل من هوية الخادم وصحة المفتاح، ولا تتعرض بيانات الاعتماد لنقطة نهاية مزيفة.