应急响应与分析

安天是中国网络安全应急响应体系中重要的企业节点,打造了“第一时间启动,同时应对多线威胁,三体系联动,四作业面协同”的应急体系,在高级持续性威胁(APT)的发现、监测和分析方面进行了大量工作。

针对某云平台服务器的“云铲”挖矿木马事件分析

时间 :  2021年02月01日  来源:  安天CERT


1、概述


        近日,安天CERT联合哈尔滨工业大学联合实验室通过网络安全监测发现了一起Linux系统挖矿木马事件。该挖矿木马以硬编码了一个隶属于某云平台网段的IP地址作为起始地址的扫描策略,分析人员判定该挖矿木马对某云平台服务器存在一定的针对性,安天CERT基于此特点将该事件中的挖矿木马命名为“云铲”。

        该挖矿木马运行后通过服务器下载三个文件(主模块、恶意链接库、开源挖矿程序)。主模块功能为对扫描到目标进行SSH暴力破解,进而传播该挖矿木马;运行下载的挖矿程序进行挖矿;将恶意链接库路径写入预加载文件中,实现屏蔽相关命令对恶意文件实体和恶意进程的查找;将SSH公钥写入目标系统root用户.ssh目录中,实现以root用户对该系统的长期访问。主模块初始阶段扫描以其硬编码的某云平台服务器IP地址作为起始地址,包括该IP地址的同网段和相邻网段IP地址,后续随机扫描外网段IP地址及样本所在网络的外网IP地址,同时对内网相关IP进行扫描。

        安天CERT通过对该起事件的详细分析,在报告中给出了相应的检测、处置和加固方案。

       特别致谢:中国科学技术大学网络信息中心针对本篇报告提供的相关帮助。

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

        安天探海威胁检测系统(PTD) 可以在流量中检测该木马的传播,对横向移动过程中的主机发现行为和端口扫描行为进行检测。同时支持对各类具有控制能力的协议如SSH、TELNET、RDP等协议的暴力密码猜解方式进行检测,有效发现此类横向移动传播方式。

2、样本分析


        经分析研判,文件bioset为该挖矿木马的主模块,其在目标主机运行后首先针对相关目标进行SSH暴力破解,同时在/root/.ssh/目录下创建authorized_keys文件,并将SSH公钥信息写入其中,以便后续对该目标主机的访问。其次下载并运行挖矿程序(kthreadd)和新的主模块(bioset),同时下载了恶意链接库文件(libcurl.so.2.17.0),将该文件写入/etc/ld.so.preload中,实现针对相关命令的预加载,进而屏蔽这些命令对该挖矿木马相关文件、进程的查看。

表 2-1挖矿木马相关文件

文件名

hash

备注

bioset

1EB3662AB4D710EF72450DAC9087A96C

主模块

kthreadd

7275D8B380E6FACC7C5420603F2672CC

开源xmrig(挖矿程序)

libcurl.so.2.17.0

F8F745BC28CF24170B422F9B209BEACB

恶意链接库文件

authorized_keys

A4BCD006B681D3EF99C3C28BE376116E

攻击者SSH公钥



2.1 主模块分析

2.1.1 下载恶意文件bioset ,kthread,libcurl.so.2.17.0

表 2-2主模块样本标签

病毒名称

Trojan/Linux.BitCoinMiner

原始文件名

bioset

MD5

1EB3662AB4D710EF72450DAC9087A96C

文件格式

BinExecute/Linux.ELF

文件大小

1.42 MB (1,490,328 字节)

数字签名

加壳类型

upx

VT首次上传时间


        该模块连接到远程服务器http://www.fullskystar.top,该域名注册时间为2020年10月14日,通过POST请求指定参数,下载文件。

表 2-3提交参数

参数

所下载文件

{

         "key":        "0FC2C00124A496A2D8EC43F60CDA466026E646214A2ACAF6E0C9BF43D44C388A93CA18CDAD5B13D190F084EE023A318CD3842279CEE44616F173F04F4EFBC2DF",

         "info":        "2FB42DEF495B310F"

}

kthreadd

{

         "key":        "0FC2C00124A496A2D8EC43F60CDA466026E646214A2ACAF6E0C9BF43D44C388A93CA18CDAD5B13D190F084EE023A318CD3842279CEE44616F173F04F4EFBC2DF",

         "info":        "2D1468E16B0C19D6"

}

bioset

{

         "key":        "0FC2C00124A496A2D8EC43F60CDA466026E646214A2ACAF6E0C9BF43D44C388A93CA18CDAD5B13D190F084EE023A318CD3842279CEE44616F173F04F4EFBC2DF",

         "info":        "002A04B9C955C4F1"

}

libcurl.so.2.17.0



2.1.2 添加攻击者的SSH公钥,达到长期控制该系统的目的

图 2-1将密钥信息写入文件


        攻击者公钥: