简介
在对网络犯罪分子攻击手段的分析过程中,我们会不断遇到他们各式各样的伎俩,用以绕过企业的安全防御机制,这些伎俩有些是先进的,有些看起来显得“过时”,即使如此,在大多时候,通过对这些技术的有效应用也能帮助犯罪分子进入受害者的电脑,渗透到公司的网络之中。
本篇文章旨在揭示目前被各类网络犯罪分子滥用的一些技术细节,以帮助企业、安全运营商和行业减轻它们的影响。
技术分析
我们将从最近分析的三个案例中,重点介绍网络犯罪分子和威胁组织目前用来逃避检测的一些技巧:前两个案例是与Office文档相关的技术,用于隐藏恶意payload并引诱用户打开后感染;第三个案例则涉及到二进制payload,通过滥用代码签名技术来逃避传统安全控制技术。
表1.样本信息
我们分析的第一个案例中,攻击者使用了一个“已损坏”的文档来诱使用户选择“恢复原始文件”,并在系统没有提示警告的情况下下载恶意payload。在此例中,攻击者利用了漏洞CVE-2017-0199,它允许文档在打开时下载并执行任意代码,从“hxxps:// www.protectiadatator [.biz/js/Oj1/smile.doc "处外部引用远程代码并执行,如下图所示。
图1.样本中的外部资源
通常情况下,打开像这样的武器化文档时,会弹出一个下图所示的窗口警告用户存在指向外部文件的链接。
图2.弹出窗口警告
看到这条警告的用户在选择删除文件后就可以避免感染,但攻击者聪明地将文档中的某些字节删除了,使警告窗口的内容变得不一样,同时没有影响到攻击行为。
图3.损坏的文件
用户打开文档后,MS Word显示的是“文档已损坏,请确认是否恢复”,诱导用户选择恢复。
图4.弹出窗口报告无法打开文档
单击“是”后,MS Word会自动恢复文件内容并启动漏洞利用,这将下载并执行攻击者安插的payload。2.使用Office Developer Mode隐藏payload第二个技巧则是将payload隐藏在MS Office developer控件对象中,该组件通常对终端用户是不可见的。实际上,在大多数Office安装中,默认情况下都是禁用developer选项卡,因此识别异常对象的存在会更加困难。
该恶意文件开启后如下图所示。
图5.经典网络钓鱼文档
视图宏代码分析显示,真实的payload藏在名为“Kplkaaaaaaaz”的对象中。
图6.嵌入在文档中的部分宏代码
用户启用宏之后,该隐藏对象显示为一个小文本框(图7),实际为Base64编码的payload。
图7.文档的修改视图
图8.提取的payload
通过该策略,恶意软件作者将可识别的payload移动到一个更难以检测的区域,在静态分析期间被检出的概率较低。
3.伪造签名
另一种被网络罪犯滥用的技术是“证书欺骗”,该技术能让恶意软件轻易绕过部分反病毒引擎。攻击者通过某些渠道将有效证书潜入恶意软件之中,将恶意软件伪装成合法的,我们在之前的文章《TA505武器之隐形电子邮件窃取器》中对此有过描述。还有些时候,即使是无效的证书也足以实现攻击目标,例如最近的Ursnif攻击活动。
图9. Ursnif样本上的欺骗签名
使用证书欺骗技术,攻击者可以使用来自任何网站的任意证书签署任意可执行文件。作为研究案例,我们利用赛门铁克网站证书签署了的已知Emotet二进制文件,如下所示。
表2.样本信息
表3.样本信息
图10.是否有假证书的样本之间的比较
Microsoft SignTool工具能检出文件签名是无效的。
图11. SignTool检查报告显示证书是无效的
但是,这个技巧让VirusTotal检测率从36降低到20,甚至Symantec AV也没有将样本检测为恶意!不过Chronicle Security也曾经说过,Virustotal并不是“不同防病毒产品之间的比较指标”,因此这个结果并不能表示Virustotal的适用性要大打折扣。准确地说,Virustotal提供了一个关于内部检测机制的线索,展示了攻击者如何绕过一些辨认上的逻辑,而不是整个AV解决方案。
图12.证书添加导致检测率降低
对两个样本的分析表明,添加证书不会影响恶意软件的功能部件,因此也不会影响其行为。
图13.比较有无证书的样本
结论
我们在本篇文章中所展示的技三种术只是威胁行为者众多绕过技术中的一部分,如今,即使这些技术已经众所周知,但它们仍然可以有效地降低检测率,达成犯罪分子的攻击目标。我们希望,企业和行业能更进一步加强对这些技术的关注,网络安全人员和网络罪犯之间就像是互相角逐的猫鼠,只有不断提高自身水平才能拉高攻击的门槛和成本。