FireEye发布调查报告,混淆技术成为了2017年攻击者最喜欢用的技术之一

2018-02-28 16:13:45 浏览数 (1)

在2017年上半年,我们发现使用命令行逃逸技术和混淆技术的攻击者数量正在显著增加,网络间谍组织和专门针对金融领域的黑客组织仍在继续采用最先进的应用白名单绕过技术和新型混淆技术来攻击他们的目标(包括企业和用户)。这些技术通常可以绕过静态和动态分析方法,并且很好地解释了为什么基于签名的检测技术通常都会比那些创新型的攻击者要慢一步。

2017年初,黑客组织FIN8开始使用环境变量配合PowerShell通过StdIn(标准输入)来躲避基于命令行参数处理的安全检测方法。在2017年2月份,FIN8在钓鱼文档“COMPLAINT Homer Glynn.doc”( MD5:cc89ddac1afe69069eb18bac58c6a9e4)中包含了一个恶意宏,这个宏文件可以在一个环境变量(_MICROSOFT_UPDATE_CATALOG)中设置需要运行的PowerShell命令,然后在另一个环境变量(MICROSOFT_UPDATE_SERVICE)中设置字符串“powershell -”,接下来PowerShell将会运行它通过StdIn接收到的命令了。下图显示的是我们使用FIN8宏解码器<点击阅读原文查看链接>从恶意宏 “COMPLAINTHomer Glynn.doc” 中提取出来的FIN8环境变量命令。

为了躲避那些基于父进程-子进程关系的检测技术,FIN8所制作的这个宏使用了WMI来生成cmd.exe的执行。因此,WinWord.exe将不会生成子进程,但系统将会生成如下进程树:wmiprvse.exe > cmd.exe > powershell.exe。FIN8经常会使用混淆技术配合WMI来远程执行他们的恶意软件-POS机内存提取工具(PUNCHTRACK),而FIN8在2017年所进行的这些恶意活动只是这种逃逸技术在网络入侵领域应用的早期阶段。

随着技术的不断发展,新型应用白名单绕过技术也在不断涌现出来,而攻击者也会在他们的攻击活动中迅速采用这些技术,再配合上新型的混淆技术,他们就总是能够领先于安全防护产品了。很多黑客组织都会利用regsvr32.exe来实现应用白名单绕过,包括APT19在2017年针对法律事务所的攻击活动在内。

著名的网络间谍组织APT2在他们所开发的后门和攻击脚本中也使用了混淆技术,在2017年4月份,安全研究人员发现APT32在其所采用的额外命令参数中也使用了混淆技术。APT32使用了cmd.exe混淆技术来尝试绕过基于签名的安全检测技术,而并非像之前一样使用参数“/i:http”来实现regsvr32.exe绕过。FireEye的研究人员还发现,APT32在其攻击规则中还使用了“/i:^h^t^t^p”和“/i:h”t”t”p”这两个参数。下图显示的是APT32在实现regsvr32.exe应用白名单绕过时所使用的命令混淆方法:

与此同时,黑客组织FIN7在2017年也一直保持着针对酒店和金融服务行业的攻击热情。为了确保自己的黑客武器库没有与时代脱节,FIN7在2017年4月开始使用wscript.exe来运行JavaScript Payload,并通过这个JS Payload来获取隐藏在钓鱼文件(Word.Application COM对象所使用的钓鱼文件)中的额外Payload。

在这一周,FireEye发现FIN又引入了针对JavaScript和cmd.exe的新型混淆技术,这些技术的实现依赖于FIN7以往最喜欢使用的技术,即在初始感染阶段所使用的DOCX和RTF钓鱼文件中隐藏快捷方式文件(LNK文件)<点击阅读原文查看链接>。在本文发稿时,市面上还没有任何反病毒产品可以检测到采用了这种技术的恶意文件。在JavaScript方面,FIN7并没有选择在OCM对象实例化时定义“Word.Application”,而采用的是链接字符串“Wor” “d.Application”的形式。

除此之外,JavaScript的“eval”字符串也被转换成了“this[String.fromCharCode(101) ’va’ ’l’]”。最后,他们还使用了一个cmd.exe支持的字符替换功能,而这个功能几乎很少有人知道。wscript.exe命令也被设置在了一个进程级环境变量“x”之中,但使用了字符“@”来进行混淆处理。当“x”变量在脚本结尾输出之后,字符“@”会被语句“%x:@=%”替换。下图显示的是FIN7在LNK钓鱼文件中所使用的命令混淆技术:

在这个样本中,FIN7使用了FIN8通过StdIn传递命令的技术,但这一次FIN7并没有将命令发送给powershell.exe,而是发送给了cmd.exe,不过两种方式的逃逸效果是一样的。这种技术会暴露前三个cmd.exe的命令执行参数,如果这些环境变量设置在LNK或宏文件中并通过StdIn传递到了cmd.exe之中,那么命令行界面将不会出现任何数据。

总结

就此看来,网络攻击者仍然会继续在恶意宏文件和命令行代码中采用这种新型的绕过技术和混淆技术。除此之外,攻击者此后很可能还会利用新型的混淆技术来监控目标组织的网络通信数据和终端节点,而作为网络防御方我们也不能再依赖于单一的方法来检测这些威胁了。

FireEye的iSIGHT威胁情报服务还提供了关于这类攻击者的更多详细信息,以及很多其他网络间谍组织和金融犯罪组织所使用的恶意软件和攻击策略。

0 人点赞