RapperBot僵尸网络新变种分析

近期,360安全大脑监测发现一类ELF样本正在发起大规模DDoS攻击,致使肉鸡和被DDoS攻击设备资源耗尽直至拒绝服务,严重影响正常业务运行。通过对其通信协议字段构造、核心攻击函数调用等细节深入剖析及关联分析后,我们认为其为RapperBot僵尸网络新变种,详见第三节归属研判。

该新变种会采取如下手段以增强其隐蔽性:

1)入侵成功后先潜伏以降低用户警觉(期间保持与C2的心跳连接,有时长达数小时),收到C2攻击指令后,可对特定目标发起9种类型DDoS攻击;

2)多样性:x86、arm新变种使用不同协议字段(通过包含样本架构的运行参数进行区分);

3)对敏感资源信息和网络通信作加密处理,并在数据包尾部附加无意义随机字节码以掩盖其恶意目的。

一、受影响情况

监测发现,被攻击设备主要分布在中国、美国、俄罗斯等国家。同时,该变种还会针对金融、电信运营商、游戏公司等高价值目标发起大规模DDoS攻击。    

RapperBot僵尸网络新变种分析

如下统计的是RapperBot新变种一周的感染趋势图,其在7.23日达到本统计周期内的攻击峰值。

RapperBot僵尸网络新变种分析

二、攻击活动分析

RapperBot新变种主要通过SSH暴破、漏洞利用等方式进行传播,入侵成功后便植入并运行RapperBot僵尸程序,通过与C2服务器建立通信以接收C2指令对目标主机发起DDoS攻击。

RapperBot僵尸网络新变种分析    

1. 下发恶意脚本  

RapperBot在入侵成功后,会运行恶意脚本以植入RapperBot僵尸程序(覆盖arm、x86、x86_64、mips等主流架构)。本文先对其x86新变种bec7596cfb1225900673398abb24ffa8进行分析。

RapperBot僵尸网络新变种分析

2. 初始化配置表  

bot运行后会在终端输出标志性字符串“Firmware update in progress”,并删除自身。接着,其会在table_init()中对其配置表进行初始化,每个指令均使用不同的xor_key进行异或处理。

RapperBot僵尸网络新变种分析

3. 网络通信  

3.1 利用STUN协议获取公网地址信息  

新变种仍利用STUN协议以获取肉鸡公网地址和端口信息。

RapperBot僵尸网络新变种分析

3.2 解析OpenNIC域名,建立TCP连接

在for循环中,通过模5运算依次得到对应加密C2域名的index,并通过xor解密(同配置表加密方式),得到如下5个C2域名。

RapperBot僵尸网络新变种分析

成功建立TCP连接后,bot与C2必须经过三个阶段的交互,才能建立完整通信。

Stage 1:bot向C2发送上线包(收集的肉鸡信息作了异或处理)。

Stage 2:bot向C2发送包含4字节数据的心跳包,维持连接。

Stage 3:bot继续发送包含4字节数据的心跳包,等待C2指令。

如下是RapperBot通信过程中三个阶段解密前后对比图,为便于查看对比, xor_key(第5个字节)已异或处理:

RapperBot僵尸网络新变种分析

3.3 Stage1: 构造并发送上线包  

Bot构造上线包时,需要获取如下6个关键字段:

RapperBot僵尸网络新变种分析

Payload中第2个WORD可区分数据报类型,上线包:00 5A;bot其他请求包:00 04,解密后的数据包各字段释义见右侧Bookmarks(对应标签颜色)。    

RapperBot僵尸网络新变种分析

认证通过后,C2发送cmd_code=2且不带data的响应包(已解密):

RapperBot僵尸网络新变种分析

若C2响应包data_len>0(第3、4字节),说明data部分做了加密处理,解密方法与上线包类似。

3.4 Stage2: 发送心跳包  

接着,bot发送包含4字节数据的心跳包(cmd_code=3,4字节数据为00 xx 01 00,xx有06/07/08/09/0a五种取值),C2则响应不带data的心跳包以保持连接,解密后的数据包如下:

RapperBot僵尸网络新变种分析

3.5 Stage3: 构造并发送攻击包  

RapperBot会对C2响应包进行解密,并根据cmd_code值(payload第6字节)执行不同操作,各指令码具体含义如下:    

指令码(cmd_code)

含义

1

bot上线包

2
C2响应包

3

心跳包
4
执行DDoS攻击,构造并发送各型攻击包
5
结束bot进程
6
关闭C2连接
其他值
置break_flag=0

C2响应包cmd_code=4时,bot进入DDoS攻击流程,即根据data字段第11字节值(攻击向量)调用对应攻击函数。

RapperBot僵尸网络新变种分析

*(data_buf+10)=00,调用0804C9D0 => udp_flood ()

*(data_buf+10)=01,调用0804AFD0 => udp_flood_forged ()

*(data_buf+10)=02,调用0804A7B0 => gre_ip_udp_flood ()

*(data_buf+10)=01,调用08049E50 => gre_eth_udp_flood ()

