
दुर्भावनापूर्ण DOCX जनरेटर जो CVE-2021-40444 (माइक्रोसॉफ्ट ऑफिस वर्ड RCE) का शोषण करता है, जिसमें CAB-आधारित DLL साइड-लोडिंग और CAB-रहित RAR/WSF हमला श्रृंखलाएँ शामिल हैं, जो पेनिट्रेशन टेस्टिंग के लिए है।
दुर्भावनापूर्ण docx जनरेटर जो CVE-2021-40444 (Microsoft Office Word रिमोट कोड निष्पादन) का शोषण करता है, मनमाने DLL फाइलों के साथ काम करता है।
हालाँकि इंटरनेट पर पहले से कई PoC मौजूद हैं, मैंने इस कमजोरी को हथियारबंद करने का प्रयास करने का फैसला किया, क्योंकि मुझे जो उपलब्ध मिला उसमें मूल्यवान जानकारी का अभाव था जो साझा करने लायक है, साथ ही यह ध्यान में रखते हुए कि Microsoft ने पहले ही इस कमजोरी के लिए पैच जारी कर दिया है।
अब तक, पूरी तरह से काम करने वाला जनरेटर बनाने के लिए मैंने जो एकमात्र मूल्यवान संसाधन देखे हैं वे हैं:
उपरोक्त संसाधन एक पूरी श्रृंखला बनाने के लिए आवश्यक कई आवश्यकताओं की रूपरेखा प्रस्तुत करते हैं। बहुत अधिक अनावश्यक जानकारी दोहराने से बचने के लिए, मैं केवल प्रासंगिक विवरणों का सारांश प्रस्तुत करूंगा।
इस शोषण को काम करने के लिए काफी अनदेखी आवश्यकताएँ हैं, जिसके कारण lockedbyte द्वारा जैसे अच्छे PoCs भी ठीक से काम करने में विफल रहे।
शायद किसी ने उन्हें स्पष्ट रूप से "जारी" नहीं किया ताकि कमजोरी का अधिक शोषण होने से बचा जा सके। लेकिन अब यह पैच हो चुका है, इसलिए विवरण जारी करने में अधिक परेशानी नहीं होनी चाहिए।
Will Dormann के इस ट्वीट के अनुसार, MS Word में "पूर्वावलोकन" ट्रिगर करने के लिए HTML कम से कम 4096 बाइट्स आकार का होना चाहिए।
निकासी त्रुटियों से बचने और ZipSlip प्राप्त करने के लिए CAB फ़ाइल को बाइट-पैच किया जाना चाहिए:
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: Microsoft पैच मनमाने URI स्कीमों को ब्लॉक करता है, जाहिर तौर पर ब्लैकलिस्ट दृष्टिकोण का उपयोग करके (यह सिर्फ एक अनुमान है)
CVE-2021-40444 से जुड़ी मुख्य हमला श्रृंखला .cpl URI स्कीम के माध्यम से लोड किया गया DLL हमला है। इसका शोषण करने के लिए, एक हमलावर को विशेष रूप से तैयार किया गया DLL उत्पन्न करने की आवश्यकता होती है। यदि आप इसका परीक्षण करना चाहते हैं, तो मेरी evildll-gen स्क्रिप्ट आज़माएँ।
जैसा कि Max Maluin ने नोट किया है, IE और संबंधित फ़ाइल एक्सटेंशन आधारित URI का दुरुपयोग करके कई फ़ाइल प्रकारों के साथ बातचीत करना संभव है। हालाँकि यह IE का शोषण करने का एक अच्छा तरीका हो सकता है, इसकी सीमाएँ हैं।
वास्तव में, यह ध्यान दिया जाना चाहिए कि शोषण में फ़ाइलों को डाउनलोड करने के लिए उपयोग की जाने वाली विधि ActiveX नियंत्रण अद्यतनों पर आधारित है, और इसका उपयोग मनमानी फ़ाइलों को डाउनलोड करने के लिए नहीं किया जा सकता है। Microsoft दस्तावेज़ीकरण के अनुसार, codebase टैग केवल कुछ फ़ाइल प्रकारों की ओर इशारा कर सकता है: OCX, INF और CAB।
भले ही हम सीधे OCX या INF फ़ाइल डाउनलोड कर सकते हैं, फिर भी हम यह सुनिश्चित नहीं कर सकते कि फ़ाइल सिस्टम के भीतर सही स्थान पर डाउनलोड होगी। cab शोषण के साथ, पथ ट्रैवर्सल का उपयोग करके .inf फ़ाइल को एक ज्ञात पथ पर ले जाना संभव है, लेकिन किसी भी अन्य मामले में फ़ाइल एक यादृच्छिक निर्देशिका में संग्रहीत होगी, जिससे इसका संदर्भ देना लगभग असंभव हो जाता है।
आज तक, मुझे CAB फ़ाइल के बिना डाउनलोड और निष्पादन को श्रृंखलित करने का कोई तरीका नहीं मिला।
नोट: केवल IE के बारे में बात करते हुए, HTML स्मगलिंग कमजोरी का शोषण करने का एक संभावित परिदृश्य हो सकता है।
यह तकनीक सबसे पहले Eduardo Braun द्वारा ट्विटर पर प्रकट की गई थी और इस पेपर में और समझाया गया है।
कृपया ध्यान दें कि इस तकनीक का उपयोग करते समय, हमला श्रृंखला थोड़ी अलग है। इस हमले के लिए उपयोगकर्ता को एक विशेष रूप से तैयार की गई RAR फ़ाइल डाउनलोड करने की आवश्यकता होती है, जो एक वैध WSF स्क्रिप्ट और एक वैध RAR फ़ाइल को श्रृंखलित करके प्राप्त की जाती है। एक बार खोलने पर, RAR में एक DOCX होगा जिसमें एक HTML का संदर्भ होगा, जो बदले में RAR फ़ाइल को WSF स्क्रिप्ट के रूप में लोड करने का प्रयास करेगा।
संक्षेप में:
जनरेटर उपयोगिता वर्तमान में निम्नलिखित हमलों को पुन: उत्पन्न कर सकती है: