请注意,签名证书中所显示的发布者与攻击活动并没有任何关系。因为攻击者破解了一个有效的证书,并用这个合法证书来进行恶意软件的传播活动。
图片4:恶意软件payload的下载
在用户毫不知情的情况下,故障诊断包可以通过一个PowerShell脚本在后台自动下载恶意软件的payload。
我们可以从图片5和图片6中看到,通过修改故障诊断包的XML数据,攻击者可以自定义设置弹出对话框的外观和提示信息、它所要执行的任务、以及相应的执行脚本。比如说,在下图给出的XML格式数据中,我们可以将对话框的标题设置为“Encodingdetection”,然后指定“Troubleshooter”为一个名为“TS_1.ps1”的PowerShell脚本。
图片5:诊断包引用了一个恶意PowerShell文件来作为执行脚本
在这一攻击活动中,这个PowerShell脚本专门负责在目标用户的计算机中下载恶意paylaod,相关信息如图6所示:
图片6:用于下载恶意payload的PowerShell命令
这种恶意软件执行方式可以绕过目前大部分沙箱产品的检测,因为恶意软件加载的是“.diagcab”文件,并在msdt.exe外部完成了所有的恶意操作。这也是一种新的攻击发展趋势,因为现在很多恶意软件的开发者会通过基于CO对象的非标准执行流来寻找新型的沙箱绕过方法。在此之前,有的攻击者还会利用WMI、Office办公套件、后台智能传输服务、以及计划任务等功能来实现沙箱绕过。在这一攻击活动中,攻击者在msdt.exe中创建了一个IScriptedDiagnosticHostCOM对象,DcomLaunch服务便会启动“脚本诊断主机”服务(sdiagnhost.exe),而该服务便会执行相应的shell脚本命令,即上图所示的PowerShell脚本。
在此次攻击活动中,攻击者使用的是一个模块化的后门,即LatentBot。FireEye在2015年末曾发布过一篇针对这一恶意后门的详细分析报告,感兴趣的同学可以阅读一下【报告传送门】。在我们的分析过程中,我们发现攻击者在提取主机数据和实现远程访问的过程中加载了下列bot插件:
-Bot_Engine
-remote_desktop_service
-send_report
-security
-vnc_hide_desktop
总结
毫无疑问,攻击者肯定会继续寻找新的方法来利用Windows的内置功能,以求通过一种不受阻碍的方式来感染目标用户并执行恶意payload。在这一攻击活动中,攻击者使用了一种典型的“Windows”式的方法来欺骗用户,即便是非常有经验的用户也很有可能会掉入陷阱。除此之外,这种攻击技术使用的是一种非标准的执行流,所以攻击者可以绕过大部分沙箱产品的检测。
参考资料
1. https://msdn.microsoft.com/en-us/library/windows/desktop/dd323778(v=vs.85).aspx
2. https://msdn.microsoft.com/en-us/library/windows/desktop/dd323712(v=vs.85).aspx
3. https://msdn.microsoft.com/en-us/library/windows/desktop/dd323781(v=vs.85).aspx
4. https://www.fireeye.com/blog/threat-research/2015/12/latentbot_trace_me.html
5. https://msdn.microsoft.com/en-us/library/windows/desktop/dd323706(v=vs.85).aspx
入侵检测指标(IOCs)
(责任编辑:安博涛)