
ज़ैबिक्स SQL इंजेक्शन (CVE-2024-42327) का शोषण करके एडमिन सत्र निकालता है और API के माध्यम से कमांड निष्पादित करता है, जिससे रिवर्स शेल प्राप्त होता है।
_______ ________ ___ ____ ___ __ __ __ __ ___ ________ _____
/ ____/ | / / ____/ |__ \ / __ \__ \/ // / / // /|__ \|__ /__ \/__ /
/ / | | / / __/________/ // / / /_/ / // /_______/ // /___/ / /_ <__/ / / /
/ /___ | |/ / /__/_____/ __// /_/ / __/__ __/_____/__ __/ __/___/ / __/ / /
\____/ |___/_____/ /____/\____/____/ /_/ /_/ /____/____/____/ /_/
NSFOCUS CERT ने पता लगाया कि Zabbix ने एक सुरक्षा घोषणा जारी की और Zabbix सर्वर की SQL इंजेक्शन भेद्यता (CVE-2024-42327) को ठीक किया। addRelatedObjects फ़ंक्शन में CUser क्लास की SQLi भेद्यता के कारण, डिफ़ॉल्ट उपयोगकर्ता अनुमति या API एक्सेस वाले हमलावर CUser.get फ़ंक्शन को कॉल कर सकते हैं। इससे संवेदनशील जानकारी तक अनधिकृत पहुंच या मनमाने SQL स्टेटमेंट का निष्पादन हो सकता है। CVSS स्कोर 9.9 है।
यह PoC इस SQL इंजेक्शन भेद्यता का शोषण करता है। समय-आधारित SQL इंजेक्शन दृष्टिकोण के लिए, हमें यह निर्धारित करने के लिए डेटाबेस से sessions तालिका निकालने की आवश्यकता है कि Admin उपयोगकर्ता लॉग इन है या नहीं। यह स्क्रिप्ट आगे के शोषण के लिए admin सत्र के निष्कर्षण को तेज करने हेतु एक मल्टी-थ्रेडेड स्क्रिप्ट प्रदान करती है। Admin उपयोगकर्ता के API टोकन के साथ, हम एक item बनाने के लिए आगे बढ़ते हैं और फिर उस item को ट्रिगर कर सकते हैं। फिर हम एक पेलोड भेजकर रिवर्स शेल प्राप्त करते हैं।
संक्षेप में, यह टूल Zabbix API का उपयोग करके समय-आधारित SQL इंजेक्शन के साथ admin सत्र ID (admin_session) निकालता है और फिर इस ID का उपयोग करके लक्ष्य सिस्टम को रिवर्स शेल कमांड भेजता है। पहले, स्क्रिप्ट उपयोगकर्ता के क्रेडेंशियल प्राप्त करती है, Zabbix API को एक प्रमाणीकरण अनुरोध भेजती है और auth_token प्राप्त करती है। फिर, यह SQL इंजेक्शन का उपयोग करके admin_session ID निकालती है। निकाली गई admin_session ID का उपयोग Zabbix API को host.get अनुरोध के साथ host और interface IDs प्राप्त करने के लिए किया जाता है। अंत में, प्राप्त host और interface IDs के साथ रिवर्स शेल कमांड युक्त एक item.create अनुरोध भेजा जाता है। इस प्रकार, लक्ष्य सर्वर पर एक रिवर्स शेल खोला जाता है और एक कनेक्शन स्थापित होता है।
