
एक क्रॉस-प्लेटफ़ॉर्म सहायक जो दुर्भावनापूर्ण MS Office दस्तावेज़ बनाने के लिए है। VBA मैक्रोज़ को छुपा सकता है, VBA कोड को स्टॉम्प कर सकता है (P-Code के माध्यम से) और मैक्रो विश्लेषण उपकरणों को भ्रमित कर सकता है। Linux, OSX और Windows पर चलता है।
यह उपकरण हमारे BlackHat Asia वार्ता (March 28, 2019) के दौरान जारी किया गया था। इस वार्ता का एक वीडियो रिकॉर्डिंग https://www.youtube.com/watch?v=9ULzZA70Dzg पर उपलब्ध है।
दुर्भावनापूर्ण MS Office दस्तावेज़ बनाने के लिए एक क्रॉस-प्लेटफ़ॉर्म सहायक। VBA मैक्रोज़ को छिपा सकता है, VBA कोड (P-Code के माध्यम से) स्टॉम्प कर सकता है और मैक्रो विश्लेषण उपकरणों को भ्रमित कर सकता है। Linux, OSX और Windows पर चलता है।
यदि आप इस उपकरण में नए हैं, तो आप Evil Clippy पर हमारी ब्लॉग पोस्ट पढ़कर शुरुआत कर सकते हैं: https://outflank.nl/blog/2019/05/05/evil-clippy-ms-office-maldoc-assistant/
यह प्रोजेक्ट केवल अधिकृत परीक्षण या शैक्षिक उद्देश्यों के लिए उपयोग किया जाना चाहिए।
यदि आपको नहीं पता कि यह सब क्या है, तो पहले निम्नलिखित संसाधनों की जाँच करें:
इस लेखन के समय, यह उपकरण डिफ़ॉल्ट Cobalt Strike मैक्रो को अधिकांश प्रमुख एंटीवायरस उत्पादों और विभिन्न मैलडॉक विश्लेषण उपकरणों को बायपास करने में सक्षम है (VBA स्टॉम्पिंग का उपयोग करके यादृच्छिक मॉड्यूल नामों के साथ)।
Evil Clippy MS Office Compound File Binary Format (CFBF) फ़ाइलों में हेरफेर करने के लिए OpenMCDF लाइब्रेरी का उपयोग करता है, और इसके लिए MS-OVBA विनिर्देशों और सुविधाओं का दुरुपयोग करता है। यह dir और मॉड्यूल स्ट्रीम में उपयोग किए जाने वाले संपीड़न एल्गोरिथ्म को लागू करने के लिए Kavod.VBA.Compression से कोड का पुन: उपयोग करता है (प्रासंगिक विनिर्देशों के लिए MS-OVBA देखें)।
Evil Clippy Mono C# कंपाइलर के साथ पूरी तरह से कंपाइल हो जाता है और Linux, OSX और Windows पर परीक्षण किया गया है।
हम EvilClippy के लिए बाइनरी रिलीज़ प्रदान नहीं करते हैं। कृपया स्वयं निष्पादन योग्य फ़ाइलें संकलित करें:
OSX और Linux
सुनिश्चित करें कि आपके पास Mono स्थापित है। फिर कमांड लाइन से निम्नलिखित कमांड निष्पादित करें:
mcs /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe *.cs
अब कमांड लाइन से Evil Clippy चलाएँ:
mono EvilClippy.exe -h
Windows
सुनिश्चित करें कि आपके पास Visual Studio स्थापित है। फिर Visual Studio डेवलपर कमांड प्रॉम्प्ट से निम्नलिखित कमांड निष्पादित करें:
csc /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe *.cs
अब कमांड लाइन से Evil Clippy चलाएँ:
EvilClippy.exe -h
सहायता प्रिंट करें
EvilClippy.exe -h
GUI से मैक्रोज़ छिपाएँ/दिखाएँ
VBA GUI संपादक से सभी मैक्रो मॉड्यूल (डिफ़ॉल्ट "ThisDocument" मॉड्यूल को छोड़कर) छिपाएँ। यह प्रोजेक्ट स्ट्रीम [MS-OVBA 2.3.1] से मॉड्यूल लाइनों को हटाकर प्राप्त किया जाता है।
EvilClippy.exe -g macrofile.doc
हाइड विकल्प (-g) द्वारा किए गए परिवर्तनों को पूर्ववत करें ताकि हम VBA IDE में मैक्रो को डीबग कर सकें।
EvilClippy.exe -gg macrofile.doc
VBA स्टॉम्प करें (P-code का दुरुपयोग)
टेक्स्ट फ़ाइल fakecode.vba से सभी मॉड्यूल में नकली VBA कोड डालें, जबकि P-code को बरकरार रखें। यह मॉड्यूल स्ट्रीम [MS-OVBA 2.3.4.3] की एक अनिर्दिष्ट सुविधा का दुरुपयोग करता है। ध्यान दें कि P-code को निष्पादित करने के लिए VBA प्रोजेक्ट संस्करण होस्ट प्रोग्राम से मेल खाना चाहिए (संस्करण मिलान के लिए अगला उदाहरण देखें)।
EvilClippy.exe -s fakecode.vba macrofile.doc
नोट: VBA स्टॉम्पिंग Excel 97-2003 Workbook (.xls) फॉर्मेट में सहेजी गई फ़ाइलों के लिए काम नहीं करता है।
VBA स्टॉम्पिंग के लिए लक्ष्य Office संस्करण सेट करें
उपरोक्त के समान, लेकिन अब स्पष्ट रूप से x86 पर Word 2016 को लक्षित कर रहा है। इसका मतलब है कि x86 पर Word 2016 P-code निष्पादित करेगा, जबकि Word के अन्य संस्करण इसके बजाय fakecode.vba से कोड निष्पादित करेंगे। _VBA_PROJECT स्ट्रीम [MS-OVBA 2.3.4.1] में उपयुक्त संस्करण बाइट्स सेट करके प्राप्त किया जाता है।
EvilClippy.exe -s fakecode.vba -t 2016x86 macrofile.doc
यादृच्छिक मॉड्यूल नाम सेट/रीसेट करें (विश्लेषक उपकरणों को मूर्ख बनाएं)
dir स्ट्रीम [MS-OVBA 2.3.4.2] में यादृच्छिक ASCII मॉड्यूल नाम सेट करें। यह MODULESTREAMNAME रिकॉर्ड [MS-OVBA 2.3.4.2.3.2.3] में अस्पष्टता का दुरुपयोग करता है - अधिकांश विश्लेषक उपकरण यहाँ निर्दिष्ट ASCII मॉड्यूल नामों का उपयोग करते हैं, जबकि MS Office Unicode वैरिएंट का उपयोग करता है। यादृच्छिक ASCII मॉड्यूल नाम सेट करने से अधिकांश P-code और VBA विश्लेषण उपकरण क्रैश हो जाते हैं, जबकि वास्तविक P-code और VBA Word और Excel में ठीक चलता है।
EvilClippy.exe -r macrofile.doc
नोट: यह pcodedmp और VirusTotal को धोखा देने में प्रभावी माना जाता है।
dir स्ट्रीम में ASCII मॉड्यूल नामों को उनके Unicode समकक्षों से मेल खाने के लिए सेट करें। यह EvilClippy के (-r) विकल्प का उपयोग करके किए गए परिवर्तनों को पूर्ववत करता है।
EvilClippy.exe -rr macrofile.doc
HTTP के माध्यम से VBA स्टॉम्प्ड टेम्पलेट प्रदान करें
VBA स्टॉम्पिंग करने के बाद HTTP पोर्ट 8080 के माध्यम से macrofile.dot सेवा प्रदान करें। यदि यह फ़ाइल पुनर्प्राप्त की जाती है, तो यह स्वचालित रूप से लक्ष्य के Office संस्करण से मेल खाती है (इसके HTTP हेडर का उपयोग करके और फिर _VBA_PROJECT बाइट्स को तदनुसार सेट करके)।
EvilClippy.exe -s fakecode.vba -w 8080 macrofile.dot
नोट: आप जिस फ़ाइल की सेवा कर रहे हैं वह एक टेम्पलेट होनी चाहिए (.dot न कि .doc)। आप Word में डेवलपर टूलबार से एक URL (.dot एक्सटेंशन आवश्यक नहीं है!) के माध्यम से एक टेम्पलेट सेट कर सकते हैं। साथ ही, fakecode.vba में एक टेम्पलेट से मैक्रो के लिए VB_Base विशेषता सेट होनी चाहिए (इसका मतलब है कि आपका fakecode.vba एक पंक्ति जैसे Attribute VB_Base = "0{00020906-0000-0000-C000-000000000046}" से शुरू होना चाहिए)।
VBA प्रोजेक्ट लॉक/अनदेखा सुरक्षा सेट/हटाएं
लॉक/अनदेखा विशेषताएँ सेट करने के लिए '-u' विकल्प का उपयोग करें:
EvilClippy.exe -u macrofile.doc
लॉक/अनदेखा विशेषताएँ हटाने के लिए '-uu' विकल्प का उपयोग करें:
EvilClippy.exe -uu macrofile.doc
नोट: आप उन फ़ाइलों पर भी लॉक/अनदेखा विशेषताएँ हटा सकते हैं जो EvilClippy से लॉक नहीं की गई थीं।
Microsoft Word और Excel दस्तावेज़ हेरफेर के लिए विकसित।
जैसा कि ऊपर बताया गया है, VBA स्टॉम्पिंग Excel 97-2003 Workbook (.xls) फॉर्मेट के खिलाफ प्रभावी नहीं है।
Stan Hegt (@StanHacked) / Outflank
Carrie Roberts (@OrOneEqualsOne / Walmart) द्वारा महत्वपूर्ण योगदान के साथ।
Nick Landers (@monoxgas / Silent Break Security) को OpenMCDF की ओर इशारा करने के लिए विशेष धन्यवाद।