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

 一、背景 

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

 二、样本分析 

2.1 Mirai.CatDDoS  

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

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

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

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

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

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

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

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

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

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

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

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

捕获到的实际流量如下:

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

在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攻击趋势如下所示:

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

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

2.2 Mirai.Octopus

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

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

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

    • Nday 漏洞传播

    • 持久化机制

    • 使用异或 + XXTEA加密算法

Nday 漏洞传播  

除了Mirai中原有的23端口Telnet弱口令爆破机制,Mirai.Octopus还新增了一批N day漏洞利用exploit进行传播,分别是:    

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

  • CVE-2018-10561, CVE-2018-10562

  • CVE-2014-8361

  • CNNVD-201306-024

  • CVE-2017-17215

  • Eir D1000 远程命令执行漏洞

  • CVE-2015-2051

  • CCTV/DVR “language/Swedish” 远程命令执行漏洞

  • CVE-2016-20016

  • CVE-2013-7471

  • CVE-2016-6277

持久化机制

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

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

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

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

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

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

3. 添加crontab定时任务

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

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

XXTEA加密算法  

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

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

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

通信指令  

Mirai.Octopus在指令结构方面大体上与Mirai相似,C2地址的端口为65535。支持的攻击向量与Mirai对比如下:

Mirai

Mirai.Octopus

序号

攻击方法

序号

攻击方法

0

attack_udp_generic

0

attack_udp_generic

1

attack_udp_vse

1

attack_tcp_syn

2

attack_udp_dns

2

attack_tcp_ack

3

attack_tcp_syn

3

attack_udp_plain

4

attack_tcp_ack

4

attack_udp_vse

5

attack_tcp_stomp

5

attack_tcp_bypass

6

attack_gre_ip

6

attack_udp_custom

7

attack_gre_eth

7

attack_udp_bypass

8

attack_app_proxy

8

attack_tcp_legit

9

attack_udp_plain

9

attack_std

10

attack_app_http

10

attack_method_tcpstomp



11

attack_tcp_sack2



12

attack_tcp_wra



13

attack_tcp_socket



14

attack_method_greip



15

attack_method_greeth



16

attack_icmpecho



17

attack_method_pps



18

attack_method_nudp



19

attack_udp_openvpn



20

attack_udphex


附录 IOC

Mirai.CatDDoS

MD5:

adda181984cda825dbfa1cb071a066f5

c1ca3665f762e11a727ad8899b628fd8

9f72a19d57ff74b9ed98639ff10ba4fa

ec744ef35a1650b27a3c314fe4b95412

5cf5e2b114b7253de95483615ac840d8

1074c5e50a96b50fd60ec36053981b7b

1ad8e1b5927c4166e815d3c0eafabee7

1fab9849b2fe8327382a1591d4e7cb0d

844d7d1e8e6fc47b989f5986769bb3f0

f0022798b0fec29fa0153d9ca61e8bc3

25cf45b475f738c97530512b9c94f52e

d31c417346d0012c234fde8f2be517e8

C2:

retardedclassmate.dyn

servernoworky.geek

catsarecool.gopher

ilikecats.parody

ihateyou.indy

catsliketo.pirate

kittycattos.dyn     

Mirai.Octopus 

MD5:

c17c9689c528e0000c13da92d83acab4

cda4e1668750ff2c682b8af5796153bf

C2:

octopus1337.geek

octopus-xeonk.pirate

Report server:

107.182.129.217

Download server:

85.217.144.71


参考

[1] https://mp.weixin.qq.com/s/Hc_zHeByTdOvDZPGxQaxlw

[2] https://blog.xlab.qianxin.com/catddos-derivative-cn/

              

原文始发于微信公众号(360威胁情报中心):对XXTEA加密Mirai僵尸网络的分析

版权声明:admin 发表于 2024年6月28日 下午5:01。
转载请注明:对XXTEA加密Mirai僵尸网络的分析 | CTF导航

相关文章