安信与诚—威胁月报(7月份)

目录

一、 对XXTEA加密Mirai僵尸网络的分析

二、鱼死网破,AppMiner新变种来袭!

一、对XXTEA加密Mirai僵尸网络的分析


1.1. 背景


近期监测发现一批僵尸网络样本,在Mirai泄露源码的基础上融合XXTEA算法进行加密,针对ARM、MIPS、x86等多种架构的IoT/Linux设备。


1.2. 样本分析 


Mirai.CatDDoS  

第一批捕获到的样本为CatDDoS团伙所运营的Mirai僵尸网络变种。以样本adda181984cda825dbfa1cb071a066f5为例,其源码基础结构如下:

安信与诚—威胁月报(7月份)

与泄露的Mirai源码相比,Mirai.CatDDoS中不包含用于进行Telnet爆破的scanner.c模块,同时将用于字符串与0xdeadbeef异或解密的table.c模块替换为了xxtea.c实现。16字节的XXTEA算法key为:

安信与诚—威胁月报(7月份)

交叉引用共3处。第一处为解密样本运行后向控制台输出的字符串,XXTEA解密后为“Hello, world!”:

安信与诚—威胁月报(7月份)

其余两处则用于解密样本中包含的C2地址,分别为:retardedclassmate.dyn和servernoworky.geek。这两个C2地址曾出现于描述CatDDoS团伙近期攻击活动的报告中。

安信与诚—威胁月报(7月份)

由于C2为OpenNIC域名,无法经由公共DNS服务器进行解析,样本中硬编码了用于C2解析的OpenNIC DNS服务器:

安信与诚—威胁月报(7月份)

C2的端口则在25596~25616之间随机选择。通信机制方面,Mirai.CatDDoS基本沿用了Mirai的原始设计,只是将Mirai上线时的固定4字节x00x00x00x01修改为了固定的8字节:

安信与诚—威胁月报(7月份)

捕获到的实际流量如下:

安信与诚—威胁月报(7月份)

在ATTACK_VECTOR方面,Mirai.CatDDoS实现了比Mirai更为丰富的DDoS攻击类型,对比如下:


Mirai

Mirai.CatDDoS

序号

攻击方法

序号

攻击方法

0

attack_udp_generic

0

attack_udp_plain

1

attack_udp_vse

1

attack_tcp_syn

2

attack_udp_dns

2

attack_tcp_stomp

3

attack_tcp_syn

3

attack_tcp_ack

4

attack_tcp_ack

4

attack_tcp_tcp

5

attack_tcp_stomp

5

attack_tcp_bypass

6

attack_gre_ip

6

attack_tcp_socket

7

attack_gre_eth

7

attack_udp_pps

8

attack_app_proxy

8

attack_tcp_ovh

9

attack_udp_plain

9

attack_gre_ip

10

attack_app_http

10

attack_udp_ovhhex



11

attack_udp_openvpn



12

attack_method_udprape



13

attack_udp_r6



14

attack_tcp_ovhtest

根据相关特征,又关联到了一批相似的同类样本,在代码功能、结构设计上更为简洁、更加类似原始Mirai,推测可能为更早期的bot版本。从C2的命名方式上来看,符合了CatDDoS团伙的一贯作风——即对“猫”的情有独钟。新旧版本之间的一些异同点对比如下:



旧版本

新版本

解密算法

^(异或)

XXTEA

密钥

0xDEADBEEF

78 56 34 12 21 43  65 87

68 24 57 13 98 BA  DC FE

C2地址

catsarecool.gopher

ilikecats.parody

ihateyou.indy

catsliketo.pirate

kittycattos.dyn

retardedclassmate.dyn

servernoworky.geek

端口

9932

25596~25616随机选择

bot上线

00 00  00 01

31 73  13 93 04 83 32 04

DDoS指令

集成tcp、udp等共15种攻击方法

Mirai.CatDDoS近期的DDoS攻击趋势如下所示:

安信与诚—威胁月报(7月份)

安信与诚—威胁月报(7月份)

Mirai.Octopus

Mirai.Octopus是另一批使用了XXTEA加密算法的Mirai变种僵尸网络,Octopus源自于攻击者留下的特殊UA特征。

安信与诚—威胁月报(7月份)

