TheMoon : 一个僵尸网络的老皇历和新变种

TheMoon 是一个恶意代码家族的代号。早在2014年2月,该恶意代码家族就引起了安全研究人员的普遍关注。在当时,TheMoon是一个针对 Linksys 路由器的、有类似蠕虫式传播行为的僵尸网络。由于其感染传播能力较强,安全社区里的讨论较多。

2014~2017年期间,又陆续有各安全厂商对TheMoon恶意代码家族做了分析。报告反应了当时 TheMoon 家族的演化情况。

从2017年开始,我们也对 TheMoon 家族做了持续跟踪,并注意到以下的新发现:

  • 感染阶段: TheMoon 集成了最近的一组漏洞利用代码,提高其感染能力;
  • 运营阶段: TheMoon 的代理网络,由正向代理改为反向代理,避免被安全研究人员探测度量;
  • 样本特征: TheMoon 开始使用压缩外壳,提高安全研究人员分析的难度

下文仅仅是我们对 TheMoon 恶意代码家族监控结果的概括描述,详细的技术分析文档可见 TheMoon-botnet.pdf

2017年以前的 TheMoon

2014-02-13 ,这是我们能查到的 TheMoon 相关最早记录。当时,SANS 安全研究机构的博士 Johannes B. Ullrich 报告发现 了该恶意代码,并在随后给出了更新 。TheMoon家族的一些关键特点,在最初被发现的这个阶段就已经确定下来了:

  • 攻击目标:最初是 Linksys E1000 系列路由器,后续发展也是以 IoT 设备、特别是家用路由器为主。设备目标常见是 MIPS 架构
  • 蠕虫式的感染传播:被感染的设备,会在一个较短的时间窗口期内提供二进制下载。这种蠕虫式的感染,这使得其传播能力大大增强
  • 简单的自我保护:会设定 iptables 规则限制漏洞利用端口的访问,仅允许作者控制的几个IP地址所在地址段访问,减少被其他攻击者利用相同漏洞的风险
  • 命名来源:样本文件内嵌了几张图片,加上文件中的一些其他字符串 "lunar", "moon", "planets",这些共同的信息指向一部2009年的电影 "Moon",这是这个家族被命名为 TheMoon 的原因。

由于该恶意代码家族被定位是蠕虫,这引起了安全社区的广泛讨论。几天之内,相关的设备漏洞和利用代码就被各大安全厂商收录,例如 securityfocuspacketstormsecurity, flexerasoftwarevulnerabilitycenterexploit-dbIBM X-force,等等。

2015-07-16,阿里安全的谢君,在
解密“智魁”攻击行动——针对路由器蠕虫攻击事件分析报告
中,分析了该恶意代码家族当时的变种。这个阶段 TheMoon 家族表现出来的新特征包括:

  • socks代理:开始利用被感染节点搭建 Socks 代理网络;上述代理网络是主动式的,被感染节点上开启的代理节点有特征可循,文章中根据该特征,对全网扫描并给出了度量;
  • 感染手段:开始使用华硕路由器漏洞 CVE-2014-9583,UDP 9999 ,以及 TP-Link路由器漏洞。2014年版本所使用的原有 Linksys 漏洞仍然在利用。
  • 文中还列出了若干打码后的 C2 服务器IP地址

虽然文章中通篇没有提及 TheMoon 的名字,但是恶意代码的二进制特征一致,可以判定是 TheMoon 家族。另外,文章中还将攻击行为追溯到具体人,但是这部分的归因过程没有给出具体分析过程,故而这部分的结论待考。

2016-10-20 Fortinet 的 Bing Liu 在 TheMoon A P2P botnet targeting Home Routers 中分析了当时的 TheMoon 恶意代码变种。文中提及了一些新特性:

  • P2P 特性:代码中集成了P2P 特性(但不成熟,也未启用)
  • C2通信协议:详细的分析了恶意代码的 C2 通信协议
  • 下载服务器:hxxp://78.128.92.137/.nttpd
  • 若干硬编码的 NTP IP 地址:
    • 207.46.232.182 (未显式标注)
    • 82.68.206.125
    • 194.25.252.5
    • 129.6.15.28
    • 129.6.15.28
  • 若干硬编码的 C2 IP 地址:
    • 185.53.8.22 (未显式标注)
    • 185.56.30.189
    • 217.79.182.212
    • 85.114.135.20
    • 95.213.143.220
    • 46.148.18.154

值得一提是,尽管这份恶意代码中集成了 P2P 特性,但相关代码是不成熟的,未能遵循应用密码学最佳实践,存在被接管的可能性。这部分代码特性并未启用,作者与 bot 的通信仍主要主要基于硬编码的 C2 IP 地址。

2017年以来我们观测到的 TheMoon 家族

从 2017年4月 以来,我们开始持续观察到 TheMoon 家族。我们监控到的新变化包括:

  • 样本特征:TheMoon 开始使用压缩外壳,提高安全研究人员分析的难度
  • 感染手段:集成了至少 6 种 IoT 设备漏洞利用手段,扩大感染基数
  • 代理网络:从正向改为反向。感染节点通过咨询上联节点得知需要访问的网页和参数,感染节点上不再直接开放端口。这样我们也无法通过全网扫描的方式来度量僵尸网络的规模。
  • 代理流量:代理网络中流传的流量大致分为有明文和密文两部分,流量均不高。明文部分,经人肉筛选,和色情、赌博、挖矿等内容有关,另有一小部分看起来像门户网站;密文部分的流量推测与电商或者在线邮箱有关。时间分布不明显,似乎24小时都有流量发生。
  • P2P 机制:仍然存在,仍然存在被接管可能,仍然没有启用

