黑暗幽灵(DCM)木马被腾讯电脑管家曝光之后,引起了业内人士的强烈关注,该木马功能强大,行为诡异,只要插上网线或连上WIFI,无需任何操作,不一会儿电脑就被木马感染了,据分析,黑暗幽灵(DCM)木马具有如下特性:
1)木马功能强大,主要以信息情报收集为主,能够监控监听大量的聊天软件,收集网络访问记录、监控Gmail、截取屏幕、监控麦克风和摄像头等。
2)木马对抗性强,能够绕过几乎全部的安全软件主动防御,重点对抗国内安全软件,能够调用安全软件自身的接口将木马加入白名单,作者投入了大量的精力逆向研究安全软件。
3)木马感染方式特别,通过网络劫持进行感染,主要劫持主流软件的自动更新程序,当这些软件联网下载更新程序时在网络上用木马替换,导致用户无感中毒。
4)木马通讯方式特别,木马将数据封装成固定包头的DNS协议包,发送到大型网站来实现数据传输,此方法可以绕过几乎全部的防火墙,但是黑客要截取这些数据,必须在数据包的必经之路上进行嗅探拦截,结合木马的感染方式,可以推测出在受害者网络链路上存在劫持。
5)木马攻击范围较小,针对性强,且持续时间长达数年,符合APT攻击的特性。
那么,黑暗幽灵木马到底是什么来历呢?匿名作者DcmTeamMember在v2ex发布了一篇文章,揭露了“黑暗幽灵”(别名 DCM)木马的前世今生,以下是文章全文。
-----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-----
iQEcBAEBCAAGBQJXEa7kAAoJECudGUQ3ThEDPtQIAOKPr17Ro17cEd/SzLelCK30
l4MM6AiKBMUHSOCDCs3/7B5uBfFkJ/JokdVf9SkxUK9xXruWc5nR81XzM4yr0RwR
druFEPsFv0g/O8xkcNczmYqSIoEL7WxW2F+m3NiYCs1CbEnmpkFBMX95ANnpFCMO
dqVryOlQtwOYfXhgBwxoKzrAIb/jsilX6QFLHPTGCjnWZbSAg4Bw44FgoYH71jxr
ekMmHK/YtMkHAJO2v0dcIdTHFnzDaV7zoxUYUi9aXTSTMMuVezl02dbiyygg9hcK
ZjsLNJAJds70CmLqTXYiJAVx9s7FbXnp0gS231ZL8uDBF+xS920C763O28ryyPc=
=JJmr
-----END PGP SIGNATURE-----
-----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
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
dcm_member@mail2tor.com OR dcm_member@mail2tor2zyjdctd.onion
另外,有人说我的 PGP 密钥是在我发文的当天生成的。关于这个问题,我的回答其实很简单,你觉得如果我用一个自己用了好几年的密钥来签名这个内容,我还能匿名吗?
我签名这个文章内容的原因主要是 2 方面考虑,一是我不希望别人篡改这个内容然后转发出去,二是我不敢保证现在这个帐号还能存活多久,一旦因为某些原因导致我无法再继续使用这个帐号,我需要使用新的帐号发帖并能够证实我自己的身份。