Mirai.Octopus沿用了Mirai源码中的诸多设计,例如绑定本地端口实现单一实例运行、进程名随机化、阻止watchdog重启设备、report服务器接收爆破结果等等。同时二次开发了不少新的恶意功能,包括:

Nday 漏洞传播

持久化机制

使用异或 + XXTEA加密算法

持久化机制

Mirai.Octopus中采用了以下几种不同的方式来实现持久化:

1. 创建恶意systemd服务:/etc/systemd/system/nginnx.service和/usr/lib/systemd/system/nginnx.service

安信与诚—威胁月报(7月份)

安信与诚—威胁月报(7月份)

2. 在/etc/rc.d/rc.local文件中启动恶意脚本:/etc/38241

安信与诚—威胁月报(7月份)

3. 添加crontab定时任务

安信与诚—威胁月报(7月份)

安信与诚—威胁月报(7月份)

XXTEA加密算法  

Mirai.Octopus中除了包含Mirai原有的异或密钥table_key外,主要使用XXTEA算法对部分敏感字符串进行了加密,XXTEA key为硬编码的字符串:

安信与诚—威胁月报(7月份)

安信与诚—威胁月报(7月份)

解密出的字符串中包含了C2地址:octopus1337.geek和octopus-xeonk.pirate,以及当前版本号:v1.0.0。


二、鱼死网破,AppMiner新变种来袭!


2.1.概述


近期,在日常威胁巡检中发现了一种混淆的门罗币挖矿木马,分析发现其为AppMiner新变种,这是该家族继2024年1月的又一次更新。挖矿并不新鲜,但将宿主机弄崩溃的实属少见。攻击者愈发贪婪,以前仅是隐秘挖矿,新变种直接删除主机密码存储和身份认证相关系统文件实现防卸载,致使重启主机无法进入系统界面,堪称鱼死网破之举!截至发稿时其已感染近400台主机,挖矿收益约5 XMR(价值约6000元);新变种还进一步强化对抗,对C2等敏感信息加密处理以隐藏痕迹。

主机感染AppMiner新变种后千万不要关机或重启,应先完成该家族查杀并恢复/etc/passwd等配置文件,以免无法进入系统!

建议用户从以下5个方面进行加固,以免遭受黑客攻击造成不必要的损失。

1)以保留原文件属性方式备份/etc/group 、/etc/passwd等重要系统文件;

2)服务器应配置高强度的登录密码,并定期更换;

3)修改ssh端口为其他端口(非22端口);

4)若非业务需要,不要在公网开放业务端口(如:redis、GitLab接口),采用本地或内网访问,设置访问白名单等方式进行加固;        

5)及时更新主机漏洞补丁,将应用软件升级到安全版本。


2.2.主要恶意功能


分析样本信息如下:


MD5

文件名

文件类型

说明

6392a38d40c8ec0e80b9449ae6358c4b

wtoss

ELF(upx)

主模块,5个随机字符

7d7075e6b9a5a5ad36b4627567feadc7

tepemw

ELF(upx)

守护程序AppMiner2,6个随机字符

8d2f33f064453ed41999c058ac702452

qiqapm

ELF(upx)

xmrig,6个随机字符

为了更直观反应AppMiner的演变进程,此处对其新旧版本作了对比:


更新点

2024.05新变种

2024.01版本

早期版本

防卸载:删除主机密码存储和身份认证相关文件

是,用户名显示为 I have  no name !,重启主机失败

随机文件名

无附加随机字符串+精简文件名主程序5字符、子程序及矿工6字符

无附加随机字符串主程序12字符、矿工14字符

附加随机字符串

函数、变量名

Gobfuscate混淆+strip函数符号

严重混淆+strip函数符号

无混淆+保留函数符号

字符串

加密C2等敏感字符

明文C2

明文

终端运行日志

如下是AppMiner新变种的执行流程图:

1)攻击者通过漏洞利用、SSH暴破等方式成功入侵受害者主机后,植入并启动AppMiner新变种主模块(5个随机字符);

2)主模块请求攻击者制作的Google sites挂马页面,通过正则匹配得到真实的木马下载链接,再经二次正则匹配及base64解码后完成主程序AppMiner1(主模块近似克隆版)、子程序AppMiner2、xmrig矿工的下发及挖矿牟利;