C2 IP 地址方面,我们累计观察到以下 IP 地址被攻击者以年为单位长期占用:

  • 149.202.211.227
  • 173.208.219.26
  • 173.208.219.42
  • 173.208.219.50
  • 173.208.219.58
  • 185.53.8.22
  • 185.56.30.189
  • 185.56.30.189
  • 208.110.66.34
  • 217.79.182.212
  • 46.148.18.154
  • 69.197.128.34
  • 85.114.135.20
  • 91.215.158.118
  • 95.213.143.220

值得一提的是之前其他文章中披露的 C2 IP 地址已经被作者放弃使用,但是 185.53.8.22 这个IP地址没有被显式披露,作者就一直使用并未放弃。

感染过程中至少使用了6种 IoT 设备漏洞利用,相关的设备类型和漏洞利用如下:

详细技术分析文档

TheMoon-botnet.pdf

IoC

样本MD5和下载URL

2017-04-02 7bca40bba278b0021a87bcbc35b2e144  hxxp://domstates.su/nmlt1.sh  
2017-04-02 70461da8b94c6ca5d2fda3260c5a8c3b  hxxp://domstates.su/.nttpd  
2017-04-02 c8f17d7403ac5ff2896a713a7175ed19  hxxp://domstates.su/archi.txt  
2017-04-06 bc56979a0b381a791dd59713198a87fb  hxxp://domstates.su/nmlt1.sh  
2017-04-06 bc56979a0b381a791dd59713198a87fb  hxxp://domstates.su/archi.txt  
2017-04-09 11f060ffd8a87f824c1df3063560bc9e  hxxp://domstates.su/.nttpd,19-mips-le-t1  
2017-04-09 c0c1d535d5f76c5a69ad6421ff6209fb  hxxp://domstates.su/.nttpd,17-mips-be-t2  
2017-04-09 4d90e3a14ebb282bcdf3095e377c8d26  hxxp://domstates.su/.nttpd,18-arm-le-t1  
2017-08-11 106d9eb6a7c14f4722898b89ccacb17e  hxxp://domstates.su/nmlt1.sh  
2017-08-11 6f2fabf40ad39a5738e40dbe2c0a1b53  hxxp://domstates.su/.nttpd,20-mips-le-t1  
2017-08-11 b731e5136f0ced58618af98c7426d628  hxxp://domstates.su/.nttpd,19-arm-le-t1  
2017-10-03 9c79b0a54e70cf0a65ba058e57aee6f1  hxxp://domstates.su/nmlt1.sh  
2017-10-03 27002860c26c2298a398c0a8f0093ef6  hxxp://domstates.su/.nttpd,19-arm-le-t1  
2017-10-03 54631bbc01b934ee3dbcafdc6055599c  hxxp://domstates.su/.nttpd,18-mips-be-t2  
2017-10-05 e2673d513125bcae0865ccf0139cef0c  hxxp://domstates.su/nmlt1.sh  
2017-10-05 b8e16a37997ada06505667575f8577d6  hxxp://domstates.su/.nttpd,19-arm-le-t1  
2017-10-05 98c678ee656325b0aee1fe98f2ca6f55  hxxp://domstates.su/.nttpd,18-mips-be-t2  
2017-10-09 96219e644bf69ff7359ecc5e9687bcd0  hxxp://domstates.su/nmlt1.sh  
2017-10-09 f9d87043d2e99098f35a27237925992f  hxxp://domstates.su/.nttpd,20-arm-le-t1-z  
2017-10-09 089d304877930d3dfe232a2e98e63f6f  hxxp://domstates.su/.nttpd,19-mips-be-t2-z  
2017-10-14 275cc8ed50368fa72e46551e41824683  hxxp://domstates.su/nmlt1.sh  
2017-10-14 7fa47de462e743607eb9a2f93b7193ce  hxxp://domstates.su/.nttpd,20-mips-be-t2-z  
2017-10-16 810ea41f35f9fe40855900db9406d7a0  hxxp://domstates.su/nmlt1.sh  
2017-10-21 dbf24da7b27c12ae65c98675eb435c81  hxxp://domstates.su/nmlt1.sh  
2017-11-12 8ad5b160dd7a976044d6a2dd631efc4b  hxxp://domstates.su/nmlt1.sh  
2017-11-12 20f9f7ae0c6d385b0bedcdd618c478dc  hxxp://domstates.su/.nttpd,21-arm-le-t1-z  
2017-11-12 53494b8867654d06ea1b5aec0ed981c1  hxxp://domstates.su/.nttpd,21-mips-be-t2-z  
2017-11-12 016cc0097560bbbb07b4891256600eb8  hxxp://domstates.su/d8ug.sh  
2017-11-27 2ceb4822e1e0f72e8b88968165d9a99f  hxxp://domstates.su/nmlt1.sh  
2017-11-27 057d56b7de1e9460bd13c5c6eafd4559  hxxp://domstates.su/.nttpd,21-mips-le-t1

C2 IP

149.202.211.227  
173.208.219.26  
173.208.219.42  
173.208.219.50  
173.208.219.58  
185.53.8.22  
185.56.30.189  
185.56.30.189  
208.110.66.34  
217.79.182.212  
46.148.18.154  
69.197.128.34  
85.114.135.20  
91.215.158.118  
95.213.143.220