
Microsoft-Office-Word-MSHTML-Remote-Code-Execution-Exploit
CVE-2021-40444 (माइक्रोसॉफ्ट ऑफिस वर्ड रिमोट कोड एक्जीक्यूशन) का शोषण करने के लिए दुर्भावनापूर्ण docx जनरेटर, मनमाने DLL फ़ाइलों के साथ काम करता है।
हालाँकि इंटरनेट पर पहले से ही कई PoC मौजूद हैं, मैंने सोचा कि इस कमजोरी को हथियार बनाने का एक प्रयास करूँ, क्योंकि मुझे जो उपलब्ध मिला उसमें साझा करने योग्य मूल्यवान जानकारी का अभाव था, और यह भी ध्यान में रखते हुए कि माइक्रोसॉफ्ट ने पहले ही इस कमजोरी के लिए एक पैच जारी कर दिया है।
अब तक, पूरी तरह से काम करने वाला जनरेटर बनाने के लिए मैंने जो एकमात्र मूल्यवान संसाधन देखे हैं वे हैं:
उपरोक्त संसाधन एक पूरी श्रृंखला बनाने के लिए आवश्यक कई आवश्यकताओं की रूपरेखा प्रस्तुत करते हैं। बहुत अधिक अनावश्यक जानकारी दोहराने से बचने के लिए, मैं केवल प्रासंगिक विवरणों का सारांश प्रस्तुत करूँगा।
इस शोषण के काम करने के लिए काफी कुछ अनदेखी आवश्यकताएँ हैं, जिसके कारण lockedbyte द्वारा बनाए गए अच्छे PoC जैसे भी ठीक से काम करने में विफल रहे।
शायद किसी ने भी उन्हें स्पष्ट रूप से "जारी" नहीं किया ताकि कमजोरी का अधिक शोषण न हो सके। लेकिन अब यह पैच हो चुका है, इसलिए विवरण जारी करने में अधिक परेशानी नहीं होनी चाहिए।
जैसा कि Will Dormann के इस ट्वीट में कहा गया है, MS Word के अंदर "पूर्वावलोकन" ट्रिगर करने के लिए HTML का आकार कम से कम 4096 बाइट्स होना चाहिए।
CAB फ़ाइल को निष्कर्षण त्रुटियों से बचने और ZipSlip प्राप्त करने के लिए बाइट-पैच किया जाना चाहिए:
filename.inf को ../filename.inf बनना चाहिएfilename.inf coffCabStart को संशोधित करना हैCFFOLDER.typeCompress CFFOLDER.coffCabStart को 3 बढ़ाया जाना चाहिए (जोड़े गए '../' के कारण)CFFOLDER.cCfData CFFILE.cbFile पूरे CFHEADER.cbCabinet से अधिक होना चाहिएCFDATA.csum इन बाधाओं के कई कारण हैं, और मैंने उन सभी को गहराई से समझने में पर्याप्त समय नहीं बिताया, लेकिन आइए सबसे महत्वपूर्ण देखें:
नोट1: डिफेंडर अब _IMAGE_DOS_HEADER.e_magic मान को एक हस्ताक्षर के रूप में उपयोग करके यह पता लगाता है कि CAB फ़ाइल में PE है या नहीं, संभावित रूप से PE फ़ाइलों को CAB में एम्बेड होने से रोकता है। क्या इस हस्ताक्षर को बायपास किया जा सकता है? मुझे यकीन नहीं है, लेकिन जैसा कि पहले देखा गया, यह एक पैच की गई कमजोरी है, इसलिए मैं इस पर और अधिक समय बिताने की योजना नहीं बना रहा हूँ। जिज्ञासु पाठक इसे आगे विकसित कर सकता है।
नोट2: माइक्रोसॉफ्ट पैच मनमाने URI स्कीम को ब्लॉक करता है, जाहिरा तौर पर एक ब्लैकलिस्ट दृष्टिकोण का उपयोग करके (यह सिर्फ एक अनुमान है)
CVE-2021-40444 से जुड़ी मुख्य हमला श्रृंखला .cpl URI स्कीम के माध्यम से लोड किया गया DLL हमला है। इसका शोषण करने के लिए, एक हमलावर को एक विशेष रूप से तैयार किया गया DLL उत्पन्न करने की आवश्यकता होती है। यदि आप इसका परीक्षण करना चाहते हैं, तो मेरा evildll-gen स्क्रिप्ट आज़माएँ।
जैसा कि Max Maluin ने नोट किया है, IE और संबंधित फ़ाइल एक्सटेंशन आधारित URI का दुरुपयोग करके कई फ़ाइल प्रकारों के साथ बातचीत करना संभव है। हालांकि यह IE का शोषण करने का एक अच्छा तरीका हो सकता है, लेकिन इसकी सीमाएँ हैं।
वास्तव में, यह ध्यान दिया जाना चाहिए कि शोषण में फ़ाइलों को डाउनलोड करने के लिए उपयोग की जाने वाली विधि ActiveX नियंत्रण अपडेट पर आधारित है, और इसका उपयोग मनमानी फ़ाइलों को डाउनलोड करने के लिए नहीं किया जा सकता है। माइक्रोसॉफ्ट दस्तावेज़ीकरण के अनुसार, codebase टैग केवल कुछ फ़ाइल प्रकारों की ओर इशारा कर सकता है: OCX, INF और CAB।
भले ही हम सीधे OCX या INF फ़ाइल डाउनलोड कर सकते हैं, फिर भी हम सिस्टम के भीतर सही स्थान पर फ़ाइल डाउनलोड करने के बारे में सुनिश्चित नहीं हो सकते। कैब शोषण के साथ, पथ ट्रैवर्सल का उपयोग करके .inf फ़ाइल को एक ज्ञात पथ पर ले जाना संभव है, लेकिन किसी भी अन्य मामले में फ़ाइल एक यादृच्छिक निर्देशिका में संग्रहीत की जाएगी, जिससे इसे संदर्भित करना लगभग असंभव हो जाता है।
आज तक, मुझे CAB फ़ाइल के बिना डाउनलोड और निष्पादन को श्रृंखलित करने का कोई तरीका नहीं मिला।
नोट: केवल IE की बात करें तो, कमजोरी का शोषण करने के लिए HTML स्मगलिंग एक संभावित परिदृश्य हो सकता है।
यह तकनीक सबसे पहले Eduardo Braun द्वारा ट्विटर पर प्रकट की गई थी और इस पेपर में आगे समझाया गया है।
कृपया ध्यान दें कि इस तकनीक का उपयोग करने पर, हमला श्रृंखला थोड़ी अलग है। इस हमले के लिए उपयोगकर्ता को एक विशेष रूप से तैयार की गई RAR फ़ाइल डाउनलोड करनी होती है, जो एक मान्य WSF स्क्रिप्ट और एक मान्य RAR फ़ाइल को श्रृंखलित करके प्राप्त की जाती है। एक बार खोलने पर, RAR में एक DOCX होगा जिसमें एक HTML का संदर्भ होगा, जो बदले में RAR फ़ाइल को WSF स्क्रिप्ट के रूप में लोड करने का प्रयास करेगा।
संक्षेप में:
जनरेटर उपयोगिता वर्तमान में निम्नलिखित हमलों को पुन: उत्पन्न कर सकती है: