黑暗幽灵(DCM)木马详细分析

路人甲 2016-04-13 09:14:00

0x00 背景


只要插上网线或连上WIFI,无需任何操作,不一会儿电脑就被木马感染了,这可能吗?近期,腾讯反病毒实验室拦截到一个“黑暗幽灵”木马的新变种,该木马功能强大,行为诡异,本文将对其进行详细分析,以下是该木马的主要特点:

  1. 木马功能强大,主要以信息情报收集为主,能够监控监听大量的聊天软件,收集网络访问记录、监控Gmail、截取屏幕、监控麦克风和摄像头等。
  2. 木马对抗性强,能够绕过几乎全部的安全软件主动防御,重点对抗国内安全软件,能够调用安全软件自身的接口将木马加入白名单,作者投入了大量的精力逆向研究安全软件。
  3. 木马感染方式特别,通过网络劫持进行感染,主要劫持主流软件的自动更新程序,当这些软件联网下载更新程序时在网络上用木马替换,导致用户无感中毒。
  4. 木马通讯方式特别,木马将数据封装成固定包头的DNS协议包,发送到大型网站来实现数据传输,此方法可以绕过几乎全部的防火墙,但是黑客要截取这些数据,必须在数据包的必经之路上进行嗅探拦截,结合木马的感染方式,可以推测出在受害者网络链路上存在劫持。
  5. 木马攻击范围较小,针对性强,且持续时间长达数年,符合APT攻击的特性。

0x01 木马行为概述


1.1 来源与传播途径

经过对大量受感染用户的分析,我们发现该木马来源于不安全的网络,无任何系统漏洞的机器只要连接到这些网络后,在一段时间后会感染木马,经分析发现木马主要通过在网络上劫持替换大量软件的自动更新程序进而感染电脑。当安装在电脑上的软件进行自动更新时,更新包被替换成木马,导致电脑被入侵。木马传播示意图如图1所示。

图1. 木马主要传播途径示意图

1.2 木马安装流程

木马运行后会判断本机安装的安全软件,会检测多达43款安全相关软件,当检测到不同的安全软件后,执行不同的安装方式,以实现绕过安全软件的检测和拦截。经分析发现该木马主要有三种不同的安装方式,木马最终安装启动的方式为将核心dll释放到explorer同目录下,对其进行dll劫持启动。如图2中三种颜色分别代表三种不同的安装方式,经测试该木马能够绕过当前绝大部分安全软件的防御和拦截最终成功安装。

图2. 木马安装流程示意图

1.3木马功能分解

该木马主要功能是窃取计算机各种信息,通过插件监控监听各种常用聊天软件的语音文字聊天信息,接受指令进行简单的远程操控,将自动化收集到的各种信息文件打包发送。如图3所示为木马功能一览。

图3. 木马功能一览

1.4 木马网络通信

该木马的网络通信方式与木马的传播方式相呼应,木马将收集到的各种信息打包成文件,随后将其加密并封装成DNS请求包,并将这些数据包发送到国内几大知名网站服务器。这样的通讯方式可以绕过几乎所有的防火墙、入侵检测产品,然而黑客如何取得这些数据包从而获得窃取的数据呢?经分析发现其封装的DNS数据包都有着相同且固定的数据包头,因此我们推测黑客会在数据包必经之路上对数据包进行拦截转发到黑客服务器,从而获得收集到的信息,如图4所示为推测出的木马通讯数据包投递流程。

图4.木马网络通讯方式推测

0x02 木马详细分析


2.1 安装释放

2.1.1母体结构

该木马的母体程序为一个exe可执行文件,通过网络劫持正常软件的更新程序而被下载执行,该文件中包含5个资源文件,均为简单加密的PE文件,其中141为x86版核心dll、142为lsp劫持dll、146为x64版核心dll、150为白加黑黑文件,151为白加黑白文件,以下将详细分析。

图5. 母体资源信息

2.1.2 适应多种系统,不同系统不同行为

判断操作系统版本,设置全局变量,随后将根据该全局变了进行大量的不同操作。

图6. 判断操作系统版本并设置标志

2.1.3 利用系统漏洞提权

判断当前系统是否为vista、win7等,如果是则检测当前进程是否具有管理员权限,如果没有该木马会尝试通过CVE-2011-1249将自身提升为管理员权限。该漏洞影响xp、vista、win7等多种版本操作系统。

图7. 木马利用CVE-2011-1249漏洞提权

2.1.4 对explorer进行dll劫持

通过注册表检测本机安装的安全软件,当目标系统没有安装安全软件时,木马将根据操作系统释放劫持dll到%windir%目录下对explorer进行劫持启动,在xp等系统下木马释放ntshrui.dll、在win7等系统释放msls32.dll,在win8等系统释放AduioSes.dll。随后启动一个新的explorer进程加载核心dll开始工作,此为第一种安装方式。

图8. 木马通过释放dll到explorer同目录进行劫持启动

2.2 对抗安全软件

2.2.1 暂存核心文件

如果检测到趋势等国际安全软件而又未检测到国内主流安全软件时,木马会将核心dll释放到%CommonProgramfiles%的一个子目录下,暂时存放。

图9. 暂时存放核心dll

2.2.2 释放dll并安装lsp

同时释放lsp劫持dll,并添加lsp,通过lsp,该dll可以注入到所有具有网络连接的进程中。在注入的进程中进行dll文件的移动,从而绕过安全软件,此为第二种安装方式。

图10. 释放lsp劫持dll

图11. 安装lsp

2.2.3 释放白加黑对抗杀软

当存在国内主流安全软件时,木马为了绕过针对lsp安装的拦截使用了白加黑技术

图12. 木马释放白加黑两个文件,准备绕过主防

2.2.4 通过白加黑安装lsp过主防

木马通过白加黑技术,并加以一系列复杂技巧绕过主动防御实现安装lsp,经测试大部分安全软件的主动防御均被绕过。

图13. 通过白加黑绕过主防安装lsp

2.2.5 绕过杀软对explorer进行dll劫持

安装lsp后,相关dll便以lsp劫持的方式插入到所有联网进程中,包括svchost、浏览器、聊天软件、安全软件等。Dll加载后首先判断当前进程,符合条件则将之前备份的核心dll移动到%windir%目录进行劫持(重启后移动)。此为第三种安装方式。

图14. 将核心dll移动到%windir%目录进行劫持

2.2.6 加载核心dll

随后木马判断自身是否位于ie、svchost、杀软等进程,以进行不同的行为,同时尝试直接加载核心dll(如果没加载,劫持需要等系统重启后核心dll才会被加载)

图15. 根据当前进程名决定是否立即加载核心dll

2.2.7 恶意操作杀软白名单,免杀

木马判断自身是否位于各种安全软件进程中,如果是则调用安全软件自身接口进行白名单添加,会将所有木马文件路劲添加到杀软白名单中。经测试,涉及到的安全软件均能正常添加白名单。

图16. 某安全软件白名单添加相关代码

2.2.8 lsp阻止安全软件联网,阻断云查

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

图17. 阻止安全软件联网云查

2.3 信息收集

2.3.1 收集网卡信息

收集的网卡信息包括网卡型号、网卡mac、网关ip、网关mac等

图18. 通过发送arp包获取网关mac地址

2.3.2 收集系统安装的软件列表

木马通过注册表Uninstall获取计算机安装的软件列表信息,将获取的信息异或0x87后写入到C:\WINDOWS\Temp\{E53B9A13-F4C6-4d78-9755-65C029E88F02}\soft.prog文件中,以下获取的信息无特殊说明都位于该目录下

图19. 获取安装软件列表

2.3.3 截屏

获取当前屏幕快照,zip压缩后保存为time().v文件

图20. 获取屏幕快照

2.3.4 收集磁盘文件目录

获取磁盘驱动器信息,包括全盘所有文件路径,获取后zip压缩到drive.d文件中

图21.获取磁盘文件信息

2.3.5 收集IE历史记录

通过com获取浏览器历史记录信息,存储到ie.his

图22. 获取浏览器访问记录

2.3.6 收集设备信息

遍历系统设备,判断是否有笔记本电源适配器、摄像头、麦克风三种设备,将结果加密写入到time().hd文件中。

