
RedTeams के लिए HTA एन्क्रिप्शन टूल
NCC Group Plc द्वारा ओपन सोर्स के रूप में जारी - http://www.nccgroup.trust/
रिचर्ड वॉरेन द्वारा विकसित, richard [dot] warren [at] nccgroup [dot] trust
http://www.github.com/nccgroup/demiguise
AGPL के तहत जारी, अधिक जानकारी के लिए LICENSE देखें
इस परियोजना का उद्देश्य .html फ़ाइलें उत्पन्न करना है जिनमें एक एन्क्रिप्टेड HTA फ़ाइल होती है। विचार यह है कि जब आपका लक्ष्य पेज पर जाता है, तो कुंजी प्राप्त की जाती है और HTA को ब्राउज़र के भीतर गतिशील रूप से डिक्रिप्ट किया जाता है और सीधे उपयोगकर्ता को धकेल दिया जाता है। यह कुछ सुरक्षा-उपकरणों द्वारा लागू सामग्री/फ़ाइल-प्रकार निरीक्षण से बचने की एक तकनीक है। यह उपकरण शानदार HTA सामग्री बनाने के लिए डिज़ाइन नहीं किया गया है। ऐसे कई अन्य टूल्स/तकनीकें हैं जो इसमें आपकी मदद कर सकते हैं। यह आपकी मदद कर सकता है कि आप अपने HTA को पहले स्थान पर किसी वातावरण में लाएं, और (यदि आप पर्यावरणीय कुंजी का उपयोग करते हैं) इसे सैंडबॉक्स होने से बचाएं।
यह HTA फ़ाइल को RC4 का उपयोग करके एन्क्रिप्ट करके और फिर navigator.msSaveBlob का उपयोग करके रनटाइम पर फ़ाइल को "सेव" करके प्राप्त किया जाता है - बजाय सर्वर से सीधे HTA लाने के। इसका मतलब है कि किसी भी बिंदु पर कोई HTTP अनुरोध/प्रतिक्रिया नहीं है जिसमें आपकी HTA फ़ाइल सादे-पाठ रूप में हो - प्रॉक्सी बस एक text/html फ़ाइल देखेगा जिसमें आपका एन्क्रिप्टेड ब्लॉब है। Edge के नवीनतम संस्करण में, इसके परिणामस्वरूप उपयोगकर्ता को HTA को "रन" करने के लिए संकेत दिया जाएगा।
हालांकि इस उपकरण का प्राथमिक उद्देश्य नहीं है, अंतर्निहित HTA के लिए कुछ पेलोड-विकल्प हैं। प्रत्येक विकल्प पहले Matt Nelson, Matthew Demaske, Ryan Hanson और Etienne Stalmans द्वारा प्रलेखित विभिन्न तकनीकों का उपयोग करता है। इन तकनीकों का उपयोग करने का लाभ यह है कि आपका कोड mshta.exe के चाइल्ड के रूप में निष्पादित नहीं होता है। जैसा कि पहले उल्लेख किया गया है, HTA की सामग्री इस उपकरण का प्राथमिक उद्देश्य नहीं है। मैं आपको प्रोत्साहित करता हूं कि आप अपने स्वयं के कस्टम कोड को शामिल करने के लिए HTA टेम्पलेट को संशोधित करें :)
demiguise.py फ़ाइल चलाएं, इसे अपनी एन्क्रिप्शन-कुंजी, पेलोड-प्रकार, आउटपुट फ़ाइल-नाम और वह कमांड दें जिसे आप HTA चलाना चाहते हैं।
उदाहरण: python demiguise.py -k hello -c "notepad.exe" -p Outlook.Application -o test.hta


सैंडबॉक्स से बचने के लिए, आपको अपनी कुंजी सीधे HTA में एम्बेड नहीं करनी चाहिए। इसके बजाय आपको इसे उस वातावरण से गतिशील रूप से प्राप्त करना चाहिए जिसमें लक्ष्य स्थित है। इसका एक उदाहरण क्लाइंट के बाहरी IP पते को कुंजी के रूप में उपयोग करना हो सकता है। इसका लाभ यह है कि यदि कोड किसी तृतीय-पक्ष सैंडबॉक्स में चलाया जाता है, तो HTA डिक्रिप्ट नहीं होगा। वास्तव में, फ़ाइल-नाम भी डिक्रिप्ट नहीं होगा, जिसका अर्थ है कि किसी को पता नहीं चलेगा कि आपका पेलोड क्या है/करता है :)
पर्यावरणीय कुंजी के कुछ उदाहरण examples/externalip.js और examples/virginkey.js में दिए गए हैं।
चूंकि उपकरण JavaScript युक्त एक HTML फ़ाइल आउटपुट करता है, आप बस इस JS को ले सकते हैं और इसे जहां चाहें होस्ट कर सकते हैं। इसका मतलब है कि यदि आपके क्लाइंट की वेबसाइट reflected-XSS के लिए संवेदनशील है, तो आप इसका उपयोग अपने HTA फ़ाइल को उनके (अत्यधिक विश्वसनीय) डोमेन से सर्व करने के लिए कर सकते हैं।
इसके अलावा, Outlook डिफ़ॉल्ट रूप से .html अटैचमेंट को ब्लॉक नहीं करता है, और कुछ अन्य एप्लिकेशन भी नहीं करते - अपनी कल्पना का उपयोग करें! :)
वर्तमान में यह VT पर पहचाना नहीं जाता है:
हालांकि अस्पष्टीकरण तकनीकों पर हस्ताक्षर करना कठिन हो सकता है, HTA हमलों से बचाव का एक तरीका HTA को पहली बार में चलने से रोकना है। यह Software Restriction Policy (SRP), Device Guard (Windows 10 और Server 2016 पर) के उपयोग के माध्यम से, या .hta फ़ाइलों से जुड़े डिफ़ॉल्ट फ़ाइल-हैंडलर को बदलकर प्राप्त किया जा सकता है।
कृपया ध्यान दें कि ये परिवर्तन HTA निष्पादन पर निर्भर सॉफ़्टवेयर के संचालन को संभावित रूप से प्रभावित कर सकते हैं। इसलिए अनुशंसा की जाती है कि किसी सुधार को आपके अपने वातावरण में पूरी तरह से परीक्षण किया जाए।
SRP का उपयोग करके:

डिफ़ॉल्ट फ़ाइल-हैंडलर बदलना:
ftype htafile=%SystemRoot%\system32\NOTEPAD.EXE %1

इसे वापस बदलना (x64):
ftype htafile=C:\Windows\SysWOW64\mshta.exe "%1" {1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1E460BD7-F1C3-4B2E-88BF-4E770A288AF5} %*
WbemScripting.SWbemLocator और ShellBrowserWindow COM निष्पादन तकनीकेंWbemScripting.SWbemLocator COM निष्पादन PoCExcel.Application.RegisterXLL COM निष्पादन तकनीकOutlook.Application.CreateObject COM निष्पादन तकनीक