WatchDog挖矿组织近期活动分析

时间 :  2023年10月13日  来源:  安天CERT

1.概述


近期,安天CERT捕获了一批活跃的WatchDog挖矿组织样本,该组织主要利用暴露的Docker Engine API端点和Redis服务器发起攻击,并且可以快速的从一台受感染的机器转向整个网络。WatchDog挖矿组织自2019年1月开始被发现,至今仍然活跃。

该挖矿组织详细信息参见安天病毒百科。

长按识别二维码查看“WatchDog”团伙详细信息

经验证,安天智甲终端防御系统和安天智甲云主机安全监测系统均可实现对该挖矿木马的有效查杀。

2.攻击流程


WatchDog挖矿组织主要利用暴露的Redis服务器发起攻击。在Windows端,首先会从放马服务器上下载名为“init.ps1”的PowerShell脚本,该脚本会分别下载挖矿程序进行挖矿、漏洞扫描程序进行扫描、守护进程对挖矿进程进行守护、脚本文件回传主机名及IP地址、exe文件添加管理员组等。

图2‑1 Windows攻击流程图

在Linux端,会从放马服务器上下载名为“init.sh”的sh脚本,该脚本同样会下载Linux端的挖矿程序、漏洞扫描程序和守护进程,他们的功能与Windows端一样。另外,该脚本还具有以下功能:清空防火墙规则、清除日志、创建计划任务、结束安全产品、添加SSH公钥、结束竞品挖矿、横向移动和结束特定网络连接等。

图2‑2 Linux攻击流程图

3.样本功能与技术梳理


3.1 Windows侧
3.1.1 init.ps1

定义url,挖矿等信息。

图3‑1 定义url等信息

更新指定路径下的文件。它首先尝试从指定的URL下载文件,如果下载失败,则使用备份URL作为备用方案下载文件。同时,在执行下载之前,它会停止指定名称的进程,并删除旧的文件。

图3‑2 更新指定路径下的文件

创建名为“Update service for windows System”计划任务,定期执行rsyncd.ps1。

图3‑3 创建计划任务

3.1.2 redis-bin.exe

开源门罗币XMRig程序,版本号为6.2.6。

图3‑4 开源挖矿程序

挖矿配置文件,包含矿池地址以及钱包地址。

图3‑5 挖矿配置文件

表3‑1 挖矿程序中的矿池地址和钱包地址

矿池地址

钱包地址

23.94.62.184:5443

46EVmo3A9Uoc4AZ6cH4NJnaGVhvs3bB8JbXQeiecHpo9YaRxsWURRfthgBXjdnPxrNAn7JmQeKpN2acFh6vGe6fnLUeetdW

80.211.206.105:9000

redislog.top:5443

3.1.3 VGAuthServices.exe

该样本扫描程序利用的漏洞如下。

图3‑6 样本部分扫描漏洞

3.1.4 rsysdlog.exe

go语言编写,主要功能是守护挖矿进程,其主要功能模块如下。

图3‑7 守护挖矿进程主要功能模块

如果守护进程不存在,创建计划任务进行下载。

图3‑8 创建计划任务

样本遍历每个操作系统运行的进程,以确保挖矿进程正在运行。

图3‑9 遍历进程,确保挖矿进程运行

3.1.5 clean.bat

该脚本会清除其他挖矿的进程名,计划任务以及文件等,并将受害者主机名和IP地址上传到放马服务器上。

图3‑10 上传主机名和IP地址

3.1.6 clean.exe

该样本执行后,会添加用户bak$到管理员组,口令为8io*IO22。

图3‑11 添加用户到管理员组

使用命令对管理员组进行查询,发现bak$用户已被添加到管理员组。

图3‑12 用户bak$已被添加到管理员组

3.2 Linux侧
3.2.1 init.sh

进行系统配置和清理操作。它设置文件描述符的最大数量,修改文件权限,禁用NMI watchdog,禁用SELinux,清空防火墙规则,清除临时文件和日志,以及清除系统缓存。

图3‑13 削弱防御机制

读取cron目录和authorized_keys文件的内容,修改文件内容、移动文件和更改文件名。

图3‑14 替换系统工具

检查并替换系统中的ps命令。

图3‑15 替换系统指令