图23.遍历系统设备

图24. 判断是否有指定设备

2.3.7 针对浏览器进行键盘记录

安装WH_GETMESSAGE全局钩子,安装后理论上所有具有消息循环的进程均会加载此dll,并调用钩子函数,在钩子回调中,判断当前进程是否是Iexplorer.exe、360se.exe、SogouExplorer.exe三种浏览器进程,如果是则进行键盘记录,记录的包括按键信息、窗口标题,通过imm32.dll该方法还可以记录中文输入,记录到的信息存为(日期+时间).k文件。

图25. 安装钩子

图26. 只记录指定浏览器进程的键盘输入

2.3.8 收集gmail信息

在记录键盘时,当判断以上浏览器窗口中含有Gmail字符时,会启动一个线程专门收集Gmail信息,会加载相关插件,尝试通过Imap协议下载服务器上的所有文件

图27. 判断是否正在登录gmail

图28. 通过插件尝试通过IMAP协议收集数据

2.3.8 加载插件收集各种IM相关信息

通过进程名判断skype.exe、cc.exe、raidcall.exe、yy.exe、aliim.exe等即时聊天、语音聊天软件,加载相关插件对此类聊天软件进行监听监控。

图29. 根据im软件进程名加载相关插件

图30. 通过插件的接口可猜测相关插件主要用于监控聊天信息

图31. 木马针对所有常见通讯软件均做了监控

2.4、网络通讯

2.4.1通讯协议

此木马最诡异的地方的通讯方式,该木马没有C&C服务器,所有的数据均伪装成DNS包发送到www.baidu.com、www.sina.comwww.163.com域名所在服务器的53端口或者8000端口。黑客要想获取这些数据包,必须在数据包从本地计算机到这些网站服务器的必经之路上进行劫持嗅探。

图32. 木马的数据包均发送到www.sina.com等服务器上

图33. 木马使用udp协议通讯,目标端口为53或者8000

图34. 木马伪装成DNS协议数据包,每个包都有固定的包头作为标记

图35.嵌入到DNS协议中的木马数据,及时专业的网络管理员,也难发现异常

2.4.2 自动上传收集到的文件

所有木马自动收集的文件,木马插件生成的文件都会被定时打包编号并发送出去

图36. 定时读取相关文件,打包编号发送出去,发送成功后会删除先关文件

2.4.2 远程控制

木马还会绑定本地一个udp端口,并不断尝试收取指令,进行远程控制,主要的远程控制功能包括cmdshell、文件管理、插件管理等。

图37.绑定本地一个udp端口

图38. 不断尝试收取控制指令

图39. 远控功能

0x03 木马信息


3.1安全软件

木马检测多大43款安全软件,涵盖了多内全部的安全产品及国外较有名的安全产品,从安全软件来看,该木马主要针对国内用户

图50. 木马检测的安全软件列表

3.2 其它信息

从木马的互斥体、调试信息等可看出DCM应该是该木马的代号,但是什么的缩写的?这个还真猜不出来

图51. 木马中的字符串信息

0x04 安全建议


软件厂商:下载更新程序尽量使用https等安全加密的通讯协议,对下载回来的文件在加载运行前一定要做签名校验。

用户:尽量不要使用安全性未知的网络上网,如公共WIFI、酒店网络等,如果怀疑自己的网络有问题,及时与运营商反应。此外安装安全软件可在一定程度上防御此类攻击,目前管家已率先查杀该木马及其变种。

评论

路人甲 2016-04-13 09:53:05

谁有能力拦截?
一看就是国家队,

路人甲 2016-04-13 09:55:35

吼吼,关注一下。

X

xti9er 2016-04-13 10:01:10

确实是apt类型的木马,比国外厂商动不动把用ghost的攻击叫apt 强不少

路人甲 2016-04-13 10:14:08

楼上一语道破天机

哈哈 2016-04-13 10:33:52

药药~切克闹..大水冲了龙王庙^.^

M

Mystery 2016-04-13 10:42:25

因为拦截列表里没有腾讯电脑管家,于是就被发现了么。

