Mozi僵尸网络概述
Mozi僵尸网络是于2019年底首次出现在针对路由器和DVR 的攻击场景上的一种P2P僵尸网络。主要攻击物联网(IoT)设备,包括网件、D-Link和华为等路由设备。它本质上是Mirai的变种,但也包含Gafgyt和IoT Reaper的部分代码,用于进行DDoS攻击、数据窃取、垃圾邮件发送以及恶意命令执行和传播。
Mozi僵尸网络特征
僵尸网络”Mozi“ |
Mozi的代码与Mirai及其变体重叠,并复用Gafgy代码 |
Mozi是p2p网络,各台计算机处于对等的地位,有相同的功能,无主从之分,并使用Telnet弱口令和漏洞利用传播 |
Mozi使用签名验证识别同伙;主动上报新感染节点信息给Mozi botnet master |
Mozi使用自己扩展的DHT协议构建p2p网络;使用基于命令注入(CMDi)攻击,利用了loT设备的配置错误;Mozi没有将竞争对手从被侵入的系统中删除,而是抑制对手 |
Mozi.m样本分析
样本信息:
SHA256:bba18438991935a5fb91c8f315d08792c2326b2ce19f2be117f7dab984c47bdf
Magic | 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 |
类别 | ELF32 |
数据 | 2 补码,大端序 (big endian) |
Version | 1 (current) |
OS/ABI | UNIX - System V |
ABI 版本 | 0 |
类型 | EXEC (可执行文件) |
系统架构 | MIPS R3000 |
版本 | 0x1 |
入口点地址 | 0x41fb58 |
程序头起点 | 52 (bytes into file) |
阻断22、2323端口通信
在成功感染目标设备之后,Mozi为进行自我保护,会通过防火墙阻断SSH、Telnet端口,以防止被其他僵尸网络入侵:
放行自身使用端口
根据感染的设备,修改防火墙策略放行不同的端口来保证自身的通信:
Kill相关进程
同时读取/proc/net/tcp和/proc/net/raw来查找并KILL掉使用1536和5888端口的进程:
检测Watchdog
检查被感染的设备上是否存在Watchdog来避免重启:
更改进程名
检查被感染的设备上是否存在/usr/bin/python,如果存在,则将进程名称更改为sshd,不存在则更改为dropbear,以此来迷惑被攻击者。
内置的节点
分析过程中发现Mozi僵尸网络复用了部分Gafgyt家族僵尸网络的代码,其中内嵌了8个硬编码的公共节点信息,用于加入P2P网络,如下:
配置文件
在样本中还硬编码了一个使用XOR加密的配置文件及密钥:
通信标识
使用硬编码的秘钥解密后得到如下配置数据: [ss]bot[/ss][hp]88888888[/hp][count]http://ia.51.la/go1?id = 19894027&pu =http%3a%2f%2fbaidu.com/[idp][/count]。
新的Mozi节点向 http://ia.51.la/发送HTTP请求,来注册自身。
在通信流量中通过 1:v4:JBls来标记是否为Mozi节点发起的通信。
攻击的设备类型
所攻击的设备类型包括:GPON光纤设备、NetGear路由设备、华为HG532交换机系列、D-Link路由设备、使用Realtek SDK的设备、Vacron监控摄像机、斐讯路由器、 USR-G806 4G工业无线路由器等:
部分弱口令密码