“漏洞利用之王”HolesWarm挖矿木马强势来袭
概述
近日,捕获到HolesWarm挖矿家族的最新变种,HolesWarm也被称为AutoUpdate,首次披露于今年6月,是一个更新迭代十分快速的挖矿家族,其使用Golang编写,攻击目标同时覆盖
Windows
和linux
双平台,除挖矿外还会窃取主机账户的登陆凭证等信息。本次更新,新增19种漏洞利用手法,横向攻击模块更是达到了31个,无愧于“漏洞利用王者”的称号。首次披露该家族分析文章:支持双系统挖矿,警惕新型AutoUpdate挖矿病毒入侵
漏洞利用模块更新
本次更新漏洞利用模块新增19种,算上之前版本的漏洞利用模块一共31种,漏洞利用模块更新情况如下:
历史版本漏洞 | 本次新增漏洞 |
---|---|
Docker未授权命令执行攻击 | 泛微OA代码执行漏洞 |
Jenkins 未授权命令执行攻击 | 致远OA未授权漏洞 |
Shiro 反序列化 RCE | weblogic (CVE-2017-10271) |
Spring boot actuator RCE | mongo-express RCE漏洞(CVE-2019-10758) |
Struts2全系列(s008-s057)漏洞 | Jupyter Notebook 未授权访问漏洞 |
Tomcat 爆破攻击 | Apache Flink任意文件读写(CVE-2020-17518/19) |
Weblogic RCE( CVE-2020-14882) | Nexus Repository Manager 3远程命令执行(CVE-2019-7238) |
XXL-JOB | Apache ActiveMQ远程代码执行漏洞 (CVE-2016-3088) |
泛微OA E-cology Bsh 命令执行 | Apache Spark 未授权访问漏洞 |
用友bsh.servlet.BshServlet 命令执行 | Hadoop Yarn REST API未授权漏洞 |
用友GRP-U8注入-命令执行 | 万户网络-ezOFFICE 漏洞 |
致远OA htmlofficeservlet任意文件写入 | JBoss HttpInvoker反序列化漏洞(CVE-2017-12149) |
致远OA-ajax.do文件上传 | Confluence注入漏洞(CVE-2021-26084) |
YAPI接口管理平台RCE | |
ShowDoc前台文件上传漏洞 | |
Fastjson 反序列化(CVE-2017-18349) | |
ThinPHP代码执行漏洞 |
病毒攻击流程
样本详细分析
前置Loader
Windows:
当远程漏洞利用入侵成功后,植入名为loader.ps1/loader.bat脚本文件,脚本文件再下载主体控制模块services.exe到C:/Windows/Temp/.git/
目录下,并对该目录进行隐藏。
Linux:
当远程漏洞利用入侵成功后,植入名为loader.sh/loader.py脚本文件,脚本文件再下载主体控制模块kworkers到~/.git
目录下,并对该目录进行隐藏。
主体控制模块
Services.exe和kwokers分别是Windows
和Linux
的主体控制模块,其功能是一致的都是根据配置文件windowsupdatev1.json
下载、执行或更新其他功能模块,如挖矿模块dbus/update.exe、横向传播模块autoupdate等。
windowsupdatev1.json配置文件如下图:
- filename字段为要下载的模块名称;
- handle字段为要执行的动作(如下载、下载执行、更新等);
- url字段为下载的uri;
- ver字段为对应的版本信息。
横向传播模块
Autoupdate
横向传播模块autoupdate,先对内网网段进行端口扫描,并识别内网的http/https对应的服务是否存在漏洞,端口扫描如图:
扫描识别对应的服务,如图:
然后再用对应的漏洞利用模块进行攻击,如图:
sshkey.sh
针对Linux平台,除了autoupdate外,还会下载sshkey.sh,通过该脚本遍历目录搜索失陷主机曾经登陆过的主机列表、曾使用的用户名以及ssh key,并尝试使用这些用户名和密钥登陆其他主机,进一步进行横向传播,当登陆成功便下载执行前置loader。
进程隐藏模块
针对Windows平台
Service.exe下载inj.exe和runtime.dll,来实现对挖矿模块updater.exe、横向传播模块autoupdate.exe以及主体控制模块service.exe进程进行隐藏。其中runtime.dll是开源的进程隐藏框架,通过inj.exe将runtime.dll注入到任务管理器进程,该dll再通过Hook Native API NtQuerySystemInformation,来实现进程隐藏。
针对Linux平台
Kworkers下载hideproc.sh进程隐藏脚本,该脚本下载processhide.c隐藏进程源文件,再将源文件编译成libc2.28.so,最后将libc2.28.so添加到系统的ld.so.preload文件,即实现启动进程时自动载入该链接库实现进程隐藏。
隐藏的进程为:主体控制模块kworkers,挖矿模块dbus以及横向传播模块autoupdate。如图:
登陆凭证窃取
针对Windows平台
主体控制模块service.exe会下载procdump文件,将系统进程lsass.exe进行内存dump,然后将dump下来的文件上传至C2服务器,服务器最终返回用户名密码信息,通信流量如图:
上传dump内存文件如图:
返回用户名密码如图:
针对Linux平台
横向传播模块autoupdate通过遍历文件,查找云服务器的访问密钥Access key和Secret key(当获取AK后便能够调用云账号下的所有资源和功能),当找到AK/Sk便会将数据上传至C2服务器,如图:
挖矿模块
Windows端下载update.exe挖矿模块进行挖矿,Linux端下载dbus挖矿模块进行挖矿。两文件本质都是开源矿机XMRig,该病毒应该使用的是代理矿场,矿场地址便是其C2服务器:m.windowsupdatesupport[.]org:443,配置信息如图:
IOCs
MD5:
33ae688e5e0ca5116666209be3c7ab2b(.linuxhash.txt.gz)
24a46fbf1ebbfde1fcb26b4f9268e6ff(autoupdate)
956142206f9c8e8ac54b0d337e4fbbc8(autoupdate.exe)
f0fb00512f97ba62d5c11d166d7df31e(check_lin.data)
d108043e12850b9a08f39f0dc4d6779b(check_win.data)
423d3ade2f14572c5bd5f546973eb493(download)
d96579fff7159cc5fb77ccfcf66c88d3(dubbo.jar)
0c79a32f44ce28d2e6017b0f2e7dc76e(filehash.py)
fbf00713d1257f176fc1e08de8c7e72a(hideproc.sh)
9d294620989e33bb3ed4b3ca7e381cc0(kworkers)
9f26ca80453eca0a47480ede35b72915(loader.ps1)
9118b07f39774b0d42dc3d2fe22e2748(loader.py)
d1e6782be9c399dc6fcf591bf6330e9b(loader.sh)
6ed4109ad0694958942a64ff27c918bd(sshkey.sh)
0cb875e4506eef89498bdf2e22c8f49f(uninstall.sh)
e1976a2e8d8e0bd4bf5a31ee71488780([kmsgds])
2c27915a1ac396a6d573dadf58ded310([scsi_mas_948])
2139d19485e5cf5bf883b44ccb066eb0([scsi_mas_948]_el6)
Domain:
m.windowsupdatesupport.org
URL:
http://m.windowsupdatesupport.org/d/processhider.c
http://m.windowsupdatesupport.org/d/windowsupdatev1.json
http://m.windowsupdatesupport.org/d/.linuxhash.txt.gz
http://m.windowsupdatesupport.org/d/[kmsgds]
http://m.windowsupdatesupport.org/d/[scsi_mas_948]
http://m.windowsupdatesupport.org/d/[scsi_mas_948]_el6
http://m.windowsupdatesupport.org/d/autoupdate
http://m.windowsupdatesupport.org/d/download
http://m.windowsupdatesupport.org/d/sshkey.sh
http://m.windowsupdatesupport.org/d/loader.ps1
矿池地址:
m.windowsupdatesupport.org:443