Mozi是一个使用类BitTorrent网络感染物联网设备的P2P僵尸网络。Mozi利用弱Telnet口令和近10个未修复的iot设备漏洞来执行DDoS攻击、数据窃取、命令和payload执行。
微软IoT安全研究人员最近发现Mozi 僵尸网络不断进化,已经在Netgear、华为、中兴等厂商的网关上实现了驻留。
感染路由器后,僵尸网络可以通过HTTP 劫持和DNS 期盼来发起中间人攻击以黑掉终端,并署勒索软件。图1是Mozi僵尸网络中利用的漏洞和使用的驻留技术。
图 1: Mozi僵尸网络攻击流
新驻留功能
除了已知的P2P和DOS功能外,研究人员还发现Mozi 僵尸网络的多个新功能。通过攻击Netgear、华为、中兴网关,恶意软件采取措施来增加设备重启后驻留的可能性,或被其他恶意软件干扰的可能性。
实现提权驻留
恶意软件有一个特殊的行为就是检查/overlay 文件夹的检查,以及恶意软件是否有/etc文件夹的写权限。本例,恶意软件会利用CVE-2015-1328漏洞。
成功利用该漏洞使得恶意软件具有以下文件夹的访问权限:
/etc/rc.d
/etc/init.d
然后会执行以下动作:
·在这些文件夹中放置名为S95Baby.sh的脚本文件。
·脚本运行/usr/networks文件或/user/networktmp文件。这些都是可执行文件的副本。
·如果没有权限就将脚本加入到/etc/rcS.d和/etc/rc.local中。
ZTE设备
对于中兴设备,恶意软件会检查/usr/local/ct文件夹是否存在,这表明设备是中兴路由器设备。然后会执行以下动作:
复制其他实例(/usr/networks) 到/usr/local/ct/ctadmin0 中,这将为恶意软件提供驻留功能;
删除文件/home/httpd/web_shell_cmd.gch。该文件可以用于通过CVE-2014-2321漏洞利用获取访问权限,删除的目的是以防下一步攻击活动。
执行以下命令:
sendcmd 1 DB set MgtServer 0 Tr069Enable 1
sendcmd 1 DB set PdtMiddleWare 0 Tr069Enable 0
sendcmd 1 DB set MgtServer 0 URL http://127.0.0.1
sendcmd 1 DB set MgtServer 0 UserName notitms
sendcmd 1 DB set MgtServer 0 ConnectionRequestUsername notitms
sendcmd 1 DB set MgtServer 0 PeriodicInformEnable 0
sendcmd 1 DB save
华为设备
执行以下命令会修改密码和禁用华为路由器设备的管理服务器,还可以预防路由器通过管理服务器访问设备:
cfgtool set /mnt/jffs2/hw_ctree.xml
InternetGatewayDevice.ManagementServer URL http://127.0.0.1
cfgtool set /mnt/jffs2/hw_ctree.xml
InternetGatewayDevice.ManagementServer ConnectionRequestPassword acsMozi
为提供额外一层的驻留,恶意软件还会创建以下文件:
/mnt/jffs2/Equip.sh
/mnt/jffs2/wifi.sh
/mnt/jffs2/WifiPerformance.sh
预防远程访问
恶意软件会拦截以下TCP端口:
·23—Telnet
·2323—Telnet alternate port
·7547—Tr-069 port
·35000—Tr-069 port on Netgear devices
·50023—Management port on Huawei devices
·58000—Unknown usage
这些端口可以用来获取设备的远程访问。关闭端口可以增加恶意软件存活的可能性。
脚本注入器
脚本注入器可以扫描文件系统中除以下路径外的.s件:
/tmp /dev /var /lib /haha /proc /sys
并在每个文件中都加一行。这一行可以让脚本从/usr/networks运行恶意软件的副本。这可以增加恶意软件在不同设备上的存活率。
流量注入和DNS欺骗
恶意软件可以从分布式哈希表(DHT,distributed hash table)网络中接收命令。DHT是用于去中心化通信的P2P协议。这些命令会接收和保存在一个文件中,其中分是加密的。该模块只在具有IPv4 转发功能的设备上运行。恶意软件还可以检查/proc/sys/net/ipv4/ip_forward 是否等于1。该模块运行在UDP 53和TCP 80端口。
DNS欺骗
Mozi会接收一个非常简单的用于欺骗的DNS名列表。其结构如下:
每个DNS请求都会以欺骗的IP会响应。这是一种将流量重定向到攻击者基础设施的高效技术。
更多技术分析及来源:https://www.microsoft.com/security/blog/2021/08/19/how-to-proactively-defend-against-mozi-iot-botnet/