3)主模块删除中招主机/etc目录下的密码存储、身份认证相关文件,阻止中招用户切换到root权限实现防卸载;直接重启主机会导致无法进入系统界面;

4)主程序AppMiner1运行后会重复上述主模块的步骤;

5)子程序AppMiner2作为主程序的守护程序,会再次请求Google sites挂马页面以确保主程序存活且为最新版。

隐藏敏感信息  

AppMiner新变种(6392a38d40c8ec0e80b9449ae6358c4b)运行时无任何终端日志输出,执行后便删除自身;而早期版本则会输出如下的运行日志:


2024/06/25 15:48:59 5050 : 启动子进程成功: -> 5056

安信与诚—威胁月报(7月份)

此外,新变种还对样本中的敏感字符串信息做了加密处理,如下是恢复函数符号前后的对比图:

安信与诚—威胁月报(7月份)

利用Google sites传播木马  

新变种采用了与之前版本相同的恶意模块下发逻辑,但相关C2做了加密处理。

1)新变种访问C2链接:http://www.hellkaluyou.top后返回一个html,通过正则匹配取出其中的url(红框部分)。

安信与诚—威胁月报(7月份)

2) 访问上述提取出的url,得到下一阶段html


AppMiner1下载链接:https://www.hellkaluyou.top/1, 通过exe101(.*)exe101过滤

AppMiner2下载链接:https://www.hellkaluyou.top/2,通过exe102(.*)exe102过滤

xmrig下载链接1:https://www.hellkaluyou.top/d, 通过UPXD(.*)UPXD过滤

xmrig下载链接2:https://www.hellkaluyou.top/j, 无响应

3)通过正则匹配得到相应base64编码的elf木马,经base64解码后得到对应的elf样本(均为upx样本)。    


exe101:对应AppMiner1的下载链接,大小3504KB,6392a38d40c8ec0e80b9449ae6358c4b

exe102:对应AppMiner2下载链接, 大小3015KB,7d7075e6b9a5a5ad36b4627567feadc7

xmrig矿工:大小2810KB,8d2f33f064453ed41999c058ac702452

防卸载,重启无法进入系统界面  

安信与诚—威胁月报(7月份)

安信与诚—威胁月报(7月份)

主机感染AppMiner新变种后,用户名处会显示“ I have no name !”,并且无法切换到root用户,重启主机后无法进入系统界面。

分析发现,新变种删除了中招主机中/etc目录下passwd、shadow等与系统密码存储、身份认证相关文件以实现防卸载,致使系统无法查找到此类文件,从而无法认证成功、无法正常重启进入系统界面。/etc目录下被AppMiner新变种删除的的系统文件如下(红框部分):

安信与诚—威胁月报(7月份)

除了删除passwd、shadow等系统文件,AppMiner还会在/etc目录保存其下载的木马模块(木马模块使用随机文件名,主程序为5个字符,子程序为6个字符)。因此,主机感染AppMiner新变种后千万不要关机或重启,应先完成该家族查杀并恢复/etc/passwd等配置文件,否则无法进入系统界面!

持久化  

该部分功能与之前版本逻辑相同,即:

1)向/etc/profile文件中写入执行木马主模块(/etc/wtoss)的shell指令,以实现开机启动。


echo My>/dev/null 2>&1 &/etc/wtoss >/dev/null 2>&1 &

2)向crontab中写入执行主模块的定时任务(主模块运行后删除自身,并从C2下载恶意模块到 /etc目录),以实现持久化。


/bin/bash -c “(crontab -l 2>/dev/null; echo “*/2 * * * * /etc/wtoss”) | crontab -“

门罗币挖矿

AppMiner下载的xmrig矿工(/etc/qiqapm,6个字符的随机文件名)运行后便删除自身,其采用与早期版本相同的挖矿进程名[card0-crtc0]。如下是其挖矿时的截图信息:

安信与诚—威胁月报(7月份)

AppMiner新变种采用c3pool矿池,挖矿收益约5XMR,感染近400台主机。

安信与诚—威胁月报(7月份)


安信与诚—威胁月报(7月份)

原文始发于微信公众号(安信与诚):安信与诚—威胁月报(7月份)

版权声明:admin 发表于 2024年8月8日 上午9:41。
转载请注明:安信与诚—威胁月报(7月份) | CTF导航

相关文章