卸载阿里云和腾讯云。

图3‑16 卸载安全产品

结束安全产品进程。

图3‑17 结束安全产品进程

删除计划任务。

图3‑18 删除计划任务

定义变量,如url,scan,watchdog和miner。

图3‑19 定义变量

检查主机上是否存在H2Miner挖矿木马,如果存在,结束相应进程。

图3‑20 清除H2Miner挖矿木马

结束特定连接的IP地址以及端口号。

图3‑21 结束特定网络连接

结束与挖矿相关的字符串,主要包括矿池地址以及挖矿协议等。

图3‑22 结束带有挖矿相关字符串的进程

扫描系统中的进程,检查进程的可执行文件路径是否包含/tmp目录,并查找命令行参数中是否包含特定的关键字,对特定的关键进程进行保护。

图3‑23 对watchdog的样本进行保护

对系统的三个指令(ps、top、pstree)进行修改,目的是当受害者执行这三个指令时,会自动过滤掉watchdog挖矿木马的进程(redis-bin、rsysdlog、pnscan、VGAuthServices)。

图3‑24 修改指令,过滤watchdog挖矿的相关进程

创建计划任务,下载后续脚本,添加SSH公钥进行持久化。

图3‑25 添加SSH公钥

下载挖矿程序以及后续脚本文件等。

图3‑26 下载挖矿程序以及后续脚本

执行的挖矿参数,包括矿池地址,钱包地址等信息。

图3‑27 执行挖矿的参数

清除痕迹,如防火墙痕迹以及丢弃特定端口的流量、删除历史命令、清空邮件日志,安全日志和登录日志等。检查/root/.ssh/known_hosts文件和/root/.ssh/id_rsa.pub文件是否存在。如果存在,它们将迭代known_hosts文件中的IP地址,并使用SSH连接到这些主机上,并在远程主机上执行远程脚本。

图3‑28 清除痕迹,寻找能横向移动的目标

4.挖矿木马落地排查与清除方案


4.1 Windows
4.1.1 挖矿木马落地识别

1. 计划任务

计划任务名:Update service for Windows System

操作:PowerShell.exe -ExecutionPolicy bypass -windowstyle hidden -File C:\Users\用户名\rsyncd.ps1

2. 文件

文件名:

redis-bin.exe

rsysdlog.exe

VGAuthServices.exe

clean.exe

rsyncd.ps1

路径:

C:\Users\用户名\AppData\Local\Temp

C:\Users\用户名

3. 进程名

redis-bin.exe

rsysdlog.exe

VGAuthServices.exe

4. 网络侧排查

redis-bin.exe:23.94.62.184:5443或80.211.206.105:9000或redislog.top:5443(矿池连接)

VGAuthServices.exe:会对大量IP地址进行扫描

5. 查看本地管理员组

使用命令查看本地管理员组,net localgroup Administrators,是否有名为bak$的可疑用户

4.1.2 清除方案

1. 依次结束相应进程

rsysdlog.exe

VGAuthServices.exe

redis-bin.exe

注释:必须先结束掉rsysdlog.exe进程,该进程为其他两个的守护进程,如不先结束掉该进程,另外两个进程会重新启动

2. 删除计划任务

Update service for Windows System

3. 删除挖矿等落地文件

C:\Users\用户名\AppData\Local\Temp\redis-bin.exe

C:\Users\用户名\AppData\Local\Temp\rsysdlog.exe

C:\Users\用户名\AppData\Local\Temp\VGAuthServices.exe

C:\Users\用户名\AppData\Local\Temp\clean.exe

C:\Users\用户名\rsyncd.ps1

4. 删除恶意账户

net localgroup Administrators bak$ /delete

也可以采用安天主机系统深度分析工具(ATool)进行检测查杀,依次结束相应进程,rsysdlog.exe、VGAuthServices.exe、redis-bin.exe,否则挖矿进程在结束后会重新启动。

图4‑1 结束相应进程

删除相应计划任务,Update service for Windows System。

图4‑2 删除计划任务

删除挖矿等落地文件,对应目录为C:\Users\用户名\AppData\Local\Temp和C:\Users\用户名。

图4‑3 删除挖矿等落地文件

查看挖矿等程序的网络行为,会发现大量扫描行为。

图4‑4 挖矿等程序的网络行为

删除恶意账户bak$。

图4‑5 删除恶意账户

4.2 Linux

注意事项:

➢挖矿脚本会结束安全软件进程,如系统中存在,需重新启动;

➢挖矿脚本会删除所有计划任务,如系统中存在其他非恶意计划任务,需重新创建;

➢挖矿脚本会修改系统配置信息如关闭防火墙等,如有需要,需手动修改;

➢挖矿脚本会下载扫描工具和替换部分系统指令,具体请联系安天工程师解决。

4.2.1 挖矿木马落地识别

1. 计划任务

■cat /var/spool/cron/*

*/25 * * * * sh /etc/rsyncd.sh >/dev/null 2>&1

■cat /etc/cron.d/*

*/10 * * * * sh /etc/rsyncd.sh

■cat /etc/crontab

0 1 * * * root sh /etc/rsyncd.sh >/dev/null 2>&1

2. 文件

■ls -al /etc |grep redis-bin(其他同理,非root权限执行在/tmp目录下)

/etc/redis-bin

/etc/rsyncd.sh

/etc/rsysdlog

/etc/VGAuthServices

3. 进程名

redis-bin

VGAuthServices

rsysdlog

4. 网络侧排查

23.94.62.184:5443

80.211.206.105:9000

redislog.top:5443

VGAuthService进程会发起大量SYN_SENT的扫描

5. SSH公钥

■cat /root/.ssh/authorized_keys

ssh-rsa

AAAAB3NzaC1yc2EAAAADAQABAAABAQC9WKiJ7yQ6HcafmwzDMv1RKxPdJI/oeXUWDNW1MrWiQNvKeSeSSdZ6NaYVqfSJgXUSgiQbktTo8Fhv43R9FWDvVhSrwPoFBz9SAfgO06jc0M2kGVNS9J2sLJdUB9u1KxY5IOzqG4QTgZ6LP2UUWLG7TGMpkbK7z6G8HAZx7u3l5+Vc82dKtI0zb/ohYSBb7pK/2QFeVa22L+4IDrEXmlv3mOvyH5DwCh3HcHjtDPrAhFqGVyFZBsRZbQVlrPfsxXH2bOLc1PMrK1oG8dyk8gY8m4iZfr9ZDGxs4gAqdWtBQNIN8cvz4SI+Jv9fvayMH7f+Kl2yXiHN5oD9BVTkdIWX root@u17

4.2.2 清除方案

1. 删除计划任务

crontab -r

