
TeamCity IntelliJ IDEA Plugin Credential Interception
प्रूफ-ऑफ-कॉन्सेप्ट रिपोर्ट | कार्यप्रवाह विश्लेषण | सर्वर स्क्रिप्ट
यह एक नकली XML-RPC TeamCity एंडपॉइंट बनाकर CVE-2020-35667 का पुनरुत्पादन है।
CVE-2020-35667 IntelliJ IDE के लिए JetBrains TeamCity प्लगइन में एक SSRF भेद्यता है।
पुराना 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;98aaaea4276f718c6c9cf3cb5383da1be6af9daa29e5b17fda8fa70d6bc1342fOS: 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।अपेक्षित परिणाम (भेद्य): उपयोगकर्ता क्रेडेंशियल्स सर्वर कंसोल पर लॉग हो जाते हैं।
यदि सुरक्षित हो तो अपेक्षित व्यवहार: क्लाइंट सर्वर की पहचान और कुंजी प्रामाणिकता को मान्य करता है, क्रेडेंशियल्स एक नकली एंडपॉइंट के सामने उजागर नहीं होते हैं।