*(data_buf+10)=04,调用0804C020 => syn_flood ()

*(data_buf+10)=05,调用0804B650 => ack_flood ()

*(data_buf+10)=06,调用08049350 => ack_push_flood ()

*(data_buf+10)=07,调用08048B90 => tcp_socket_flood ()

*(data_buf+10)=08,调用08048510 => http_flood ()

C2下发攻击指令包时包含连续2个响应包(心跳+攻击指令包)。    

RapperBot僵尸网络新变种分析

当下发的指令包中cmd_code=4、攻击向量=8时,bot会构造http flood报文,其攻击暴雪游戏网站登录页面的指令包如下(解密后):

RapperBot僵尸网络新变种分析

攻击俄罗斯联邦储蓄银行的指令包如下:

RapperBot僵尸网络新变种分析

4. ARM架构新变种  

RapperBot的arm架构新变种的协议字段,相比x86新变种有细微差异,主要体现在

1)字段顺序:见对比图
2)字段差异:x86架构:payload_len,arm架构:random_bytes_len        
3)bot心跳包差异:x86:4字节数据(00 xx 01 00),arm:2字节数据(00 xx)
4)C2端口:x86:443,arm:9999

RapperBot僵尸网络新变种分析

三、归属研判

1. 入侵脚本相似性  

如下是RapperBot 2023.6.13日入侵shell脚本与本文中2024.7.14日入侵脚本的对比图,二者脚本存放路径、脚本文件名(.f)相同、启动参数(./.f xxx)相似。

RapperBot僵尸网络新变种分析

2. 配置表加密方式 

RapperBot v2024.03月版本与本文变种样本对配置表字符串均使用不同xor_key进行加密。    

RapperBot僵尸网络新变种分析

3. STUN协议获取公网地址 

结合360安全大脑数据,请求ip:74.125.137.127以使用STUN协议获取公网地址的elf样本共194个,只有RapperBot、本文变种两类样本。

4. 指令结构相似性 

1)收集的信息及字段长度

收集的信息
RapperBot早期版本
新变种
肉鸡公网ip
4字节
4字节
肉鸡内网ip
4字节
4字节
肉鸡主机名
32字节
32字节

bot运行参数

32字节
16字节

2)指令码对比

对比发现,二者有4个相同的指令功能,尽管cmd指令号不同,但cmd_code均为1~6之间的整数。

指令码
(cmd_code)

RapperBot早期版本

新变种
1
关闭C2连接
bot上线包
2
执行DDoS攻击
C2响应包
3
结束bot进程
发送心跳包
4
发送心跳包
执行DDoS攻击
5
结束bot进程
6

关闭C2连接

其他值
置break_flag=0
3)攻击指令包结构及参数相似性

如下是同为arm架构的本文样本与RapperBot早期版本C2攻击指令包的对比图,可以看到二者在字段结构及参数上非常相似,只是字段顺序上有细微差异以及RapperBot早期版本无xor_key字段。

RapperBot僵尸网络新变种分析

四、防范排查建议
RapperBot新变种通过加密通信流量等方式进一步增强其隐蔽性,其持续的升级迭代值得安全社区引起注意。广大用户可使用360安全大脑相关产品进行实时拦截与防护,并从以下4个方面进行加固,以免遭受黑客攻击,造成不必要的损失。

1)服务器应配置高强度的登录密码(大小写字母、数字和特殊字符的组合密码),并定期更换密码;

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

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

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


附录 IOC

C2:

iranistrash[.]libre

nexuszeta[.]lib

turtlesforsale[.]dyn

churchofhollywood[.]libre

imhere[.]libre

85.208.108[.]16

85.209.153[.]111

下载服务器

4v[.]wtf

94.156.68[.]206

162.252.175[.]123

141.98.11[.]189

179.43.134[.]167

108.181.0[.]237     

MD5:

bec7596cfb1225900673398abb24ffa8

74d1fb23184554b11b6575c765fd50b8

0aa56811fc4ddb2b81ceeea2ba546621

05d6b46354d13eda89de4dee8fcc76aa

6acd2d34ce299ef016d1e6979e75e45e

7b3c32637ac8157dfb200ecc59129663

77a2f77700c1624e1e9e54bf351850fa

83e0d1b46d9037feeff48d7fb1dcbf34

05009c6cb89d7d39c8ecbdc4505a832d

9502b4e10d20cfd1d46087a2ac8c005f    

a51b72d6bf8a22d797ccd5bcd7b17466

a114d61f6656dc5e16a37bee637ad7a1

          

参考

https://blog.nicter.jp/2024/06/rapperbot_campaign/   

https://www.fortinet.com/jp/blog/threat-research/ddos-botnets-target-zyxel-vulnerability-cve-2023-28771

原文始发于微信公众号(360威胁情报中心):RapperBot僵尸网络新变种分析

版权声明:admin 发表于 2024年8月22日 下午5:48。
转载请注明:RapperBot僵尸网络新变种分析 | CTF导航

相关文章