MyKings:一个大规模多重僵尸网络

时间:2018-01-26

MyKings 是一个由多个子僵尸网络构成的多重僵尸网络,2017 年 4 月底以来,该僵尸网络一直积极地扫描互联网上 1433 及其他多个端口,并在渗透进入受害者主机后传播包括 DDoS、Proxy、RAT、Miner 在内的多种不同用途的恶意代码。360网络安全研究院将其命名为 MyKings,原因之一来自该僵尸网络的一个主控域名 *.mykings[.]pw。

MyKings 并不是一个新的僵尸网络,在360网络安全研究院之前有若干对该僵尸网络组件的分析(详见 友商披露情况> 一节),但在本次批露之前,各家分析都没有形成完整的拼图,也未见有效行动遏制该僵尸网络的扩散。

2017 年 5 月 23 日,360网络安全研究院第一次联系到新浪安全团队,并随后采取了多轮联合行动。新浪安全团队关闭了 MyKings 的上联 URL,并向360网络安全研究院提供了相关的访问日志。联合行动有效遏制了该僵尸网络的扩散,也希望能为后续其他联合行动扫清障碍。被关闭的这些上联 URL 如下:

 1.png
图1

Mykings 本身模块化,构成很复杂, 本 Blog 是个概述,具体技术分析的内容见文末的 2 份 PDF 文档。

MyKings 的感染范围和流行程度

统计 2017 年 5 月底前述被关闭的上联 URL 的访问来源 IP 数可知,独立来源 IP 总数1,183,911 个,分布在遍布全球 198 个国家和地区。其中来源 IP 超过 100,000 的国家和地区有四个,分别是俄罗斯、印度、巴西和中国。

2.png
图2

3.png
图3

另外,在域名流行程度方面,最为流行的域名是 up.f4321y.com :

该域名DNS被请求频率超过 2.5m/每日

该域名流行程度排行,历史最高79753 名,目前稳定在8万~9万之间。

4.png
图4

MyKings的组成

MyKings 是一组多个子僵尸网络的混合体,其简要结构如下图所示。

5.png
图5

6.png
图6

如上两图:

攻击者使用Scanner(msinfo.exe) 扫描渗透进入受害者主机后,会自动尝试下载恶意代码。下载 URL 中的IP 部分被编码在受控的 Blog 页面中;

Blog 页面中编码的 IP 地址是指向 Dropper(ups.rar) 的,这个配置项可以由攻击者在云端动态调整;部分 Blog 页面已经被前述联合行动关闭;

Dropper 服务器上提供了恶意代码和对应的启动脚本的下载,这些内容同样可以由攻击者在云端动态调整;

360网络安全研究院观察到所下载的恶意代码有 Mirai, Proxy,RAT和 Miner。

明确上述结构以后,使得360网络安全研究院可以将整个 MyKings 划分为多个子僵尸网络,并逐一标记各子僵尸网络的特征如下表:

7.png 
图7

各子僵尸网络相互之间的构建关系如下表所示:

8.png 
图8

从上述两个表中360网络安全研究院可以得出以下结论:

botnet.-1/1/2/3/4 各自拥有独立的上联控制端,仅在构建过程中需要 botnet.0 支撑,构建完成后的运营阶段可以各自独立、不再相互依赖;

botnet.0 支撑了多数其他子僵尸网络的构建过程。再考虑到360网络安全研究院在botnet.0 的所有代码中没有看到其他任何恶意行为,360网络安全研究院倾向认为 botnet.0 是一个专注做恶意代码推广的网络 。

botnet.1.proxy 的推广者不是 botnet.0,而是 botnet.-1,这是个例外。不过,上述推广行为仅在早期持续了很少一段时间,主要的恶意代码推广仍然由 botnet.0 完成。

MyKings.botnet.0.spreader

botnet.0 是居于核心地位的一个僵尸网络,除了传播其他僵尸网络以外,该僵尸网络并没有其他恶意行为,聚焦在扫描资源建设和建立后续其他僵尸网络上。该僵尸网络有以下特点:

服务器基础设施规模庞大

积极改进感染代码和能力

向后继僵尸网络的投入提供了定义良好的编程接口

botnet.0 的基础设施能力

botnet.0 拥有在几个小时动员 2400 个主机IP地址发起扫描的能力。如果360网络安全研究院假定每个主机 IP 地址需要 30 元人民币(5美元),这就意味着botnet.0一次性投入了超过7万元人民币(12,000美元)。

基于如此强大的服务器基础设施,当前 botnet.0 贡献了整个互联网范围内 1433 端口扫描的主要部分。而全部 1433 端口上的扫描,根据360网络安全研究院的 scanmon系统(scan.netlab.360.com)显示的数据,高峰时期在 30~40m/d,目前稳定在 1.5m/d,与 23 端口(Mirai / Hajime)在伯仲之间。

前面提到一次性动员的 2400+个主机IP地址包括:

123.207.0.0/161150个

122.114.0.0/161255个

360网络安全研究院检测到上述主机集中发起扫描的时间在 2017.04.25 08:00:00 附近,当时在 scan.netlab.360.com 上能看到的 1433 端口的扫描情况如下。

9.png 
图9

可以观察到当天上午8:00开始,1433端口上的扫描有了一个巨大的暴增。暴增前每日扫描事件约为5m/d,之后突增到30~40m/d。

观察这些活跃IP在C类段(/24)中的排名,前100的C类段中有99个来自前述两个B类段。考虑到这些IP地址段行为规律一致、时间窗口集中,360网络安全研究院将这些IP地址归入 MyKings 的资源池。

10.png 
10

botnet.0 的扫描和渗透能力

botnet.0 的扫描行为是由于其 msinfo.exe 进程发起的。该进程会拉取云端的 wpd.dat 配置文件,配合云端机制发起扫描,并且随着版本更迭不断改进自身扫描能力。

扫描的端口和服务如下:

o    1433 MSSQL

o    3306 MySQL

o    135 WMI

o    22 SSH

o    445 IPC

o    23 Telnet, mirai 僵尸网络

o    80 Web, CCTV设备

o    3389 RDP, Windows远程桌面

 扫描目标IP地址:生成机制越来越复杂

o    早期版本中, msinfo.exe 用来扫描的目标 IP 只有两种:从云端配置文件 wpd.dat 获取、在本地根据外网出口 IP 随机生成;

o    最新样本中,增加了一种更复杂的本地随机生成算法,并且会避开一批保留地址段。

扫描方式:不断演化,直至集成Masscan

o    早期版本中,支持 TCP Connect 和 TCP SYN 两种扫描方式,分别对应木马中实现的两个扫描模块;

o    早期版本的 msinfo.exe 中,两种扫描方式都是自己编写的,其中 TCP Connect 模块用到了TheUltimate TCP/IP 函数库中的 CUT_WSClient 类,而 TCP SYN 扫描模块则用到了 RAWSocket 相关的 DLL 文件并自己手动构造数据包;

o    最新样本中,在 TCP SYN 模块集成了知名全网端口扫描器 Masscan ,并且把目标 IP 配置成 0.0.0.0/0 ,发起对全网的高速扫描。

扫描载荷

o    弱口令字典比较丰富,近百条是针对 Telnet 和 MSSQLServer;

o    获得服务权限后,进行进一步攻击入侵的 Palyload 也很强大,其中针对 MSSQL Server 进行注入利用的 SQL 语句格式化后有近千行。

botnet.0 提供的后继僵尸网络接入界面

botnet.0 向后继僵尸网络提供的接入界面简明清晰,以至于从后继其他僵尸网络的角度来看,只需要按照接入界面要求配置安装包下载地址,以及安装包被下载后需要执行的脚本,安装包就会被下载执行。至于扫描和投入阶段的各种技术细节,可以交由 botnet.0 处理,自己完全不用关注。

上述接入界面包括:

灵活的云端配置文件:botnet.0.spreader的核心木马 msinfo.exe 用到的云端配置文件 wpd.dat ,是一个加密的 XML 文档,其中指定了暴破 Telnet 成功后用到来下载 Mirai 样本的 C2 地址、需要扫描的网络服务端口、暴破各个端口所需的口令、入侵各个网络服务时执行的部分命令以及需要扫描的目标 IP 范围等配置。这些配置都可以根据后继僵尸网络的要求灵活更改。

模块化编程架构的msinfo.exe : 主要是其 Crack 模块中通过继承一个基类 Task_Crack ,实现其中定义好的一组连接、暴破、执行命令等功能的函数接口即可定义一个 Task_Crack_XXX 子类,继而实现针对一个新的网络服务的攻击模块。Crack 模块与 wpd.dat 配置文件中定义的待扫描网络服务端口相对应,可以灵活更改针对不同网络服务的 Crack 功能。

其他辅助云端配置文件:msinfo.exe与 botnet.0.spreader 用到的另外一个辅助木马 ups.exe ,会涉及其它云端配置文件,如 update.txt、ver.txt、my1.html、test.html、kill.html、clr.txt等。这些也都可以灵活配置,方便攻击者控制在下一阶段需要下载什么样本、执行什么样的命令。

被推广的其他子僵尸网络

botnet.0 推广的其他僵尸网络包括:

botnet.-1.mirai

botnet.1.proxy

botnet.2.rat

botnet.3.miner

botnet.4.rat

360网络安全研究院使用序号来标记首次发现的顺序、后缀标识给子僵尸网络的用途。

botnet.-1.mirai

cnc.f321y.com(123.51.208.155:23) 是一个 mirai 僵尸网络,它与 MyKings 的同源关系在卡巴斯基的早期文章中已经论证。

360网络安全研究院追溯到该C2发出的第一条攻击指令,是在2016-12-20发出的。

11.png 
图11

2016-12-20 20:36123.51.208.155:23|http_flood|118.193.139.184:54321

值得一提的是指令中受害者IP地址118.193.139.184 上,曾经有若干 C2 域名同属 MyKings 控制:

2016-04-0115:55:56 2016-12-27 19:14:42 pc.kill1234.com 118.193.139.184

2016-04-2413:07:50 2016-12-27 19:02:22 xq.kill1234.com 118.193.139.184

botnet.1.proxy

botnet.1.proxy 是一个代理网络。这个网络不是由botnet.0.spreader直接创建,而是通过 botnet.-1.mirai 间接建立的。360网络安全研究院观察到以上建立过程发生在 2017.05.05-2017.05.17 之间

12.png 
图12

botnet.0.spreader 在投递一组特殊的 mirai 样本,建立botnet.-1.mirai

botnet.-1.mirai 除了运行mirai自身的行为,还会下载得到 do.arm 系列样本

do.arm 系列样本运行起来以后,会在本机建立socks proxy,并将所生成的随机密码发回给 211.23.167.180:9999

至此,以211.23.167.180:9999 为核心的 botnet.2.proxy 就建立起来了。

为了确认上述proxy 网络会被利用,360网络安全研究院模拟了一个 bot 向 botnet.2.proxy C2 提供了一个密码。之后,botnet.2.proxy向360网络安全研究院模拟的 bot 发出测试请求,要求利用 proxy 获取www.baidu.com 网页。

13.png 
图13

图中显示,botnet.2.proxy执行的动作包括:

提供了用户名: 固定为admin

提供了口令:???????? 。这个口令是360网络安全研究院之前随机生成、并提供给 botnet.2.proxy 的。这里口令做了掩码处理,以减少360网络安全研究院工作IP的暴露风险

