freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

WatchDog挖矿组织近期活动分析
2023-10-19 10:59:43

01概述

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

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

1697683432_653097e8857977953ccdd.png!small?1697683440527

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

02攻击流程

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

1697683474_6530981236dff98b13c24.jpg!small?1697683482268

图2‑1 Windows攻击流程图

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

1697683487_6530981f88f5d81f61346.jpg!small?1697683495608

图2‑2 Linux攻击流程图

03样本功能与技术梳理

3.1 Windows

3.1.1 init.ps1

定义url,挖矿等信息。

1697683542_653098564190eb1117c1f.jpg!small?1697683550591

图3‑1 定义url等信息

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

1697683651_653098c3434493912a619.jpg!small?1697683659296

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

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

1697683655_653098c7d3ffd5744dfe2.jpg!small?1697683663817

图3‑3 创建计划任务

3.1.2 redis-bin.exe

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

1697683668_653098d41f98e911decd3.jpg!small?1697683676329

图3‑4 开源挖矿程序

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

1697683676_653098dcabb74ba7d0b4e.jpg!small?1697683684775

图3‑5 挖矿配置文件

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

1697683692_653098ecf0efdebd5ad2c.png!small?1697683701167

3.1.3 VGAuthServices.exe

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

1697683740_6530991cf379b5de0467a.jpg!small?1697683749253

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

3.1.4 rsysdlog.exe

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

1697683752_653099288612ec705222c.jpg!small?1697683760625

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

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

1697683759_6530992f0dbc584ecf945.jpg!small?1697683767142

图3‑8 创建计划任务

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

1697683770_6530993a444f029ae529e.jpg!small?1697683778432

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

3.1.5 clean.bat

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

1697683784_653099485554ffe7c0509.jpg!small?1697683792662

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

3.1.6 clean.exe

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

1697683791_6530994f6f7428dd0facb.jpg!small?1697683799658

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

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

1697683798_65309956099650cb1184e.jpg!small?1697683806054

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

3.2 Linux

3.2.1 init.sh

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

1697683806_6530995e11083341e1779.jpg!small?1697683814260

图3‑13 削弱防御机制

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

1697683813_65309965912d3e1876481.jpg!small?1697683821639

图3‑14 替换系统工具

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

1697683823_6530996f853d7e45b2cdf.jpg!small?1697683831520

图3‑15 替换系统指令

卸载阿里云和腾讯云。

1697683829_65309975aeefe58002e66.jpg!small?1697683837972

图3‑16 卸载安全产品

结束安全产品进程。

1697683838_6530997e1d4fd5f92e0d7.jpg!small?1697683847630

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

删除计划任务。

1697683843_653099839d5ad8ccdf3ab.jpg!small?1697683851634

图3‑18 删除计划任务

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

1697683849_65309989993fdc59a88a8.jpg!small?1697683857816

图3‑19 定义变量

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

1697683857_65309991162d646adc4eb.jpg!small?1697683865238

图3‑20 清除H2Miner挖矿木马

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

1697683863_653099971c9fa86db917b.jpg!small?1697683871209

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

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

1697683869_6530999de3531d0a8f0ba.jpg!small?1697683877969

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

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

1697683875_653099a3c451493c44ea4.jpg!small?1697683883877

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

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

1697683882_653099aab22168422afc8.jpg!small?1697683890751

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

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

1697684108_65309a8c9822a59da361e.jpg!small?1697684116835

图3‑25 添加SSH公钥

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

1697684115_65309a9330261cce69bc8.jpg!small?1697684123372

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

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

1697684122_65309a9a1f4551ca3194c.jpg!small?1697684130073

图3‑27 执行挖矿的参数

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

1697684128_65309aa0d9dd913f2ce07.jpg!small?1697684137171

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

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

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,否则挖矿进程在结束后会重新启动。

1697684174_65309acee230dc5730937.png!small?1697684183341

图4‑1 结束相应进程

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

1697684183_65309ad733b427f6117f4.jpg!small?1697684191357

图4‑2 删除计划任务

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

1697684189_65309add8e26b81fddd6a.jpg!small?1697684197720

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

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

1697684195_65309ae3ae394d269a5e8.jpg!small?1697684203907

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

删除恶意账户bak$。

1697684202_65309aea5dc30a59a8d3c.jpg!small?1697684210618

图4‑5 删除恶意账户

4.2 Linux

注意事项:

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

➢挖矿脚本会删除所有计划任务,如系统中存在其他非恶意计划任务,需重新创建;➢挖矿脚本会修改系统配置信息如关闭防火墙等,如有需要,需手动修改;

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

  • 挖矿木马落地识别

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

清除方案

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


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

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

1697684219_65309afb7a8f7624d9040.jpg!small?1697684227996

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

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

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

1697684235_65309b0b44d4d63a26238.png!small?1697684243772

06防护建议

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

安装终端防护:安装反病毒软件;

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

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

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

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

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

部署企业级终端防御系统,实时检测防护即时通讯软件接收的不明文件。


07 IoCs

1697684252_65309b1ce5eabdf1d88cc.png!small?1697684261798

参考资料

[1] WatchDog: Exposing a Cryptojacking Campaign That’s Operated for Two Years

https://unit42.paloaltonetworks.com/watchdog-cryptojacking/


# 网络安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录