rm -rf /var/spool/cron/*

rm -rf /etc/cron.d/*

rm -rf /var/spool/cron/crontabs

rm -rf /etc/crontab

2. 结束相关进程

redis-bin

VGAuthServices

rsysdlog

3. 删除相关文件

chattr -ia /etc/redis-bin*

chattr -ia /etc/rsyncd.sh*

chattr -ia /etc/VGAuthServices

chattr -ia /etc/rsysdlog

rm -rf /etc/redis-bin

rm -rf /etc/rsyncd.sh

rm -rf /etc/VGAuthServices

rm -rf /etc/rsysdlog

4. 删除SSH公钥

chattr -ia /root/.ssh/authorized_keys*

rm -rf /root/.ssh/authorized_keys

5.事件对应的ATT&CK映射图谱


针对攻击者投放挖矿木马的完整过程,安天梳理本次攻击事件对应的ATT&CK映射图谱如下图所示。

图5‑1 事件对应的ATT&CK映射图谱

攻击者使用的技术点如下表所示:

表5‑1 事件对应的ATT&CK技术行为描述表

ATT&CK阶段/类别

具体行为

注释

侦察

主动扫描

扫描6379端口

初始访问

利用面向公众的应用程序

利用Redis服务访问

执行

利用命令和脚本解释器

利用pssh脚本

持久化

利用计划任务/工作

创建计划任务

提权

滥用提升控制权限机制

添加管理员组

防御规避

执行范围保护

守护进程保护挖矿程序

修改文件和目录权限

修改文件属性

隐藏行为

隐藏进程和网络行为

削弱防御机制

删除防火墙规则等

删除信标

删除日志

修改身份验证过程

添加SSH公钥

凭证访问

从存储密码的位置获取凭证

获取SSH密钥

发现

扫描网络服务

扫描Redis服务

横向移动

利用远程服务

利用SSH服务

收集

收集本地系统数据

收集主机名信息

命令与控制

使用应用层协议

使用HTTP协议回传

影响

资源劫持

占用CPU资源

6.防护建议


针对挖矿攻击,安天建议企业采取如下防护措施:

1. 安装终端防护:安装反病毒软件,针对不同平台建议安装安天智甲终端防御系统Windows/Linux版本;

2. 加强SSH口令强度:避免使用弱口令,建议使用16位或更长的口令,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;

3. 及时更新补丁:建议开启自动更新功能安装系统补丁,服务器应及时更新系统补丁;

4. 及时更新第三方应用补丁:建议及时更新第三方应用如Redis等应用程序补丁;

5. 开启日志:开启关键日志收集功能(安全日志、系统日志、错误日志、访问日志、传输日志和Cookie日志),为安全事件的追踪溯源提供基础;

6. 主机加固:对系统进行渗透测试及安全加固;

7. 部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。安天探海威胁检测系统(PTD)以网络流量为检测分析对象,能精准检测出已知海量恶意代码和网络攻击活动,有效发现网络可疑行为、资产和各类未知威胁;

8. 安天服务:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场等待安全工程师对计算机进行排查;安天7*24小时服务热线:400-840-9234。

部署企业级终端防御系统,实时检测防护即时通讯软件接收的不明文件。安天智甲终端防御系统采用安天下一代威胁检测引擎检测不明来源文件,通过内核级主动防御能力阻止其落地和运行。

图6‑1 安天智甲终端防御系统有效防护WatchDog挖矿团伙攻击

7.IoCs


IoCs

23.94.62.184

80.211.206.105

redislog.top

http[:]//45.155.250.64/id230409/init.ps1

http[:]//45.155.250.64/id230409/redis-bin.exe

http[:]//45.155.250.64/id230409/VGAuthServices.exe

http[:]//45.155.250.64/id230409/rsysdlog.exe

http[:]//45.155.250.64/id230409/clean.bat

http[:]//45.155.250.64/id230409/clean.exe

http[:]//45.155.250.64/id230409/init.sh

http[:]//45.155.250.64/id230409/redis-bin

http[:]//45.155.250.64/id230409/VGAuthServices

http[:]//45.155.250.64/id230409/rsysdlog

http[:]//45.155.250.64/id230409/rsyncd.sh

http[:]//45.155.250.64/id230409/ips_cn.txt

http[:]//www.cn2an.top/id230409/VGAuthServices.exe

http[:]//www.cn2an.top/id230409/ip_cn.txt

http[:]//www.cn2an.top/id230409/ip.php

http[:]//www.cn2an.top/id230409/redis-bin

http[:]//www.cn2an.top/id230409/rsyncd.sh

http[:]//www.cn2an.top/pm/syn.sh

http[:]//www.cn2an.top/id230409/VGAuthServices

http[:]//www.cn2an.top/id230409/rsysdlog

http[:]//www.cn2an.top/id230409/init.sh

http[:]//www.cn2an.top/id230409/is.sh

http[:]//www.cn2an.top/id230409/1.0.4.tar.gz

http[:]//www.cn2an.top/id230409/pnscan.tar.gz

http[:]//www.cn2an.top/id230409/rs.sh

FADD08A8E50E14078387806D70CBA3A0

6B1B5830E221865C1B80F08F6BAE9A01

3FB389A6D05314AD077D86E572525986

BDB81AC3EB3A8AC27E11F3AB7703783D

FDEEBCC6DF77BF778273B031DBB1B220

3FB389A6D05314AD077D86E572525986

8AA16CD2DD769689F9D71D904B3D0477

159D5AB60F9F7897CD9F0922D8318460

2EC4AE1AAABC5BA4B804706B72F8CE9B

878A551C08DA641024D87DC91ED92067

DA4A0DB31FC346355EDEF28F8AD23AD8

参考资料


[1] WatchDog: Exposing a Cryptojacking Campaign That’s Operated for Two Years
https://unit42.paloaltonetworks.com/watchdog-cryptojacking/