要求访问 http://www.baidu.com

在得到了回应的页面后,botnet.2.proxy 沉寂不再与360网络安全研究院控制的bot联系。

botnet.2.rat 一个RAT僵尸网络

botnet.2.rat 在 Cyphort 的文档中已经批露,概要信息如下:

是由botnet.0.spreader 直接建立的

投递样本 sha256sum:e6fc79a24d40aea81afdc7886a05f008385661a518422b22873d34496c3fb36b

样本中包含C2 pc.5b6b7b.info

上述情况与360网络安全研究院的观察一致。

botnet.3.miner 一个挖矿网络

360网络安全研究院观察到的botbet.3.miner 的特征包括:

MinerPool:pool.minexmr.com:5555

WalletID:

1.  47Tscy1QuJn1fxHiBRjWFtgHmvqkW71YZCQL33LeunfH4rsGEHx5UGTPdfXNJtMMATMz8bmaykGVuDFGWP3KyufBSdzxBb2--> Total Paid: 2000+ xmr

2.  45bbP2muiJHD8Fd5tZyPAfC2RsajyEcsRVVMZ7Tm5qJjdTMprexz6yQ5DVQ1BbmjkMYm9nMid2QSbiGLvvfau7At5V18FzQ--> Total Paid: 6000+ xmr

MinerPoolPass:x

在火绒实验室的文档里提及了挖矿僵尸网络,但是未给出特征细节,无法判定是否 botnet.0 仅推广了一个挖矿网络。

botnet.4.rat 另一个RAT僵尸网络

botnet.4.rat 没有被其他安全厂商批露过。概要信息如下:

下载链接:http://104.37.245.82:8888/nb.dat

样本中包含C2 nb.ruisgood.ru

近况

2018.1.17 开始,针对 1433 端口的扫描流量有明显的下降趋势,从360网络安全研究院对此 Botnet 的跟踪来看,此前支撑该 Botnet 的主要 C2 之一 67.229.144.218 停止服务。随后,2018.1.23 凌晨360网络安全研究院发现一个新的 C2 IP 上线: 67.229.99.82。

另外,360网络安全研究院发现该团伙还在陆续更新 Botnet 后面其他的基础设施

新的样本下载 FTP 服务器 ftp://ftp.ftp0118.info/,口令 test:1433;

新的样本&云端配置文件服务器 down.down0116.info;

新的新浪博客账号以及 3 篇新的新浪博客 Post。

在2018.1.17~2018.1.21 这段时间,针对 1433 端口的扫描流量有一个明显的波谷,360网络安全研究院怀疑这与该团伙的基础设施变动有直接关系:

14.png
14

友商披露情况

已经有多家友商披露了MyKings 的部分内容,按照360网络安全研究院观察到的报告时间顺序分别是

GReAt,Kaspersky, New(ish) Mirai Spreader Poses New Risks, 2017.02

Cyphort, EternalBlue Exploit Actively Used to Deliver RemoteAccess Trojans, 2017.05

东巽科技:Mirai木马“借道”新浪博客攻击windows服务器,2017.07

火绒实验室:彻底曝光黑客“隐匿者” 目前作最多的网络攻击团伙 2017.07

360安全卫士:悄然崛起的挖矿机僵尸网络:打服务器挖价值百万门罗币 2017.9

特别致谢

在整个事件处置过程中,360网络安全研究院得到了来自新浪安全团队(sec.sina.com.cn)的帮助,获得了原始访问数据,并联合关闭了该僵尸网络的上联通道,特此感谢。

详细技术分析

该 Botnet 相关的主要样本详细分析和具体样本相关的 IoC,可以查看以下两份详细技术分析文档:

Mykings-botnet.0 详细分析.pdf

Mykings-botnet.o__ups.rar 详细分析.pdf

IoC

