黑暗幽灵木马技术分析与防护方法

blackhold 2016-07-28 22:18:46

近日,黑暗幽灵(DCM)木马广受安全圈人士热议。 黑暗幽灵木马的新变种功能强大,主要以信息情报收集为主,能够绕过几乎全部的安全软件主动防御,且可通过网络劫持导致用户无感中毒,持续时间可长达数年, 符合APT攻击的特性。本文由绿盟科技对该核心样本进行了分析及验证,并给出应对方案。

事件背景

绿盟科技威胁分析系统(TAC)捕获到标识为2014年的“黑暗幽灵”样本。相关情况如下:

样本的数字签名信息

样本存在合法的数字签名,很多杀毒软件会将有数字签名的软件归属于到白名单,因此样本能够躲避多种杀毒软件的检测。

基本情况
执行概要

该样本为“黑暗幽灵”的一个历史版本。在系统和软件进行自动升级的过程中,攻击者通过中间人(Man-In-Middle)攻击方式将从服务器上获得的升级文件主动替换为样本文件,由系统或者软件内置升级程序执行样本文件。

样本行为分析

样本通过DLL劫持的方式将msls32.dll(ntshrui.dll)释放到window目录下,对explorer.exe进行DLL劫持,执行恶意代码。

样本的主要功能是收集用户信息:

[1] skype.exe、qq.exe、MSN.exe等聊天软件。
[2] Gmail,FoxMail敏感数据信息。
[3] 磁盘驱动,磁盘空间信息。
[4] 截屏。
[5] 网卡网关信息等。

• 什么是中间人攻击?

中间人攻击数据流图

A: 用户数据口,负责从用户接收数据或者向用户发送数据。
B: 服务商数据口,负责从运营商接收数据或者向运营商发送数据。
C: 心跳口,负责设备的模式切换。

串A: 串接方式下A的镜像口;
串B: 串接方式下B的镜像口;

当C口有心跳数据时,数据经过数据处理端进行转发;当C口没有心跳数据时,数据经过虚线部分直接转发。
中间的攻击是通过硬件连接实现的,一般在用户端或者服务商端都很难检测到。

• 什么是杀软对抗?

1) 样本文件通过数字证书进行签名。
市面上的大多数软件在检测恶意样本的时候,首先会判断样本是否包含数字证书,如果由正常的数字证书签名,则默认为信任级别。在发生风险后,会将风险的数字证书信息添加到黑名单中进行处理。

2) 添加样本白名单进行免杀;
样本会监测目标主机上的杀毒软件信息,添加白名单躲避检测。样本的主文件和释放的DLL均有此功能。

样本检测杀毒软件

3) 通过LSP过滤函数对WSPSend、WSPSendTo函数进行过滤,当判断发包者是安全软件进程则直接关闭连接,阻止联网,阻断云查。

判断云查杀并进行阻断

• 什么是LSP?

LSP即分层服务提供商。Winsock作为应用程序的 Windows 的网络套接字工具,可以由称为“分层服务提供商”的机制进行扩展。LSP为TCP/IP协议的接口,方便程序员编写监视系统网络通讯情况的Sniffer,以及过滤网络通讯数据。

危害和影响分析

黑暗幽灵木马相关的危害性分析如下:

木马功能越来越强大

该木马主要以信息情报收集为主,能够监控监听大量的聊天软件,收集网络访问记录、监控Gmail、截取屏幕、监控麦克风和摄像头等。而且通过网络劫持进行感染,主要劫持主流软件的自动更新程序,当这些软件联网下载更新程序时在网络上用木马替换,导致用户无感中毒。

木马对抗性相当强大

该木马能够绕过多达43款安全软件,可以调用安全软件自身的接口将木马加入白名单。还可以将数据封装成固定包头的DNS协议包,发送到大型网站来实现数据传输,此方法可以绕过几乎全部的防火墙。

木马符合APT特性

该木马攻击范围较小,针对性强,隐蔽性和潜伏性非常强,会自动潜伏在系统中且持续时间长达数年,符合APT攻击的特性。该木马悄悄记录电脑中的业务流程和漏洞,然后抓住漏洞进行致命一击,非常恐怖。

