Mirai僵尸网络自2016年爆发后通过物联网设备发起大规模网络攻击对全球基础设施带来了很大的威胁。Mirai源码公开后,有许多黑客根据Mirai创建了自己的僵尸网络,每个变种都加入了一些不同的特征。其中一些僵尸网络用于破坏性目的,一些用来收集被黑的设备的算力来进行加密货币挖矿攻击。
Bitdefender研究人员近期追踪了一个名为LiquorBot的Mirai僵尸网络变种,但分析代码发现该僵尸网络可能仍在开发中,并且最近还加入了门罗币挖坑特征。
分析发现LiquorBot是用Go语言写的,与C语言代码相比。LiquorBot使用了与其他Mirai变种类似的C2服务器,在释放的脚步中有些特征是重合的,也就是说攻击者在不同的活动中使用了LiquorBot和Mirai变种。
LiquorBot IoT僵尸网络样本最早是在2019年5月感染了Bitdefender的蜜罐系统。此后,Bitdefender研究人员追踪了该样本的整个开发过程以及与其相关的特征更新。
主要发现
· 用Go语言重写Mirai
· 跨平台编译,适用多个CPU架构(ARM, ARM64, x86, x64, MIPS)
· 加入加密货币挖矿特征
· 利用特定路由器型号中的领导和SSH暴力破解来进行传播
时间轴
图1中展示了整个僵尸网络的发展,其中列出了SHA-1哈希值,主要包的发展路径和第一次捕获样本的时间。虽然每个版本都有与多个CPU架构相关的版本,都研究人员只收集了ARM64的哈希值。
图1 –LiquorBot样本时间轴
其中一些样本中包含版本字符串,但好像并不能准确地反映僵尸网络的版本。比如10月1日的样本标记为0.2,其中引入了加密货币挖矿特征。该特征并不在7月24日的样本中,但7月的样本标记的版本为0.6,其中加入了传播方法。
释放脚本
LiquorBot是一个跨平台架构的僵尸网络,可以攻击包括ARM、ARM64、x86、x64和MIPS在内的一系列CPU架构。在感染过程中,释放器脚本会下载所有的僵尸payload,并没有根据CPU架构有任何的不同。
释放器脚本本身很短,包括从攻击者控制的服务器提取二进制文件。脚本的另一个特征是使用#!/bin/sh,在安装过程中指向优先的POSIX兼容的系统时要比#!/bin/bash更加可靠。此外,因为脚本本身没有加载任何bash支持的特征,因此恶意软件开发者选择变量sh的原因可能是系统脚本应该使用的默认shell。
图2 – 释放器代码
攻击者使用的挖矿机配置脚本看似根据CPU挖矿算法设置了不同的哈希速率,如图3所示。
图3 – 挖矿机配置代码
特征
与Mirai类似,LiquorBot也混淆其使用的字符串,并保存在一个图中。每次访问记录时,就会在字符串的每个字符后面加上0x51来解密字符串。下图列出了LiquorBot的解密字符串。
图4 – LiquorBot字符串图
另一个来自Mirai的特征通过尝试将端口绑定来确保一台机器上只运行一个僵尸主机。作为net.Listen的主机和端口参数来自于配置图中。僵尸主机的其他版本将端口设置为42007。
图5 – 感染命令
执行后,僵尸主机会重启,以将新进程伪装为sshd daemon。
僵尸主机会通过写入以下内容到/etc/resolv.conf中来更新DNS解析:
图6 – DNS Namesevers
僵尸主机的整个生命周期中还有一个清理的阶段,在该阶段,僵尸主机会删除所有释放的文件(/tmp/.lmr,/tmp/.ldrop, /tmp/config.json),并清除bash历史。
僵尸主机会与多个服务器进行通信:
· C2; 僵尸主机报告有漏洞的设备给服务器,并从服务器接收命令。
· 挖矿服务器。
· 含有二进制文件的服务器。
在僵尸网络发展进化的过程中,用作这些目的的域名也在不断变化:
· wpceservice.hldns.ru
· ardp.hldns.ru
· bpsuck.hldns.ru
LiquorBot会周期性地通过HTTP GET方法来ping C2服务器:
图7 – LiquorBot C2资源
查询的参数表示设备和僵尸的指纹数据:操作系统、僵尸主机版本、CPU架构、CPU数等。
C2会用以下命令来响应:
· download
· rget
· exec
· shutdown
第一个命令会从给定的URL下载资源到/tmp/.ldrop中。第二个命令的作用除了下载外,还会用sh -c来执行文件。
挖矿机会下载挖矿机到/tmp/.lmr中,并配置数据格式化并写入/tmp/config.json中,然后运行挖矿机。配置数据就是配置图中发现的JSON数据,包括挖矿机的地址和用户名。
传播
研究人员分析LiquorBot样本后发现了其中传播的方法。大多数版本使用SSH暴力破解作为唯一的传播方法。7月24日的样本中不仅使用了SSH暴力破解,还使用了有漏洞的路由器中的漏洞利用。
LiquorBot利用的漏洞包括CVE-2015-2051, CVE-2016-1555, CVE-2016-6277,和不同路由器型号中发现的命令注入和远程代码执行漏洞,包括CVE-2018-17173, CVE-2017-6884, CVE-2018-10562, CVE-2017-6077, CVE-2017-6334, CVE-2016-5679, CVE-2018-9285, CVE-2013-3568, CVE-2019-12780。
还没有评论,来说两句吧...