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

简介:

  概述

近日,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(转载)

相关文章
|
3月前
|
XML C# 数据格式
掌握了在Windows平台上查看DLL依赖的方法
掌握了在Windows平台上查看DLL依赖的方法
409 4
|
4月前
|
监控 Windows
Windows平台RTSP|RTMP播放器如何实时调节音量
我们在做Windows平台RTSP、RTMP播放器的时候,有这样的技术需求,特别是多路监控的时候,并不是每一路audio都需要播放出来的,所以,这时候,需要有针对音量调节的设计
|
4月前
|
监控 C# 块存储
Windows平台RTSP|RTMP播放器如何叠加OSD文字
做Windows平台RTSP|RTMP播放器的时候,特别是多路播放场景下,开发者希望可以给每一路RTSP或RTMP流添加个额外的OSD台标,以区分不同的设备信息(比如添加摄像头所在位置),本文主要探讨,如何动态添加OSD台标。
Windows平台RTSP|RTMP播放器如何叠加OSD文字
|
3月前
|
NoSQL Shell MongoDB
Windows 平台安装 MongoDB
10月更文挑战第10天
73 0
Windows 平台安装 MongoDB
|
4月前
|
Linux Android开发 iOS开发
Windows平台RTSP|RTMP播放器如何实现实时录像功能
Windows平台RTSP、RTMP播放器实时录像接口设计,实际上,除了Windows平台,我们Linux、Android、iOS平台也是一样的设计,单纯的录像模块,如果做的全面,也不是一两个接口可以搞定的
112 1
|
3月前
|
并行计算 开发工具 异构计算
在Windows平台使用源码编译和安装PyTorch3D指定版本
【10月更文挑战第6天】在 Windows 平台上,编译和安装指定版本的 PyTorch3D 需要先安装 Python、Visual Studio Build Tools 和 CUDA(如有需要),然后通过 Git 获取源码。建议创建虚拟环境以隔离依赖,并使用 `pip` 安装所需库。最后,在源码目录下运行 `python setup.py install` 进行编译和安装。完成后即可在 Python 中导入 PyTorch3D 使用。
357 0
|
5月前
|
Windows
Windows平台如何修改监听的服务名称?
【8月更文挑战第15天】在Windows平台上可透过注册表编辑器、命令提示符或第三方工具修改服务的显示名称。首先,通过注册表编辑器找到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`下的目标服务,修改其“DisplayName”键值。或者,在命令提示符中使用`sc config`命令来变更服务名称。此外,利用第三方工具如Windows Service Manager也能简化此过程。修改前请确保了解可能的影响并做好备份。
137 4
WK
|
5月前
|
存储 JavaScript 前端开发
如何在Windows平台上手micro:bit
micro:bit是一款口袋大小的可编程计算机,使用ARM处理器,跨平台兼容性强,适用于青少年学习编程。通过USB接口轻松连接Windows电脑,找到“MICROBIT”文件夹开始互动。提供MakeCode(支持拖拽编程及JavaScript)和MicroPython平台,满足不同编程需求。创建项目后,下载.hex文件至micro:bit,即可运行程序,展现创意成果。
WK
81 1
|
5月前
|
编解码 开发工具 数据安全/隐私保护
如何快速实现Windows平台屏幕摄像头采集并推送RTMP|轻量级RTSP服务能力?
一个好的推送模块,除了实现高效率的编码传输外,还要有好的音视频采集机制和灵活的架构支持,便于后期功能扩展,比如实时快照、预览、实时录像等。除此之外,还要有好的交互机制(比如envent callback)、低延迟和长期运行稳定的性能。
|
5月前
|
存储 安全 网络安全
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?