1.概述
近期,安天CERT捕获了一批活跃的WatchDog挖矿组织样本,该组织主要利用暴露的Docker Engine API端点和Redis服务器发起攻击,并且可以快速的从一台受感染的机器转向整个网络。WatchDog挖矿组织自2019年1月开始被发现,至今仍然活跃。
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 挖矿程序中的矿池地址和钱包地址
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用户名AppDataLocalTemp
- 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用户名AppDataLocalTempredis-bin.exe
- C:Users用户名AppDataLocalTemprsysdlog.exe
- C:Users用户名AppDataLocalTempVGAuthServices.exe
- C:Users用户名AppDataLocalTempclean.exe
- C:Users用户名rsyncd.ps1
4. 删除恶意账户
- net localgroup Administrators bak$ /delete
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.防护建议
针对挖矿攻击,安天建议企业采取如下防护措施:
1. 安装终端防护:安装反病毒软件,针对不同平台建议安装安天智甲终端防御系统Windows/Linux版本;
2. 加强SSH口令强度:避免使用弱口令,建议使用16位或更长的口令,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;
3. 及时更新补丁:建议开启自动更新功能安装系统补丁,服务器应及时更新系统补丁;
4. 及时更新第三方应用补丁:建议及时更新第三方应用如Redis等应用程序补丁;
5. 开启日志:开启关键日志收集功能(安全日志、系统日志、错误日志、访问日志、传输日志和Cookie日志),为安全事件的追踪溯源提供基础;
6. 主机加固:对系统进行渗透测试及安全加固;
7. 部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。
6.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
转载来源:https://www.antiy.com/response/WatchDogTrojans_Analysis.html
图片来源网络侵权可联系删除