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