首次注意到一个新的蠕虫是正在清理 com.ufo.miner。在完成了清理动作后,该蠕虫会等待来自C2(musl.lib,66.42.57.45:7000, Singapore/SG)的下一步指令。于是将该蠕虫命名为fbot,主要是因为该蠕虫的主要执行模块使用了这个名字。该C2域名的解析,需要通过EmerDNS,一个emercoin.com旗下的区块链DNS完成。
com.ufo.miner 与之前相关多次报告中的ADB.Miner类似,利用adb安卓调试接口传播,并挖矿。ADB.Miner是在今年二月首次出现的报告的,自那以后,类似的其他僵尸网络已经长期传播,感染了包括Amazon FireTV 在内的多种设备。
最后,新的蠕虫Fbot与臭名昭著的 Satori 僵尸网络有关联。
分析
FBot的恶意样本通过 adb 安卓系统调试接口投入,这与之前的 ADB.Miner 的投入方式一致。
投入载荷会下载执行 hxxp://188.209.52.142/c,或者是hxxp://188.209.52.142/w。这两个脚本的区别仅在下载方式是wget/curl,下文不再区分。两个脚本的主体功能一致,包括:
1.尝试进一步从 188.209.52.142 下载 fbot.{arch} 恶意样本;
2.卸载 com.ufo.miner,一个类似ADB.Miner的挖矿组件;
3.完成自身清理工作。
该脚本的详细内容如下:
下载得到的 fbot.{arch} 是个mirai的变种,主要特点包括:
C2:musl.lib:7000,当前在EmerDNS上的解析地址为 66.42.57.45,Singapore/SG Singapore
扫描和传播:针对 TCP 5555 adb 端口扫描。扫描成功后,会下载hxxp://188.209.52.142/c,完成对蠕虫自身的传播。
进程清理:样本中会遍历 /proc/pid/exe 目录下面的特定进程,如smi、xig、rig等。枚举得到符合条件的进程后,会杀掉该进程。
该变种保留了 mirai 僵尸网络的DDoS功能,但我们尚未检测到该C2有发出DDoS攻击指令。
扫描阶段的载荷如下:
枚举进程列表
主控域名 musl.lib 在EmereDNS上的解析
C2域名musl.lib不是一个标准的DNS域名。其顶级域 .lib 并没有在 ICANN 注册,也不能被通用的DNS系统解析,实际是由emercoin.com旗下EmerDNS系统解析。EmerDNS是一个基于区块链的DNS系统,在其官方网站上宣称,EmerDNS建立与区块链技术之上,完全去中心化,只有记录创建者才能操作记录内容。
当用户要想访问 .lib 的网站时,可以有几种选择。由于公共DNS服务商OpenNIC的支持,用户可以通过OpenNic公司旗下的公共DNS服务器访问 .lib 网站,或者用户可以给浏览器安装特定器扩展,或者是自行架设Emer节点。
Fbot蠕虫作者选择了OpenNic公司的公共DNS服务。蠕虫中硬编码了一组OpenNic公共服务器IP地址,被感染的机器通过向这些服务器请求,得到 musl.lib 的EmerDNS解析IP。样本中硬编码的DNS解析服务器至少包括:
当前 musl.lib 的EmerDNS解析结果如下:
读者可以利用如下命令重现上述解析过程:
笔者猜测恶意代码使用EmerDNS的原因,可能是下列之一:
1.提高安全分析人员追踪的难度;
2.安全分析人员难以通过与ICANN成员单位的合作来 sinkhole 该域名;
这样,恶意代码作者可以长期保持对该僵尸网络的控制。
Fbot 与 Satori 僵尸网络的关系
Fbot 蠕虫与 Satori 僵尸网络的关系,展现于下图中:
在上图中:
Fbot的主控IP地址66.42.57.45,与Satori的主控域名 rippr.cc,通过和注册邮箱 ukrainianhorseriding.com/village@riseup.net 相连
另外,27.102.115.44 这个IP与Fbot也有关系
如图中所示该IP通过 4eouhp79tl5zqs2tbqee.ukrainianhorseriding.com 域名与Fbot主控IP相连;
而且,该IP上的URL布局也与Fbot的下载服务器188.209.52.142的URL布局基本一致,见文末IoC。
综上,研究人员认为图中展示的域名、IP、URL、样本构成了强烈内聚的一簇,Fbot可以归属到Satori。