路人甲 2016-04-13 10:50:38

管家是啥软件

D

ds-hale 2016-04-13 23:09:19

所以说每个安全软件安装上才是王道啊

路人甲 2016-04-14 02:10:51

我认为在lsp那一层,这些特定的dns包会重构,发往正确的地方

路人甲 2016-04-14 07:27:24

啧啧,这收数据的方式,明显只有能在全国范围ISP抓包的人/组织才能收到啊……

路人甲 2016-04-14 07:32:17

这样要还不是国家队。。那国家队该多恐怖

路人甲 2016-04-14 10:11:19

大水冲了龙王庙

M

move on 2016-04-14 12:04:10

啧啧。。。。

路人甲 2016-04-15 10:05:04

文章2.4.1通讯协议关于伪装成DNS那部分写的有问题。 通过抓的包看,病毒是把获取到的内容,伪装成一个DNS 查询包,伪装的DNS查询的内容是www.baidu.com 等域名,但是这个包是发往DNS服务器,而不是发往 www.baidu.com,www.sina.com等网站。看抓包的地址,那个180.76.76.76本身就是百度的开发DNS服务器地址,而不是www.baidu.com ,www.sina.com等这些网页服务器的地址。
DNS劫持,做起来很简单了吧,既然已经攻破了设备,并且获得了网关的地址,现在的路由器,漏洞也很多,从被感染的电脑上很轻易的就会被攻破路由器,然后加几个规则把DNS包过滤并通过特征字段再过滤,转发到自己的服务器是很轻松的。
分析样本电脑的时候,如果能顺便把该电脑连接的路由器上的所有包都截下来顺便分析,或许有更大的发现,发现真正的CC服务器都有可能。说不定这个病毒就是协同配合的,电脑部分负责收取信息。然后伪装成DNS,打上mark,路由器上那部分病毒,负责通过MARk把包摘出来,转发到CC服务器。

D

dsb2468 2016-04-15 11:37:30

@wbangin 把路由器拆了,也依旧。

J

Joker 2016-04-16 00:00:47

