导语:深信服威胁情报团队在云蜜罐中捕获到Sysrv-hello挖矿家族的最新变种,新增了SSH爆破、PostgreSQL RCE(CVE-2019-9193)和Struts2 RCE(CVE-2017-5638)攻击模块,进一步扩大了影响范围和危害,目前监测到失陷主机数量正呈上升趋势。
概述
近日,深信服威胁情报团队在云蜜罐中捕获到Sysrv-hello挖矿家族的最新变种,作者于7月10日和7月21日进行了多次更新,该病毒家族的攻击模块达到了18个,在本次更新中,新增了SSH爆破、PostgreSQL RCE(CVE-2019-9193)和Struts2 RCE(CVE-2017-5638)攻击模块,进一步扩大了影响范围和危害,目前监测到失陷主机数量正呈上升趋势。
Sysrv-hello家族最早出现于2020年12月份,至今其版本迭代已数十次,不断的新增攻击模块,是一个新型且十分活跃的家族。在最新的威胁情报分析中,我们发现了其最新发展之一,包括前置Payload去除了卸载云主机安全软件的模块以及新的自建钱包地址,并且其入侵手法基本覆盖到大多数政企单位常用的Web服务,危害严重,深信服威胁情报团队提醒相关运维人员及时更新补丁做好防护。
本次关键更新
1. 前置Payload去除了之前新增的卸载云主机安全软件模块和a.py和BrowserUpdat.exe模块;(疑似版本回溯)
2. 删除部分漏洞利用模块,并新添SSH爆破、PostgreSQL RCE(CVE-2019-9193)和Struts2 RCE(CVE-2017-5638)攻击模块,目前该版本共有18种攻击模块,并且仍在不断迭代更有效的横向攻击模块;
3. 更换矿机地址为自己的C2服务器,疑似使用自建矿池。
病毒攻击流程
攻击活动
通过深信服云端数据分析,发现该病毒近期扩散十分迅速,短期内有大量主机中招。如下图Sysrv-hello病毒近期的感染量,可以看到病毒在7月2-7日进行了大规模入侵活动:
样本关联
通过威胁情报图数据库进行样本关联,发现大量的同家族威胁样本,该病毒的特征属于更新快、持续迭代演进的病毒家族:
病毒样本分析
Sysrv-hello攻击目标同时覆盖Windows和Linux操作系统,针对两平台除前置Payload不同外,其他模块基本一致。其中主体程序sys可执行文件(横向传播模块)是由Golang编写的,因此具备跨平台性;矿机使用的是开源XMRig矿机。下面将分别介绍Windows和Linux的前置Payload以及主体程序sys。
Windows版本
入侵Windows系统成功后,植入名为ldr.ps1的PowerShell脚本来执行恶意命令。ldr.ps1脚本主要功能为:
1. 关闭防火墙并结束自身老版本病毒的进程;
2. 通过监测其他挖矿家族常用端口来清除竞品挖矿程序;
3. 从C2:http[:]//194.145.227.21/sys.exe下载并执行主体程序sys.exe,并通过创建计划任务和写注册表来实现本地持久化。
Linux版本
入侵Linux系统成功后,植入名为ldr.sh的Shell脚本来执行恶意命令。ldr.sh脚本功能大致与Windows下的ldr.ps1大同小异,但功能更为完善。如:
1. 关闭防火墙并结束自身老版本病毒的进程;
2. 通过监测其他挖矿家族常用端口来清除竞品挖矿程序;
3. 从C2:http[:]//194.145.227.21/sys.x86_64下载并执行主体程序。
除此之外ldr.sh,还会读取/、/root和/home目录下的SSH私钥及配置文件,并结合获取到的SSH密钥进行爆破。当爆破成功后,便在新的受害主机上下载并运行ldr.sh脚本,代码如图:
主体sys程序(横向传播模块)
由于主体sys程序是由Golang编写的,因此不同平台前置Payload下载的sys.exeh和sys.x86_64其代码和功能差距不大,因此本文将以Windows版本进行介绍。
通过脚本还原Go语言的函数和字符串之后,能定位出作者的编译路径和作者的用户名为K:
创建端口互斥体
根据受害主机名生成随机端口,并将该随机端口作为互斥体,当检测到该端口已处于监听状态便退出程序,来确保唯一进程执行。
横向传播
本次捕获到的Sysrv-hello一共包含18个横向攻击模块,根据随机生成的IP进行端口扫描,判断目标开放的服务,来确认使用的攻击方式。18种横向攻击方式如下表:
端口 | 漏洞 |
---|---|
9999 | XXL-JOB executor 未授权访问漏洞 |
8888 | Jupyter未授权访问漏洞 |
80 | Laravel Debug mode RCE(CVE_2021_3129) |
80/8080 | Tomcat 弱口令爆破 |
80/8080 | Jenkins RCE(CVE-2018-1000861) |
8081 | Nexus Repository Manager 3 RCE(CVE-2019-7238) |
7001 | WebLogic RCE CVE-2020-14882 |
6379 | Redis弱口令爆破 |
9001 | Supervisord远程命令执行漏洞(CVE-2017-11610) |
80 | JBoss反序列化漏洞(CVE-2017-12149) |
80 | ThinkPHP5 RCE |
5432 | PostgreSQL RCE(CVE-2019-9193) |
8090 | Confluence RCE(CVE-2019-3396) |
22 | SSH 爆破 |
80 | Struts2-s2-045 RCE (CVE-2017-5638) |
80 | phpunit RCE(CVE-2017-9841) |
8088 | Hadoop YARN REST API未授权漏洞利用 |
80 | Wordpress-XMLRPC暴力破解 |
注:其中 加粗 的为本次版本新增的横向攻击模块。
新增横向攻击模块
新增PostgreSQL RCE(CVE-2019-9193)漏洞利用模块,如图:
新增struts2-s2-045 RCE(CVE-2017-5638)漏洞利用模块:
新增SSH爆破:
历史漏洞利用模块
XL-JOB executor 未授权访问漏洞利用模块:
Jupyter未授权访问漏洞利用模块:
Laravel Debug mode RCE(CVE_2021_3129)漏洞利用模块:
Tomcat 弱口令爆破模块:
Jenkins RCE CVE-2018-1000861漏洞利用模块:
Nexus Repository Manager 3 RCE(CVE-2019-7238)漏洞利用模块:
WebLogic RCE (CVE-2020-14882)漏洞利用模块:
Redis未授权写漏洞利用模块:
Supervisord远程命令执行漏洞(CVE-2017-11610)利用模块:
JBoss反序列化漏洞(CVE-2017-12149)利用模块:
ThinkPHP5 RCE漏洞利用模块:
PostgreSQL RCE(CVE-2019-9193)漏洞利用模块:
Confluence RCE(CVE-2019-3396)漏洞利用模块:
Payload:
Phpunit RCE(CVE-2017-9841)漏洞利用模块:
Hadoop YARN REST API未授权漏洞利用:
WordPress暴力破解:
XMRig挖矿
最后,样本会创建守护线程(go routine)来守护矿机进程和文件,先将XMRig挖矿程序释放到临时目录下,并重命名为kthreaddi,然后释放配置文件,当挖矿进程运行起来,便会将配置文件删除。
矿池地址为:194.145.227.21:5443,矿池与C2地址一致,并且本地配置和抓包都没有看到钱包地址,因此推测此版本使用的是病毒作者自建的矿池,详细配置如图:
抓取的XMRig登陆信息的流量包,如图:
IOC
MD5
DA63A2F797B27F31745CFB8F94479BF4(sys.x86_64)
D51BA1FEE712AAC5A3A17129782115AF(sys.exe)
C67607C0927154A4D2EFD79AD502CC7D(ldr.ps1)
46C7302FE138E6A877755A3B5203303A(ldr.sh)
A7013A2C7FD3A6168A7C0D9EED825C32(kthreaddk.exe)
IP
194[.]145.227.21
URL
http[:]//194.145.227.21/ldr.ps1
http[:]//194.145.227.21/ldr.sh
http[:]//194.145.227.21/sys.exe
http[:]//194.145.227.21/sys.x86_64
如若转载,请注明原文地址