freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

Outlaw挖矿僵尸网络近期活动分析
2025-01-14 18:00:42
所属地 北京

1          概述

近期,安天CERT监测到多起Outlaw挖矿僵尸网络攻击事件,该挖矿僵尸网络最早于2018年被发现,主要针对云服务器从事挖矿活动,持续活跃。安天CERT在分析近期的攻击事件中发现,该挖矿僵尸网络样本在第三版本基础上有了重要更新,其功能更加多样、隐匿性更高、清除更加困难。主要传播途径和功能依旧是SSH暴力破解攻击目标系统,植入SSH公钥,以达到长期控制目标系统的目的,同时下载执行基于Perl脚本语言编写的后门和开源门罗币挖矿木马,使用扫描和暴力破解工具对其他主机进行相应攻击。

2          攻击流程

Outlaw挖矿僵尸网络首先会通过扫描SSH服务对目的主机进行暴力破解,获取权限后下载最终载荷文件dota3.tar.gz,然后不落地执行tddwrt7s.sh脚本中的指令,初始化脚本,将载荷放到/tmp目录下,解压缩载荷文件,并执行载荷文件中的第一个Perl脚本initall,该脚本最终会执行载荷文件中的第二个Perl脚本init2,会在cron.d文件中写入计划任务,依次执行a、b、c文件夹中的a、a、start脚本。

  • a文件夹:
  1. a文件的主要作用是检测与清除RedTail挖矿僵尸网络相关的恶意行为,执行run文件。
  2. run文件用于启动并管理名为kswapd00的挖矿程序以及stop脚本。
  3. stop文件的主要功能是执行init0文件以及清理目标系统中的指定文件和进程。
  4. init0文件用于全面排查并清理与挖矿相关的活动。
  • b文件夹:
  1. a文件的主要功能是执行stop和run文件。
  2. stop文件主要是终止并删除预设置的特定进程。
  3. run文件是一个ShellBot的Perl脚本,主要功能为端口扫描、DDoS攻击、反向Shell和发回状态消息等。
  • c文件夹:
  1. start文件会执行run文件。
  2. run文件的主要功能是根据系统的CPU物理核心数和架构来决定运行top和stop文件。
  3. stop文件主要功能是批量终止与特定挖矿进程或系统监控进程等相关的任务。
  4. top文件首先会获取受害机器的系统架构,根据系统架构调整默认线程数,随后执行kthreadadd脚本并传递参数。
  5. kthreadadd文件针对不同系统架构提供对应的可执行文件。
  6. kthreadadd32/kthreadadd64文件是针对不同架构扫描和暴力破解工具,对扫描出来的IP地址进行针对性的22端口暴力破解。

图 2‑1 Outlaw挖矿僵尸网络攻击流程图

3          样本梳理与功能分析

3.1         样本梳理

针对Outlaw挖矿僵尸网络攻击,对其样本及功能进行梳理,如下表所示:

表 3‑1 样本及功能梳理

样本名

落地名

样本路径

功能

tddwrt7s.sh

不落地

内存中

解压缩落地载荷并执行初始脚本initall

initall

initall

/tmp/.X2pP-unix/.rsync/initall

执行init2脚本

init/init2

init/init2

/tmp/.X2pP-unix/.rsync/

将计划任务写入cron.d文件中,并依次执行每个文件夹下的初始脚本

a文件夹/a

a

/tmp/.X2pP-unix/.rsync/a/a

/home/用户名/.configrc7/a/a

检测与清除RedTail挖矿僵尸网络相关的恶意行为

a文件夹/run

run

/tmp/.X2pP-unix/.rsync/a/run

/home/用户名/.configrc7/a/run

启动挖矿程序kswapd00

upd

upd

/home/用户名/.configrc7/a/upd

挖矿程序守护脚本

a文件夹/stop

stop

/tmp/.X2pP-unix/.rsync/a/stop

/home/用户名/.configrc7/a/stop

清理目标系统中的指定文件和进程

a文件夹/init0

init0

/tmp/.X2pP-unix/.rsync/a/init0

/home/用户名/.configrc7/a/init0

检测并终止与加密货币挖矿相关的活动

a文件夹/kswapd00

kauditd0

/tmp/.X2pP-unix/.rsync/a/kswapd00

/tmp/.kswapd00

/var/tmp/.kswapd00

/home/用户名/.configrc7/a/kswapd00

挖矿程序挖矿

b文件夹/a

a

/tmp/.X2pP-unix/.rsync/b/a

/home/用户名/.configrc7/b/a

执行stop文件

sync

sync

/home/用户名/.configrc7/b/sync

执行run文件

b文件夹/stop

stop

/tmp/.X2pP-unix/.rsync/b/stop

/home/用户名/.configrc7/b/stop

终止一系列特定的进程,并且删除特定的文件

b文件夹/run

edac0

/tmp/.X2pP-unix/.rsync/b/run

/home/用户名/.configrc7/b/run

Stealth Shellbot改编脚本

c文件夹/start

start

/tmp/.X2pP-unix/.rsync/c/

创建一个名为aptitude的Shell脚本

aptitude

aptitude

/tmp/.X2pP-unix/.rsync/c/aptitude

执行run脚本

c文件夹/run

run

/tmp/.X2pP-unix/.rsync/c/run

判断系统架构

c文件夹/stop

stop

/tmp/.X2pP-unix/.rsync/c/stop

结束竞品相关的任务

c文件夹/top

top

/tmp/.X2pP-unix/.rsync/c/top

获取系统架构

c文件夹/kthreadadd

kthreadadd

/tmp/.X2pP-unix/.rsync/c/kthreadadd

判断系统架构

c文件夹/kthreadadd32和64

kauditd0

/tmp/.X2pP-unix/.rsync/c/kthreadadd32和64

扫描和暴力破解其他地址


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

矿池地址

钱包地址

88.218.17.122:80

483fmPjXwX75xmkaJ3dm4vVGWZLHn3GDuKycHypVLr9SgiT6oaZgVh26iZRpwKEkTZCAmUS8tykuwUorM3zGtWxPBFqwuxS

179.43.139.84:80

179.43.139.85:442

185.165.169.188:80

185.165.169.188:442

185.247.224.154:80

sglt5wettkyseyxrvlmn453ivmeb3zqzqu3b3sgspcuxf2h6ggx2i4qd.onion:8080


3.2         功能分析

样本载荷文件整体目录结构如下图所示:

图 3‑1 载荷目录结构

3.2.1          未落地脚本——tddwrt7s.sh文件

tddwrt7s.sh文件主要功能是检查特定目录是否存在,如果存在则执行其中的初始化脚本;如果不存在,则进行一系列文件操作,包括删除旧文件、创建新目录、并最终执行另一个脚本。

图 3‑2 对载荷进行文件操作

3.2.2          执行后续脚本——initall文件

initall文件的功能是判断主目录下是否存在.configrc7目录,如果不存在,执行init2文件,如果存在,则退出。

图 3‑3 执行init2文件

3.2.3          写入计划任务——init/init2文件

init/init2这两个文件功能大致相同,其核心功能为在cron.d文件中写入计划任务,定期执行挖矿恶意样本。

图 3‑4 在cron.d文件中写入计划任务

3.2.4          a文件夹

3.2.4.1         检测与清除RedTail挖矿僵尸网络——a文件

a文件是a文件夹下的初始文件,该文件首先会删除当前用户的所有计划任务,检查是否具有root权限:如果是root,删除并重建/usr/bin/systemtd文件,禁用/usr/bin目录的写权限,以隐藏恶意文件或防止系统更新覆盖。

图 3‑5 检查是否具有root权限

接下来是检测与清除RedTail挖矿僵尸网络相关的恶意行为。具体分析如下:检查定时任务(crontab)中是否存在“redtail”、提取与“redtail”相关的文件路径、获取CPU占用最高的进程PID、终止高CPU占用的进程及其子进程、删除与“redtail”相关的文件、从计划任务中移除所有包含“redtail”的条目。

图 3‑6 检测与清除RedTail挖矿僵尸网络

创建一个名为upd的shell脚本文件,主要用于检查挖矿木马进程是否存活。如果已存在运行的进程,则退出。否则,启动run文件重新执行挖矿木马,确保持续运行。

图 3‑7 检查挖矿木马进程是否存活

通过检测CPU型号并设置特定的MSR寄存器值,以及优化hugepages的配置,来提高挖矿木马的效率。

图 3‑8 优化hugepages配置提高挖矿木马效率

3.2.4.2         启动挖矿程序——run文件