这份报告看着好几个地方迷糊啊,从报告来看:
1)木马只是攻击中的一个环节,用来作远控的,那本文所说的感染方式就不能是对这个木马而言了,而是对本次攻击而言,只能说在这个攻击场景中木马是被这么种过来的。但报告中就这个木马的出现场景(来源)说得太简单了,只给出几句结论。
2)信息收集、键盘记录、远程控制等等单是文中给出的分析不能说这些是木马的行为,还是木马只是具备这些功能而已。
3)[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */,这个地方就好理解一些,通过DNS协议承载数据很多木马这么做,如果不是这样的话,那外面修改数据的环节在这个攻击中就是个很重要的环节了,光只分析木马程序那就让人看得不明不白了。
总而言之,报告只给出了木马分析部分,没有还原整个攻击过程的部分,但木马分析的部分又有些地方和整个攻击过程中的其它环节耦合的,所以看着不是很明白,求后续解惑。

路人甲 2016-04-16 10:05:37

mark

路人甲 2016-04-16 11:28:53

1/2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
高度机密:“黑暗幽灵”(别名DCM)木马的前世今生
首先,我无耻的匿了(多层VPN代理,因此那些正在阅读本文而目的却不是本文的正文内容的人,你们可以省省力气了)
关于这个叫DCM的木马,别名“黑暗幽灵”,我看到这个木马的分析报告的时候瞬间就震惊了。我震惊的原因不是因为这个木马的功能强大,也不是因为它的免杀手段,而是因为我是这个木马的设计和开发者之一!设计和开发团队大概10人左右,但是团队成员现在分布在全国各地多家不同行业的公司,因此我觉得把我们全部请去喝茶的可能性不大,况且就算真的被请去喝茶了,我也会装作没有见过这篇文章的。
没错,任何一个人都可以站出来,声称他是这木马的作者或设计者。而我却没办法在不泄漏自己真实身份的情况下证明我所写的内容,所以作为本文的读者,如果你不相信我所写的内容,那么就没必要继续读下去了。
DCM木马的前世
首先我要证实一下大家的猜测:这个木马确实和G0V有关系,属于一款特殊用途的专用木马。我不便透露具体客户的身份。
这个木马的项目开始时间大概是2011年,目的是作为当时一个在役的木马(以下简称旧马)的继任者。之所以需要一个旧马的继任者,是因为旧马是基于一款开源的远程控制软件(以下简称原型远控)修改而成的,它主要有以下几方面的缺点:
* 免杀
原型远控在黑客圈子里比较知名,基于它的木马变种非常多。因此杀毒软件对它的查杀力度很大,免杀难度相对较高,保持的时间也较短,经常需要更新。
* 隐蔽
旧马沿用了原型远控的TCP反弹连接协议,因此主控端需要具有IP地址,某些应用环境下必须是公网IP地址,因此具有泄漏木马使用者身份的风险
* 功能
原型木马设计更像灰鸽子,被控端上线以后接受控制端发送的命令,然后将结果发送回控制端。旧马虽然努力改变这一设计,但受限于原型木马的框架,大的功能改动显得力不从心。
由于原型木马的先天缺陷,导致了旧马各方面难以弥补的不足,因此一个新的继任木马的需求也就被提出来了。
DCM木马的诞生
这个继任者的设计理念包括一下几点:
* 无进程无窗口
该木马的受害者不能明显察觉到任何异样
* 长期免杀
杀毒软件与防火墙不能发现和拦截,包括木马的安装过程,以及安装成功以后的长期运行
* 不泄漏使用者信息
必须保障该木马控制者身份的绝对安全,任何情况下都不能泄漏控制者的IP地址、域名或者其他任何有价值的身份信息。即使样本被杀毒软件厂商获取并分析,也无法得知控制者的确切身份。
* 完全自动化
无需人工介入,根据事先的配置设置,全自动窃取信息并回传。没有网络连接的情况下要保存获取的信息,发现可用网络连接后进行回传。
经过几个月的设计与开发,这个继任者木马诞生了。
该木马的功能与特点已经没有必要在这里赘述了,网上的分析文章写的清清楚楚,总结下来就是自动记录并发送被感染电脑上的一切隐私内容。
DCM木马的感染方式
其实该木马本身是不会主动传播的,它的设计就是潜伏并回传数据。它的传播是依赖另外几套系统来实现的(以下统称传播系统),而且这些传播方式也并不局限与传播DCM木马。这些传播系统的传染方式当然也不仅局限于分析文章里所提到的替换正常软件自动更新文件的方式。此外,该木马仅用于特定目标人群的”定点打击“,并不会大量传播。
* 正规软件的自动更新
在网上的分析文章里已经写了,通过替换正常软件的自动更新网络数据,使这些软件下载木马并执行。很多正规软件都直接运行在管理员模式下,还帮木马省去了提权的麻烦。
* 下载可执行文件捆绑
被列入”定点打击“的电脑如果下载了不超过一个预设大小的EXE文件,则传播系统会将木马捆绑在这些正常的EXE文件上,而且并不会破坏原有可执行文件。用户一旦运行了下载的EXE文件就会被感染。
* 压缩文件感染
被列入”定点打击“的电脑如果下载了一个符合某些条件的压缩文件,则传播系统会根据配置将木马插入压缩文件中,替换掉压缩文件中的可执行文件,或者替换掉整个压缩文件,从而实现感染目标主机的目的。
* 浏览器劫持感染
这个感染方式比较极端,只有少量情况下会使用。当该感染方式启动时,用户电脑无法正常浏览部分甚至全部网站,浏览器会被重定向到一个钓鱼页面,要求用户安装”浏览器插件”或者“必要更新”一类的内容,从而诱导甚至强迫用户安装木马。
DCM木马相关的其他木马项目
毫无疑问DCM是针对Windows平台的木马,然而这并不表示其他平台就是安全的。但出于自身安全的原因,我在此不便透露更多细节。
DCM Team Member
2016年4月16日
-----BEGIN PGP SIGNATURE-----

路人甲 2016-04-16 11:29:23

2/2
iQEcBAEBCAAGBQJXEa7kAAoJECudGUQ3ThEDPtQIAOKPr17Ro17cEd/SzLelCK30
l4MM6AiKBMUHSOCDCs3/7B5uBfFkJ/JokdVf9SkxUK9xXruWc5nR81XzM4yr0RwR
druFEPsFv0g/O8xkcNczmYqSIoEL7WxW2F+m3NiYCs1CbEnmpkFBMX95ANnpFCMO
dqVryOlQtwOYfXhgBwxoKzrAIb/jsilX6QFLHPTGCjnWZbSAg4Bw44FgoYH71jxr
ekMmHK/YtMkHAJO2v0dcIdTHFnzDaV7zoxUYUi9aXTSTMMuVezl02dbiyygg9hcK
ZjsLNJAJds70CmLqTXYiJAVx9s7FbXnp0gS231ZL8uDBF+xS920C763O28ryyPc=
=JJmr
-----END PGP SIGNATURE-----
PGP Key ID: 0xE75EDBBD207EA30C
[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */ OR [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */

路人甲 2016-04-16 11:29:51

怎么没有腾讯管家?!还有,这种低级病毒格盘重装就好,又不是什么鬼影病毒,我一向都是感到系统不正常立刻重装的。。。。不过作者真是技术帝啊!@Joker

路人甲 2016-04-16 13:02:14

@wbangin 递归查询吧?

瞧瞧 2016-04-16 14:31:27

@QEMU 问题是你重装也没用啊。。你换电脑也没用啊。。

路人甲 2016-04-17 08:15:36

2/2
t/iv+2leM0XVrH+KiqKxOPPwS4AxuZXZLLz1GzistZJXozv+EhLJHZ3tcEazd1eE
Wfdx67//b5PM7TrFYniZmTnMXrMd6RiVu/Vhn/ynP6hbXMiRU+D9qPSymfKS85ZG
AtG7C6TSMshnClK1W/aJ8XtJ+wUmm6FOsp9gN62R63u/Aw/s6qonqoBLmqT7IILd
4zsgHG12fMgck8foepd+vRRunIVq5CCWBi01eiqnOpksom5rG0xwauIdCCAyfuDg
2NkIIY9nvbM41aLO5ImifE3NoHCy5dLnzriCwHRYtYHxqk4Qbk6socdLHwwjgFc=
=KwHw
-----END PGP SIGNATURE-----
Text encoding: UTF-8
PGP Key ID: 0xE75EDBBD207EA30C
[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */ OR [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */

路人甲 2016-04-17 08:15:57

1/2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
高度机密:“黑暗幽灵”(别名DCM)木马的未公开信息
前一篇文章发出来以后,很多人说里面所有的内容都是已经公开的信息,那么我就来披露一些未公开的非敏感信息吧。
从DCM木马的通信方式上来说,2011年时该木马构造一个DNS数据包,包头是DNS查询microsoft.com的子域名,payload则是另一个
封装的数据包,其中包括文件名、文件大小、分片序号以及LZMA压缩后的实际数据内容。木马会将该数据包发往微软的一个IP地址,并
根据网络上行带宽控制发送速度。由于目标IP地址并不是一个有效的DNS服务器,所以木马不会收到任何回复数据。之所以发往微软的
IP地址,是因为以下几方面考虑:
* 国外IP
选择一个国外的IP地址会确保数据包通过城市出口,省出口以及中国的互联网国际出口,因此大幅提高我们截取到这些DNS数据包的成
功率,而且当用户携带被感染的笔记本电脑等便携式设备到其他没有布防的省市时,我们仍然可以从国际出口的UDP 53上行数据中截获
所需的数据。
* 降低可疑度
Windows操作系统自身原本就会发送大量的关于microsoft.com域名的DNS请求,包括自动更新、错误报告等诸多功能,都会发往微软。
因此我们也伪装成相似的DNS请求,从而降低数据包的可疑度,即使触发了防火墙的报警,用户仍然有很大概率选择放行。
* 微软不是中国的“敌对势力”
起始最初我们曾经设置将数据发往Google,但我们的客户认为Google是“境外敌对势力”,将这些敏感数据发往Google是绝不可接受的。
于是经过讨论,我们认为微软本身作为操作系统的开发者,原本就有大量的隐私数据被发往微软,也不在乎再加一点。而且一旦此事真的
被大家发现了,安全专家开始关注这个木马(就像现在这样),微软还可以成为一个合理的“怀疑对象”,顺理成章的把我们的责任推到
微软的头上。
数据包的重组则依赖于多层网络探针设备,我前面已经说过了,这个木马的背后是一个国家机关,因此我们可以得到这些DNS数据包的
渠道是非常广泛的。以一个家庭用户为例,有以下节点可供我们获取这些数据:
* 运营商提供的宽带路由器或Modem
部分型号是有预留后门的,可以直接远程激活。即使你家中的路由和Modem没有后门,在确实必要的情况下我们会干扰你的网络,迫使你
主动联系运营商进行维修,然后我们派人伪装成运营商工作人员去“维修”你家中的设备甚至直接建议你更换设备(设备老化之类的借口)
除此之外,我们还会在局域网内通过主动的扫描以及被动的监听等方式,来采集局域网内设备的信息,尤其是无线设备的信息。
* 小区交换机
很多小区有自己的电话交换机,我们会直接在电话交换机柜里加装小型低功耗设备,将你的网络数据镜像出来,并储存在设备的硬盘中
或转发到其他IP地址。如果使用转发模式,可能会复用你的宽带网络,反正用户在你家里抓包是绝对看不到任何异常的。
* ISP机房
不用解释了,大家都知道怎么回事。ISP机房的好处是设备的功耗和体积没有限制,可以做更多的事。缺点是插拔电话线时会导致用户的
网络暂时中断,而且ISP机房又只在工作时间向我们开放,所以偶尔可能会被用户察觉到网络和电话突然中断几十秒到几分钟。
* 当地的公安机房
ISP会将部分数据镜像给公安机关,主要是TCP 80上行和UDP 53上行,因为这两个端口的上行数据量都不大,而且包含了我们所关心的
大部分信息。这也是DCM木马选择使用DNS数据包的原因之一。
* 城市出口
一线二线的大城市的互联网出口几乎都有我们的设备,但2011年时中小城市的覆盖率则相对较低,现在的覆盖率恐怕已经包含了大部分
互联网发达的三级城市了。
* 省出口
国内所有的省级互联网出口都有大量的网络探针设备,其中有一部分是我们的,也有一些是其他机关部门的。
* 国际出口
其实国际出口我们是没有办法直接访问的,只是特例有需要的情况下可以拿到镜像数据而已,但这可以作为最后一个机会。
这里面有些层级是会暂时或长期地保留数据的,比如公安机房和国际出口,数据会被选择性的存储下来,供日后查阅。
不过那篇分析文章里找到IP地址是百度之类的国内IP,估计和最近几年的政策变动有关系。也许微软也成为了境外“敌对势力”之一,
从微软的OneDrive服务被墙就可以看出,中国对于微软也是不信任或者不完全信任的态度。
DCM Team Member
2016年4月17日
-----BEGIN PGP SIGNATURE-----
iQEcBAEBCAAGBQJXEtJCAAoJECudGUQ3ThEDhDkIAIjbT9K1qcwf3U0BVzm2Sal7

路人甲 2016-04-20 17:37:12

自称DCM团队的不痛不痒的哼唧几句,既然都高度匿名了,你大可把客户说出来,或者暗示动机,还藏着掖着干嘛。

路人甲 2016-04-21 01:38:50

@哈哈 正解

路人甲

真正的路人甲.

twitter weibo github wechat

随机分类

安全开发 文章:83 篇
SQL注入 文章:39 篇
运维安全 文章:62 篇
Android 文章:89 篇
神器分享 文章:71 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Article_kelp

因为这里的静态目录访功能应该理解为绑定在static路径下的内置路由,你需要用s

N

Nas

师傅您好!_static_url_path那 flag在当前目录下 通过原型链污

Z

zhangy

你好,为什么我也是用windows2016和win10,但是流量是smb3,加密

K

k0uaz

foniw师傅提到的setfge当在类的字段名成是age时不会自动调用。因为获取

Yukong

🐮皮

目录