Microsoft:HTML走私攻击分析
2021-11-19
来源:维他命安全
摘要
HTML走私是一种高度规避的恶意软件交付技术,它利用合法的HTML5和JavaScript功能,越来越多地用于部署银行恶意软件、远程访问木马(RAT)和其它与目标攻击有关的Payload的电子邮件攻击活动。值得注意的是,这种技术在5月份NOBELIUM的鱼叉式网络钓鱼活动中被观察到。最近,我们还发现这种技术传递了银行木马Mekotio,以及AsyncRAT/NJRAT和Trickbot,这些恶意软件被攻击者用来控制目标设备并传递勒索软件Payload和其它威胁。
顾名思义,HTML走私让攻击者在专门制作的HTML附件或网页中 “走私”编码的恶意脚本。当目标用户在他们的web浏览器中打开HTML时,浏览器会对恶意脚本进行解码,进而在主机设备上组装Payload。因此,攻击者不是让恶意的可执行文件直接通过网络,而是在防火墙后面的本地建立恶意软件。
图 1.HTML 走私概述
这种技术具有很强的规避性,因为它可以绕过标准的外围安全控制,如Web代理和电子邮件网关,这些控制通常只检查可疑的附件(例如EXE、ZIP或DOCX)或基于签名和模式的流量。由于恶意文件是在终端通过浏览器加载HTML文件后才创建的,因此一些保护解决方案在开始时只看到的是正常的HTML和JavaScript流量,这些流量也可以被混淆以进一步隐藏其真实目的。
使用HTML走私的威胁者利用HTML和JavaScript在日常业务运营中的合法用途来保持隐蔽性和相关性,以及对组织常规缓解程序的挑战。例如,禁用JavaScript可以缓解使用JavaScript Blobs创建的HTML 走私。但是,JavaScript被用来渲染业务相关和其他合法的网页。此外,还有多种方式可以实现HTML走私,比如通过混淆和多种JavaScript编码方式,这些技术在内容检查中具有高度的规避性。因此,企业需要一个真正的 “纵深防御”战略(Defense-in-Depth)和一个多层次的安全解决方案,以检查电子邮件传递、网络活动、端点行为和后续攻击者活动。
在电子邮件活动中大量使用HTML走私是攻击者通过集成高度规避技术不断完善其攻击的特定组件的另一个例子。Microsoft Defender for Office 365使用动态保护技术(包括机器学习和沙箱)检测和阻止HTML走私链接和附件,从一开始就阻止此类攻击。来自Office 365 Defender的电子邮件威胁信号也被传入Microsoft 365 Defender,后者对每个域(电子邮件和数据、端点、身份和云应用程序)提供高级保护,并将这些域的威胁数据与规避的复杂威胁关联起来。这为企业提供了针对端到端攻击链的全面、协调的防御。
这篇文章详细介绍了HTML走私的工作原理,提供了最近使用它的威胁者和目标攻击活动的例子,并分享了缓解措施和相关保护指南。
HTML走私的工作原理
HTML走私利用浏览器支持的HTML5和JavaScript的合法功能,在防火墙之后生成恶意文件。具体而言,HTML走私利用了HTML5的“download”属性作为定位标记,以及创建和使用JavaScript Blob来将下载到受影响设备中的Payload组合在一起。
在HTML5中,当用户点击一个链接时,“ download ”属性让HTML文件自动下载 “href ”标签中引用的文件。例如,下面的代码指示浏览器从其位置下载 “malicious.docx”,并将其作为“safe.docx ”保存到设备中:
下载文件的代码截图
锚标签和文件的 “ download ”属性在JavaScript代码中也有对应的内容,如下图所示。
JavaScript中download属性的代码截图
JavaScriptBlob的使用增加了该技术的 “走私 ”方面。JavaScriptBlob存储文件的编码数据,然后在传递给期望获得URL的JavaScriptAPI时对其进行解码。这意味着无需提供用户必须手动单击才能下载的实际文件的链接,可以使用如下所示的JavaScript 代码在设备上本地自动下载和构建所述文件:
自动下载的代码截图
目前使用HTML走私的攻击方式主要有两种:指向 HTML 走私页面的链接包含在电子邮件中,或者页面本身作为附件包含。下面的部分提供了我们最近发现的使用这两种方法之一的实际威胁示例。
使用HTML走私的威胁示例
HTML走私已被用于银行恶意软件活动,特别是归因于DEV-0238(也称为Mekotio)和DEV-0253(也称为Ousaban)的攻击,目标是巴西、墨西哥、西班牙、秘鲁和葡萄牙。在我们观察到的一个Mekotio活动中,攻击者发送带有恶意链接的电子邮件,如下图所示:
图2. Mekotio活动中使用的电子邮件样本。单击该链接将启动 HTML 走私技术。
图 3.Mekotio 活动中观察到的威胁行为
在这个活动中,恶意网站hxxp://poocardy[.]net/diretorio/用于实施 HTML走私技术并投放恶意下载器文件。下图显示了在浏览器上呈现的 HTML 走私页面:
图4.Mekotio活动的HTML走私页面。注意“href ”标签是如何引用八位字节/流类型的JavaScript Blob来下载恶意的ZIP文件。
需要注意的是,这种攻击尝试依赖社会工程和用户交互来取得成功。当用户点击电子邮件中的超链接时,HTML 页面会放置一个嵌入了混淆 JavaScript 文件的 ZIP 文件。
图 5. 带有混淆 JavaScript 文件的 ZIP 文件
当用户打开ZIP文件并执行JavaScript时,该脚本会连接到hxxps://malparque[.]org/rest/restfuch[.]png并下载另一个伪装成PNG文件的ZIP文件。第二个ZIP文件包含与DAEMON Tools有关的以下文件:
sptdintf.dll:这是一个合法文件。各种虚拟磁盘应用程序,包括DAEMON Tools 和Alcohol 120%,都使用这个动态链接库(DLL)文件。
imgengine.dll:这是一个恶意文件,它被Themida包装或经过 VMProtected 进行混淆处理。它可以访问目标的地理位置信息,并试图窃取凭证和键盘记录。
一个具有随机名称的可执行文件,它是重命名的合法文件 “Disc Soft Bus Service Pro”。这个合法文件是DAEMON Tools Pro的一部分,并加载这两个DLL。
最后,一旦用户运行主要可执行文件(重命名的合法文件),它就会通过DLL旁加载启动并加载恶意的DLL。如前所述,这个DLL文件归属于Mekotio,这是一种通常部署在Windows系统上的银行木马恶意软件家族,自2016年下半年以来一直针对拉丁美洲的行业。
针对性攻击中的HTML走私
除了银行恶意软件活动之外,各种网络攻击(包括更复杂、更有针对性的攻击)都将 HTML 走私纳入其武器库。这种采用表明了战术、技术和程序(TTP)是如何从网络犯罪团伙渗透到恶意威胁行为者的,反之亦然。它还强化了地下经济的现状,在那里,这种TTP在被认为是有效的时候会被商品化。
例如,5月份,微软威胁情报中心(MSTIC)发布了一份关于NOBELIUM的复杂电子邮件攻击的详细分析。MSTIC指出,该活动中使用的鱼叉式网络钓鱼电子邮件包含一个HTML文件附件,当目标用户打开时,它使用HTML走私在设备上下载主要Payload。
从那以后,其他恶意行为者似乎开始效仿NOBELIUM,在他们自己的活动中采用了这种技术。在7月和8月之间,开源情报(OSINT)社区显示,在传递AsyncRAT/NJRAT等远程访问木马(RAT)的活动中,HTML走私的情况有所上升。
9月,我们发现一个利用HTML走私来传递Trickbot的电子邮件活动。微软将这个Trickbot活动归于一个新兴的、有经济动机的网络犯罪组织,我们将其追踪为DEV-0193。
在上述活动中,攻击者发送一个特制的 HTML 页面作为电子邮件的附件,声称是一份商业报告。
图 6. Trickbot 鱼叉式网络钓鱼活动中附加的 HTML 走私页面
当目标收件人在web浏览器中打开HTML附件时,它将构造一个JavaScript文件,并将所述文件保存在设备的默认下载文件夹中。作为针对端点安全控制的附加检测规避技术,创建的JavaScript文件受密码保护。因此,用户必须输入原始HTML附件中指示的密码才能打开它。
图7. HTML附件在浏览器中构建受密码保护的下载器JavaScript
一旦用户执行了JavaScript,就会启动Base64编码的PowerShell命令,然后回调到攻击者的服务器以下载Trickbot。
图 8.Trickbot 鱼叉式网络钓鱼活动中的 HTML走私攻击链
根据我们的调查,DEV-0193主要针对健康和教育行业的组织,并与勒索软件运营商密切合作,例如臭名昭著的Ryuk勒索软件背后的运营商。在入侵组织之后,该组织将成为后续勒索软件攻击的基本支点和推动者。他们还经常向上述运营商出售未经授权的访问权限。因此,一旦组织的网络和系统环境被破坏,很可能会发生勒索软件攻击。
防御使用HTML走私的各种威胁
HTML走私对传统安全解决方案带来了挑战。有效防御这种隐蔽的技术需要真正的纵深防御。在攻击链的早期(电子邮件网关和web过滤层面)阻止攻击是最好的。如果威胁者设法突破外围安全漏洞并将威胁传递到主机上,则端点保护控制应该能够阻止执行。
Microsoft 365 Defender使用多层动态保护技术,包括基于机器学习的保护,以抵御恶意软件威胁和其他在不同层面上利用HTML走私的攻击。它将来自电子邮件、端点、身份和云应用程序的威胁数据联系起来,提供深入和协调的威胁防御。并且这些都得到威胁专家的支持,他们不断监控威胁状况,以寻找新的攻击者及其使用的工具和技术。
适用于Office 365的Microsoft Defender检查电子邮件中的附件和链接,以检测和警告HTML走私企图。在过去六个月中,微软阻止了数以千计的HTML走私链接和附件。下面的时间线图显示了6月和7月的HTML走私企图的高峰期。
图 9. 检测到并阻止的 HTML 走私链接
图 10. 检测到并阻止的 HTML 走私附件
安全链接和安全附件通过利用虚拟环境在电子邮件中的链接和附件发送给收件人之前对其进行检查,从而提供针对 HTML 走私和其他电子邮件威胁的实时保护。在电子邮件中检测和分析数以千计的可疑行为属性,以确定网络钓鱼的企图。例如,检查以下内容的行为规则已被证明能成功地检测出恶意软件走私的HTML附件:
附加的ZIP文件包含JavaScript;
附件受密码保护;
HTML文件包含一个可疑的脚本代码;
HTML文件解码Base64代码或混淆JavaScript。
通过自动化和威胁专家的分析,现有的规则被修改,并且每天增加新的规则。在端点上,减少攻击面能够阻止或审计与HTML走私有关的活动。以下规则可以提供帮助:
阻止JavaScript或VBScript启动下载的可执行内容;
阻止潜在混淆脚本的执行;
阻止可执行文件的运行,除非它们符合普遍性、年龄或受信任列表标准。
端点保护平台(EPP)和端点检测和响应(EDR)功能可在执行前后检测恶意文件、恶意行为和其他相关事件。同时,高级狩猎(Advanced hunting)让防御者可以创建自定义检测来主动发现相关威胁。防御者还可以应用以下缓解措施来减少利用HTML走私的威胁的影响:
通过更改。js和。jse文件的文件关联来防止JavaScript代码自动执行。
在组策略管理控制台的 “用户配置”>“首选项”>“控制面板设置”>“文件夹选项 ”下创建新的打开方式参数。
为。jse和。js文件扩展名创建参数,将它们与notepad.exe或其他文本编辑器关联。
检查Office365的电子邮件过滤设置,确保它们能阻止欺骗性的电子邮件、垃圾邮件和带有恶意软件的电子邮件。使用MicrosoftDefender for Office 365以增强网络钓鱼保护,抵御新威胁和多态变体。配置Office365,以便在单击时重新检查链接,并根据新获得的威胁情报,消除已经发送的恶意信息。
检查外围防火墙和代理,以限制服务器与互联网进行任意连接来浏览或下载文件。这种限制有助于抑制恶意软件的下载和命令与控制(C2)活动。
用户可以使用Microsoft Edge和其他支持Microsoft Defender SmartScreen的web浏览器,该浏览器可识别和阻止恶意网站。开启网络保护,阻止与恶意域名和IP地址的连接。
在Microsoft Defender防病毒软件上打开云端提供的保护和自动提交样本。这些功能使用人工智能和机器学习来快速识别和阻止新的和未知的威胁。
对用户进行预防恶意软件感染的安全意识教育。鼓励用户实行良好的凭证方式,限制使用具有本地或域管理员权限的账户,并打开Microsoft Defender防火墙以防止恶意软件感染和传递。