run文件用于启动并管理名为kswapd00的挖矿程序。它先停止潜在冲突进程,记录当前目录路径,后台运行挖矿程序并隐藏其输出,最后保存挖矿进程的PID以便后续管理。

图 3‑9 启动并管理名为kswapd00的挖矿程序

3.2.4.3         执行后续脚本——stop文件

stop文件的主要功能是执行init0文件以及清理目标系统中的指定文件和进程。具体包括:删除配置文件(如xmrig.json)、停止和结束多个与挖矿程序相关的潜在干扰的进程。

图 3‑10 执行init0文件

3.2.4.4         排查并清理竞品挖矿活动——init0文件

init0文件是一个可以全面排查并清理与挖矿活动相关的工具,该工具主要功能是检测并终止与加密货币挖矿相关的活动,包括清理文件、结束进程和阻断网络连接。

图 3‑11 排查并清理竞品挖矿活动

3.2.4.5         挖矿程序——kswapd00

该文件为开源挖矿程序XMRig改编而来,使用的版本为6.22.1,将挖矿配置文件内置在程序中。

图 3‑12 开源挖矿程序XMRig改编

3.2.5          b文件夹

3.2.5.1         执行后续脚本——a文件

a文件的主要功能是执行stop文件以及创建一个新的脚本sync并运行run文件。

图 3‑13 执行run文件

3.2.5.2         终止特定进程——stop文件

stop文件主要功能是终止一系列特定的进程,并且删除特定的文件。

图 3‑14 终止一系列特定的进程

3.2.5.3         IRC后门程序——run文件

run文件实际是一个ShellBot的Perl脚本,由开源Perl脚本Stealth Shellbot改编而来,通过443端口连接到IRC服务器,主要功能为端口扫描、DDoS攻击、反向Shell和发回状态消息等。

图 3‑15 IRC后门程序

3.2.6          c文件夹

3.2.6.1         执行后续脚本——start

start文件会创建一个名为aptitude的Shell脚本,然后利用该脚本执行run文件。

图 3‑16 执行run文件

3.2.6.2         检查系统的CPU物理核心数和架构——run文件

run文件的主要功能是根据系统的CPU物理核心数和架构来决定是否在后台运行top程序,以及在运行前是否需要执行额外的等待和执行stop文件操作。

图 3‑17 检查系统的CPU物理核心数和架构

3.2.6.3         批量终止挖矿进程相关任务——stop文件

stop文件主要功能是批量终止与特定挖矿进程或系统监控进程等相关的任务,并清理临时文件。

图 3‑18 批量终止挖矿进程相关任务

3.2.6.4         获取目标主机系统架构——top文件

top文件首先会获取目标主机的系统架构,根据系统架构调整默认线程数,arm架构线程数设置为75,i686架构线程数设置为325,其他架构默认线程数为475。

图 3‑19 获取目标主机系统架构

随后执行kthreadadd脚本并传递参数,为后续扫描做准备。

图 3‑20 执行kthreadadd脚本并传递参数

3.2.6.5         对目标主机进行适配——kthreadadd

kthreadadd文件针对不同系统架构提供对应的可执行文件,确保在目标设备上能够正确运行扫描程序。

图 3‑21 对目标主机进行适配

3.2.6.6         扫描和暴力破解工具——kthreadadd32/kthreadadd64文件

kthreadadd32/kthreadadd64文件是针对不同架构扫描和暴力破解工具,通过top文件传来的参数进行扫描,对扫描出来的IP地址进行针对性的22端口暴力破解。

图 3‑22 扫描和暴力破解工具命令行界面

该工具存在如下C2服务器地址连接。

图 3‑23 C2服务器地址

4          Outlaw挖矿僵尸网络落地排查与清除方案

4.1         Outlaw挖矿僵尸网络落地识别

1.          计划任务

/home/用户名/.configrc7/cron.d

*/30 * * * * /tmp/.kswapd00 || /home/pc/.configrc7/a/kswapd00 > /dev/null 2>&1

5 6 */2 * 0 /home/pc/.configrc7/a/upd>/dev/null 2>&1

@reboot /home/pc/.configrc7/a/upd>/dev/null 2>&1

5 8 * * 0 /home/pc/.configrc7/b/sync>/dev/null 2>&1

@reboot /home/pc/.configrc7/b/sync>/dev/null 2>&1

0 0 */3 * * /tmp/.X2pP-unix/.rsync/c/aptitude>/dev/null 2>&1

2.          文件

