解决麻烦还是制造麻烦?Windows故障诊断平台也能传播恶意软件

  1. 云栖社区>
  2. 博客>
  3. 正文

解决麻烦还是制造麻烦?Windows故障诊断平台也能传播恶意软件

晚来风急 2017-07-03 14:49:00 浏览1104
展开阅读全文

  概述

近日,Proofpoint的安全研究专家们发现了一种基于附件的新型恶意软件传播方式。在安全人员所检测到的恶意软件活动中,攻击者利用的是Windows操作系统中一个名为“故障诊断平台”(WTP)的功能。这一功能原本可以帮助用户解决那些Windows日常使用过程中所遇到的问题,但是在攻击者的眼中,它却成为了一个非常实用的攻击工具。在社会工程学的帮助下,攻击者或可利用该功能来在目标用户的计算机中运行恶意软件。

安全研究专家发现,这种攻击方式的实际效率非常的高,因为当Windows系统运行故障诊断平台的时候并不会弹出任何形式的安全警告,而当系统弹出了故障诊断窗口之后,用户们也早已习惯于直接通过该平台来解决使用过程中的一些疑难问题了。

详细分析

在此次所发现的恶意软件活动中,攻击者使用了Windows的故障诊断平台来传播LatentBot。当用户感染了这一恶意软件之后,攻击者不仅可以对用户进行监控,而且还可以从目标主机中窃取各类数据。这也就意味着,攻击者将获取到目标主机的远程访问权。

  图片1:Windows故障诊断平台的体系架构

攻击者可以向目标用户发送一封电子邮件,并在邮件中附带一份看起来非常“诱人”的附件。当然了,用户最终是否会打开邮件附件,完全取决于用户的个人经验和攻击者的社工技巧。需要注意的是,这也是一种典型的恶意软件传播方式。

当用户打开了附件之后,屏幕中会显示出一个包含乱码的文档,此时Word的右上角会温馨地提示用户“双击以自动检测字符集”。如果目标用户选择同意,那么他们这一次就真正地打开了一个嵌入在附件内部的OLE对象,这个对象是一个经过数字签名的DIAGCAB文件。DIAGCAB是Windows故障诊断包的后缀名,“.Diagcab”文件是包含故障诊断脚本的专用存档。

  图片2:恶意附件的窗口;

如上图所示,攻击者利用了社工学的技巧来欺骗用户双击并执行OLE对象。

当用于攻击的恶意“.Diagcab”文件被打开之后,用户就会看到如图3所示的界面,这个界面的可信度确实非常高,普通用户几乎无法对其安全性进行准确的辨别。如果用户点击了对话框中的“下一步”按钮,那么应用程序将会执行与之相对应的故障诊断脚本。在这种攻击活动中,攻击者运行的是一个PowerShell命令,并通过这个命令来下载并执行恶意payload。

  图片3:已签名的故障诊断包;

请注意,签名证书中所显示的发布者与攻击活动并没有任何关系。因为攻击者破解了一个有效的证书,并用这个合法证书来进行恶意软件的传播活动。

  图片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)


本文转自d1net(转载)

网友评论

登录后评论
0/500
评论
晚来风急
+ 关注