事件防护方案
基于目前绿盟科技安全专家的分析情况来看,已经启动了一套应对方案,随时可以帮助客户应对该事件,避免造成更大的风险和损失,这些方案包括:

专家团队检测服务

1) 绿盟科技工程师前往客户现场检测。
2) 绿盟科技在线云检测,登陆绿盟科技云,申请极光远程扫描试用。

产品自动升级服务

目前,绿盟科技已发布该黑暗幽灵木马的紧急插件升级包rsas-vulsys- V6.0R02F01.0202,请绿盟RSAS用户尽快到绿盟官网升级页面(http://update.nsfocus.com/)下载检测插件,及时检测,以防成为攻击受害者。

绿盟远程安全评估系统

该检测使用windows登录扫描,检测效果如下:

windows登录扫描

木马专杀解决方案

1) 短期服务:绿盟科技工程师现场木马后门清理服务(人工服务+NIPS+TAC)。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
2) 中期服务:提供3-6个月的风险监控与巡检服务(NIPS+TAC+人工服务)。根除风险,确保事件不复发。
3) 长期服务:基金行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)。

在绿盟科技制定应对方案的同时,为了帮助用户能够对此黑暗幽灵木马有更深入的了解,绿盟科技安全专家联合威胁响应中心的技术专家,对该木马进行了深入分析。

黑暗幽灵木马分析
下面绿盟科技的工程师模拟重现这个分析过程。

主程序
样本的执行架构图如下所示:

木马程序使用upx壳对其母体程序进行了压缩,脱壳后查看文件PE结构,其资源数据 BIN中,包含两个资源(141是x86版核心DLL,142是x86版LSP劫持DLL)。程序运行后会解密资源数据,经过分析发现解密后的资源均为 PE(DLL)文件。(最新变种兼容x64系统)

样本结构

下面是根据不同版本信息选择劫持DLL文件:

释放劫持explorer的DLL文件代码片段

释放LSP的代码片段

释放的文件是以密文形式存放在资源段中的,目的是为了躲避静态检测。同时,释放文件后,修改了文件的时间和属性。

资源段解密算法

释放资源文件代码片段

根据不同操作系统版本进行不同的操作:

判断系统版本

根据系统版本尝试ms11-046提权,该漏洞影响范围可参考:

http://www.microsoft.com/technet/security/bulletin/MS11-046.mspx

漏洞利用代码

漏洞利用代码调试

该母体程序主要功能,系统提权,杀毒软件检测,释放核心DLL文件,创建explorer进程,由于已经劫持了相关DLL文件,运行explorer后,该程序会加载核心DLL执行恶意功能。

核心DLL监测杀毒软件代码片段1

创建新进程加载DLL

核心DLL中的功能主要对系统敏感信息的收集,包括:邮件,即时通讯软件,主机信息, 网络信息等,并通过安装LSP完成对杀毒软件云查杀功能的阻断。收集到的数据经过加密后,所有的数据均伪装成DNS包发送到指定的 IP(208.96.131.1)的53端口或者8000端口,下面是其部分功能代码片段:

域名解析

样本判断进程名skype.exe、qq.exe、aliim.exe等聊天软件,根据进程名加载相关插件对此类聊天软件进行监听监控。

监控qq聊天记录代码片段

监控MSN、Skype等聊天记录代码片段

获取GMail敏感数据信

获取FoxMail敏感数据信息

获取磁盘驱动,磁盘空间信息

截屏功能函数代码

收集网卡网关信息

TextHelp.dll(LSP.dll)

通过LSP更改网络数据发送处理链

此部分主要是阻止杀毒软件进行云查杀。

网络通信
样本获取的数据均伪装成DNS包发送到指定的IP(208.96.131.1)的53端口或者8000端。

伪造的DNS包,内部包含窃取的用户信息

敏感数据的明文信息

加密后上传的数据

加密算法

加密数据解密算法

加密Key, Size = 100