Botnet.0.spreaderConfiguration 
hxxp://down.mykings.pw:8888/my1.html 
hxxp://down.mykings.pw:8888/ups.rar 
hxxp://down.mykings.pw:8888/item.dat 
hxxp://up.mykings.pw:8888/ver.txt 
hxxp://up.mykings.pw:8888/ups.rar 
hxxp://up.mykings.pw:8888/update.txt 
hxxp://up.mykings.pw:8888/wpdmd5.txt 
hxxp://up.mykings.pw:8888/wpd.dat 
hxxp://down.f4321y.com:8888/kill.html 
hxxp://down.f4321y.com:8888/test.html 
hxxp://down.f4321y.com:8888/ups.rar 
hxxp://down.f4321y.com 
hxxp://down.f4321y.com:8888/my1.html 
hxxp://js.f4321y.com:280/v.sct 
hxxp://up.f4321y.com 
hxxp://up.f4321y.com:8888/ver.txt 
hxxp://up.f4321y.com:8888/ups.rar 
hxxp://up.f4321y.com:8888/update.txt 
hxxp://up.f4321y.com:8888/wpdmd5.txt 
hxxp://up.f4321y.com:8888/wpd.dat 
hxxp://up.f4321y.com:8888/ups.rar 
hxxp://down.b591.com:8888/ups.exe 
hxxp://down.b591.com:8888/ups.rar 
hxxp://down.b591.com:8888/test.html 
hxxp://down.b591.com:8888/ups.rar 
hxxp://down.b591.com:8888/ups.exe 
hxxp://down.b591.com:8888/cab.rar 
hxxp://down.b591.com:8888/cacls.rar 
hxxp://down.b591.com:8888/kill.html 
hxxp://down2.b591.com:8888/ups.rar 
hxxp://down2.b591.com:8888/wpd.dat 
hxxp://down2.b591.com:8888/wpdmd5.txt 
hxxp://down2.b591.com:8888/ver.txt 
hxxp://dwon.kill1234.com:280/cao.exe 
hxxps://down2.b5w91.com:8443 
hxxp://down.mysking.info:8888/ok.txt 
hxxp://23.27.127.254:8888/close.bat 
hxxp://js.mykings.top:280/v.sct 
hxxp://js.mykings.top:280/helloworld.msi 
hxxp://wmi.mykings.top:8888/kill.html 
hxxp://wmi.mykings.top:8888/test.html 
hxxp://209.58.186.145:8888/close2.bat 
hxxp://67.229.144.218:8888/update.txt 
hxxp://67.229.144.218:8888/ps.jpg 
hxxp://67.229.144.218:8888/update.txt 
hxxp://67.229.144.218:8888/my1.html 
hxxp://67.229.144.218:8888/ver.txt 
hxxp://67.229.144.218:8888/test.dat 
hxxp://down.down0116.info --> new 
hxxp://down.down0116.info/up.rar --> new 
hxxp://down.down0116.info/down.txt --> new 
fxp://ftp.ftp0118.info/a.exe --> new

botnet.-1.mirai 
hxxp://100.43.155.171:280/mirai/

botnet.1.proxy 
hxxp://100.43.155.171:280/do/

botnet.2.rat 
hxxp://67.229.144.218:8888/test1.dat 
hxxp://47.88.216.68:8888/test.dat 
hxxp://47.52.0.176:8888/item.dat 
hxxp://118.190.50.141:8888/test.dat

botnet.3.miner 
hxxp://104.37.245.82:8888/32.rar 
fxp://fxp.oo000oo.me/s.rar 
hxxp://198.148.80.194:8888/0121.rar --> new 
fxp://ftp.ftp0118.info/s.rar --> new

botnet.4.rat 
hxxp://104.37.245.82:8888/nb.dat

*本文作者:360安全卫士,转载请注明来自FreeBuf.COM


联系老师 微信扫一扫关注我们 15527777548/18696195380 在线咨询
关闭