/tmp/.X2pP-unix/*

/tmp/.kswapd00

/home/用户名/.configrc7*(root用户/root/.configrc7)

/var/tmp/.kswapd00

3.          进程名

kthreadadd32/64

kauditd0

edac0

4.          网络

185.165.169.188

179.43.139.83

88.218.17.122:80

179.43.139.84

179.43.139.85

185.247.224.154:80

5.          SSH公钥

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr

4.2         清除方案

1.          删除计划任务

crontab -r

2.          删除相关文件

rm -rf /tmp/.X2pP-unix

rm -rf /tmp/.kswapd00

rm -rf /var/tmp/.kswapd00

rm -rf /home/用户名/.configrc7(root用户/root/.configrc7)

3.          结束相关进程

kthreadadd32/64

kauditd0

edac0

4.          删除SSH密钥

rm -rf /home/用户名/.ssh/authorized_keys


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

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

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

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

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

ATT&CK阶段/类别

具体行为

注释

侦察

主动扫描

扫描22端口

初始访问

利用外部远程服务

利用SSH远程访问

执行

利用命令和脚本解释器

使用shell脚本

持久化

利用外部远程服务

利用SSH公钥持久化

利用计划任务/工作

创建计划任务

防御规避

修改文件和目录权限

修改文件和目录权限

删除信标

删除自身

混淆文件或信息

使用混淆技术混淆文件

凭证访问

暴力破解

SSH暴力破解

网络嗅探

扫描特定端口

命令与控制

使用应用层协议

使用IRC协议

影响

资源劫持

占用CPU资源


6          防护建议

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

  1. 安装终端防护:安装反病毒软件,针对不同平台建议安装安天智甲终端防御系统Windows/Linux版本;
  2. 加强SSH口令强度:避免使用弱口令,建议使用16位或更长的口令,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;
  3. 及时更新补丁:建议开启自动更新功能安装系统补丁,服务器应及时更新系统补丁;
  4. 及时更新第三方应用补丁:建议及时更新第三方应用如Redis等应用程序补丁;
  5. 开启日志:开启关键日志收集功能(安全日志、系统日志、错误日志、访问日志、传输日志和Cookie日志),为安全事件的追踪溯源提供基础;
  6. 主机加固:对系统进行渗透测试及安全加固;
  7. 部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。安天探海威胁检测系统(PTD)以网络流量为检测分析对象,能精准检测出已知海量恶意代码和网络攻击活动,有效发现网络可疑行为、资产和各类未知威胁;
  8. 安天服务:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场等待安全工程师对计算机进行排查;安天7*24小时服务热线:400-840-9234。

7          IoCs

IoCs

88.218.17[.]122

179.43.139[.]84

179.43.139[.]85

185.165.169[.]188

185.247.224[.]154

sglt5wettkyseyxrvlmn453ivmeb3zqzqu3b3sgspcuxf2h6ggx2i4qd.onion

179.43.139[.]83

179.43.180[.]82

179.43.180[.]83

185.247.224[.]154

185.196.9[.]59

185.196.8[.]139

hxxp://188.165.194.59/tddwrt7s.sh

hxxp://188.165.194.59/dota3.tar.gz

hxxp://193.86.16.40/tddwrt7s.sh

hxxp://193.86.16.40/dota3.tar.gz

hxxp://161.35.72.143/tddwrt7s.sh

hxxp://80.79.125.90/dota3.tar.gz

hxxp://157.245.129.95/dota3.tar.gz

hxxp://152.32.202.213/dota3.tar.gz

hxxp://185.140.12.250/dota3.tar.gz

hxxp://188.165.194.59/dota3.tar.gz

hxxp://161.35.231.77/dota3.tar.gz

hxxp://213.199.46.247/dota3.tar.gz

6DA1E7B40CE4DDD784ABBA9594EF4468

1C36E8AAAC825BCB9A086ECF2A471C89

E8FFC6AAC5C2784B10319C25D229A44E

99EF3C8F719E40E4A2DBC34C45F6FB64

DD83F74474E80FCD3CA122AA9A05D583

5B4E8EFF7A4C6AC80AE09EB26D0617BF


参考资料

  • 安天.典型挖矿家族系列分析一丨Outlaw(亡命徒)挖矿僵尸网络[R/OL].(2022-11-03)

https://www.antiy.cn/research/notice&report/research_report/20221103.html


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