
CVE-2022-22536 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो SAP NetWeaver सर्वरों के खिलाफ HTTP request smuggling और cache poisoning प्रदर्शित करता है, ताकि गोपनीयता, अखंडता और उपलब्धता से समझौता किया जा सके।
SAP NetWeaver Application Server ABAP, SAP NetWeaver Application Server Java, ABAP Platform, SAP Content Server 7.53 और SAP Web Dispatcher अनुरोध तस्करी (request smuggling) और अनुरोध संयोजन (request concatenation) के लिए संवेदनशील हैं। एक अप्रमाणित हमलावर एक पीड़ित के अनुरोध में मनमाना डेटा जोड़ सकता है। इस तरह, हमलावर पीड़ित के रूप में प्रतिरूपण करके कार्य निष्पादित कर सकता है या मध्यवर्ती वेब कैश को जहरीला बना सकता है। एक सफल हमले के परिणामस्वरूप सिस्टम की गोपनीयता, अखंडता और उपलब्धता से पूर्ण समझौता हो सकता है।
यहाँ हमलावर इस कमजोरी का शोषण करने के लिए जो कर रहा है, वह SAP एप्लिकेशन सर्वर द्वारा अनुरोधों को संसाधित और संग्रहीत करने के तरीके में एक डीसिंक्रनाइज़ेशन का दुरुपयोग कर रहा है, जिसे मेमोरी पाइप कहा जाता है।
अनिवार्य रूप से हमलावर प्रॉक्सी के माध्यम से SAP सर्वर को प्रमाणीकरण के बिना HTTP अनुरोधों का एक सेट भेज सकता है।
और यह प्रतिक्रियाओं में एक डीसिंक्रनाइज़ेशन इस तरह से बनाता है कि हमलावर बीच में मौजूद प्रॉक्सी के कैश को जहरीला बना सकता है।
अगली बार जब कोई वैध अंतिम उपयोगकर्ता सिस्टम से उस URL का अनुरोध करता है, तो प्रॉक्सी वास्तव में उस दुर्भावनापूर्ण पेलोड को वितरित करेगा जिसे हमलावर द्वारा संशोधित या कार्यान्वित किया गया था।
इस बारे में सोचने का एक आसान तरीका: एक हमलावर SAP लॉगिन स्क्रीन को संशोधित कर सकता है, और अगली बार जब कोई वैध SAP उपयोगकर्ता सिस्टम में लॉगिन करने का प्रयास करता है, तो वे अपने क्रेडेंशियल एक ऐसी वेबसाइट में डालेंगे जो हमलावर द्वारा नियंत्रित है और हमलावर इन क्रेडेंशियल्स को चुराने में सक्षम होगा।
यदि कोई अप्रमाणित हमलावर ICMAD कमजोरियों का सफलतापूर्वक शोषण करने में सक्षम है, तो व्यवसाय पर प्रभाव गंभीर हो सकता है।
व्यक्तिगत रूप से, मुझे लगता है कि कमजोरी की पुष्टि करने का सबसे अच्छा विकल्प Burpsuite > मैन्युअल रूप से अनुरोध तस्करी की जाँच करना है। इंटरनेट पर सीमित पायथन स्क्रिप्ट उपलब्ध हैं, लेकिन ऐसा लगता है कि वे मुद्दे को कैश कर रही हैं, पता नहीं क्यों।
ये स्क्रिप्ट वास्तव में अच्छी हैं, लेकिन व्यक्तिगत रूप से मैं Burpsuite > मैन्युअल रूप से अनुरोध तस्करी की पुष्टि करने की सलाह दूंगा।
https://github.com/Onapsis/onapsis_icmad_scanner/blob/master/src/ICMAD_scanner.py @Onapsis
https://github.com/antx-code/CVE-2022-22536/blob/main/CVE-2022-22536.py @antx-code
पायथन स्क्रिप्ट मूल रूप से कमजोरी का शोषण कर रही है और यह ऐसा कुछ नहीं है जो स्कैन करके आपको बताता है कि यह सिर्फ कमजोर है या नहीं।
स्क्रिप्ट पेलोड वाले कई अनुरोध भेजती है जो प्रॉक्सी सर्वर पर "डीसिंक्रनाइज़ेशन" का कारण बनेगी और जब अगला अनुरोध किया जाता है तो स्क्रिप्ट खराब अनुरोध प्रतिक्रिया को सत्यापित करती है जो कमजोरी के अस्तित्व को साबित करती है।
sap_path जिसे आप परीक्षण कर सकते हैं:
/sap/admin/public/default.html &
`/sap/public/bc/ur/Login/assets/corbu/sap_logo.png````
GET /sap/admin/public/default.html HTTP/1.1
Host: {{target}}
Content-Length: 82700
Connection: close