Ficora僵尸网络新变种分析

admin 2025年4月29日00:35:56评论1 views字数 5692阅读18分58秒阅读模式

FICORA是一种Mirai僵尸网络变种,因其解密后的配置表中包含“FICORA”字样而得名,溯源360安全大数据后发现该僵尸网络可追溯到2024年10月。近期,360安全大脑监测发现一种僵尸网络正隐秘发起大规模DDoS攻击,分析后确认其为FICORA僵尸网络新变种。目前被该新变种攻击的设备已超1.3万台(大多位于中国),为便于安全研究人员快速掌握该新变种特性,制定有针对性的检测防御措施,我们对其上线包、攻击指令、DDoS攻击类型、更新点及历史版本特点进行了详细剖析。

新变种会采取如下手段以增强隐蔽性及破坏性:1)C2 domain及ip使用不同加密方式,溯源难度提升;2)通信数据包使用多种加密方式:密钥协商包、上线包、心跳包、攻击指令包采用不同加密方式,流量解密难度进一步提高; 3)攻击手段多样:包含10种DDoS攻击类型。

 一、攻击趋势 

近9天FICORA新变种DDoS攻击次数与受害者数量的趋势图如下,2025-04-16日的单日受害者数量最多,达483个,发起DDoS攻击1201次;单日攻击次数最多的是2025-04-11日,为1266次。

Ficora僵尸网络新变种分析

下图是FICORA僵尸网络全球被攻击数据图,其中位于中国的设备遭受攻击最多,为12024台。

Ficora僵尸网络新变种分析

具体到国内,广东(1187,占比9.87%)、山东(658,占比5.47%)、浙江(655,占比5.45%)、湖北(533,占比4.43%)四省遭受FICORA新变种攻击的用户最多,占国内被攻击用户的25.2%。

Ficora僵尸网络新变种分析

 二、版本迭代 

如下是FICORA僵尸网络历史版本迭代图,主要有以下特点:

1)早期变种可追溯到2024.10月;

2)大致包含3大版本:2024.10~12月版本、2025.01~02版本、2025.03~04新版本;

3)更新频繁:每2~3个月便会有一次重要更新;

4)功能不断强化:收集信息字段逐渐丰富、隐蔽性逐渐增强(加密方式多样化)

Ficora僵尸网络新变种分析

 三、攻击活动分析 

FICORA主要通过暴力破解、漏洞利用(如:CVE-2024-33112、CVE-2024-7029、CVE-2023-1389)[1][2]等方式进行传播,在被披露后至今6个月内,FICORA陆续更新了多个版本、新增多个不同功能,下文将逐一分析。

3.1 下发恶意脚本

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

Ficora僵尸网络新变种分析

3.2初始化配置表

FICORA新变种运行后会在table_init()中对其配置表进行初始化,每个表项均使用rc4加密,byte_6102B0[16]、byte_6102A0[16]两个字节数组对应字节相异或可得到rc4_key。

Ficora僵尸网络新变种分析

解密后的部分配置表项如下:

Ficora僵尸网络新变种分析

3.3随机化文件名

FICORA新变种运行后会在终端输出字符串“For God so loved the world”,并将原bot文件名重命名为以下6个名称中的一个。

Ficora僵尸网络新变种分析

3.4网络通信

3.4.1 获取C2 ip和端口信息

1)获取C2 ip

新变种包含两种C2 ip获取方式:硬编码、联网下发。方式1:硬编码,首先从以下6个ip中随机选用一个。

Ficora僵尸网络新变种分析

此外,该变种还硬编码了10个C2 DNS ip:

116.203.104.203, 130.61.64.122,   161.97.219.84, 130.61.69.123, 185.84.81.194, 54.36.111.116, 192.3.165.37,   162.243.19.47, 63.231.92.27, 80.152.203.134

方式2:如下样本则采用联网下发方式获取C2 ip。

MD5

文件类型

发现时间

334228a837e78a7edb50d9b3275017d3

ELFarm6小端

2025.04.14

3a36f8dc3dfb173736dd7d96318852b7

ELFarm6小端

2025.04.06

C2端下发使用'|'分隔的加密C2 ip串,加密方式:与xor_key按位异或后再base64编码(增加尾部字节处理),xor_key = b"Zm6vnZ5U4mf8vApyWcDwXR44ZAkzslsN"(加密的C2 ip串、xor_key加密存储于配置表中)。bot端解密后可得到9个C2 ip:

154.205.155.243,   154.205.155.97, 156.244.14.93, 156.244.44.239, 156.244.45.113,

104.245.241.61,   104.245.241.64, 216.146.26.30, 216.73.156.19

Ficora僵尸网络新变种分析
Ficora僵尸网络新变种分析

此外,新变种解密后的配置表中还包含12个C2 DNS ip:

116.203.104.203, 130.61.64.122, 161.97.219.84, 130.61.69.123, 185.84.81.194, 54.36.111.116, 192.3.165.37, 162.243.19.47, 63.231.92.27, 80.152.203.134, 208.67.222.222, 208.67.220.220(红色为新增)

 2)获取C2端口

FICORA新变种则会从以下24个端口中随机选择一个进行使用。

Ficora僵尸网络新变种分析

3.4.2 获取肉鸡公网ip及端口

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

Ficora僵尸网络新变种分析

成功建立TCP连接后,bot与C2需要经过以下五个阶段的交互,才能建立完整通信。

Ficora僵尸网络新变种分析

3.4.3 密钥协商

首先,C2会发送xxtea加密的0x30字节数据,解密后得到ChaCha20_key、ChaCha20_nonce。此处只取"7365637265742070617373776F7264206D656D6F72"中前16字符,即xxtea_key= "7365637265742070"。对于如下0x30字节:

00000000dd 33 d4 6f df 09 60 df71 2a   09 c2 b1 42 b8 1b.3.o..`. q*...B..

00000010db c5 d0 0f 46 81 0b 4451 52   01 93 3f 36 89 84....F..D QR..?6..

000000209f b9 69 35 e1 64 a7 505f 57   29 b8 99 7b da c7..i5.d.P _W)..{..

经xxtea解密后得到ChaCha20_key、ChaCha20_nonce。

ChaCha20_keyB8 A7 EC 3F A3 2F 1A 85 EF 0D A6 EA 55 67 23 7B 0E E1 AE 54 75 D3 7D 7A 34 28 D8 0B 46 8F 25 FF

ChaCha20_nonce36 11 3E D9 40 58 5E 30 65 04 1A BB

3.4.4 密钥验证

接着,C2发送另一个使用上述key、nonce加密的验证包,解密的结果若为:”636F6E677261747320796F7520636F64696E6720686163”(刚好是配置表的一项),则验证通过。后续的通信中,bot和C2将使用上述协商好的key、nonce进行加密通信。

3.4.5 bot发送上线包

1)FICORA僵尸网络上线包格式(ChaCha20加密的counter为2):

字段

说明

0x0~0x3

4字节前缀,01 00 00   06

0x04

运行参数长度

0x04+param_len

若未带参数,则为unknownChaCha20加密)

checksum

2个字节(有特定的算法)

三字节码串

3个字节,如:01 00   00ChaCha20加密)

肉鸡MAC地址

17个字节,如:00:0c:29:9e:8f:28ChaCha20加密)

肉鸡公网ip

ChaCha20加密

2)上线包checksum字段计算逻辑:
Ficora僵尸网络新变种分析

最终的上线包具有如下格式:

Ficora僵尸网络新变种分析

3.4.6 接收C2指令

接着,bot会等待C2指令进行下一步操作。首先C2会以4个字节(如:33 0f 71 60)响应bot上线包,该响应包使用ChaCha20加密(counter=1),解密后为:00 00 00 01。

3.4.7 bot发送心跳包

然后,bot会发送随机长度的心跳包,该心跳包含有2个数据包。第一个包为数据长度(2字节,小端);第2个包为指定长度的ChaCha20加密(counter=1)的随机字节码(大小范围[0, 0xFF])。

需要注意的是,bot发送心跳包后,如果C2没有发送响应包,那么bot会继续发送心跳包直到C2响应带payload的数据包。

Ficora僵尸网络新变种分析

3.4.8 C2发送攻击指令包

C2发送的攻击指令包使用ChaCha20加密(counter=0),解密后的指令包具有如下格式:

持续时间、攻击向量、目标ip个数、目标ip、子网掩码、参数个数、<选项ID、参数长度、参数>

bot端则会解密攻击指令包,并根据其中的参数对特定目标发起DDoS攻击。如下是一个解密后的tcp_flood攻击指令包。

Ficora僵尸网络新变种分析

FICORA新变种指令码(解密后)及数据包对应关系如下: 

指令码(cmd_code

说明

01 00 00 06

bot上线包

00 00 00 01

C2响应上线包、心跳包

00 00 00 05

结束bot进程

C2指令包前4字节为其他值(00 xx xx xx

C2攻击指令包

含数据包长度(2字节)、对应长度随机字节码两个包

bot心跳包

FICORA新变种支持如下10种DDoS攻击类型:

令号

令号

DDoS类型

功能说明

0

attack_udp_0

持续高频发送大量UDP垃圾报文消耗受害者网络带宽,甚至造成拒绝服务。

1

attack_udp_generic

持续高频发送大量1312字节的UDP垃圾报文消耗受害者网络带宽,甚至造成拒绝服务。

2

attack_tcp_2

持续高频发送大量64字节的TCP报文消耗受害者带宽,甚至造成拒绝服务。

3

attack_tcp_ack

持续高频发送大量使用随机源端口的1312字节ACK数据包以消耗受害者网络带宽。

4

attack_udp_4

持续高频发送大量1024~2483字节的UDP垃圾报文消耗受害者网络带宽,甚至造成拒绝服务。

5

attack_udp _5

持续高频发送大量128~1024字节的UDP垃圾报文消耗受害者网络带宽,甚至造成拒绝服务。

6

attack_udp_6

持续高频发送大量1~22字节的UDP垃圾报文消耗受害者网络带宽,甚至造成拒绝服务。

7

attack_udp_7

持续高频发送大量1000~1360字节的UDP垃圾报文消耗受害者网络带宽,甚至造成拒绝服务。

8

attack_udp_8

持续高频发送大量1000~1360字节的UDP垃圾报文消耗受害者网络带宽,甚至造成拒绝服务。

9

attack_udp_forged

持续高频发送大量伪造源ip地址的1312字节UDP垃圾包消耗网络带宽,甚至造成拒绝服务。

 四、防范排查建议 

大规模、持续性DDoS攻击表明,DDoS这种传统而粗暴的攻击方式仍具有较大破坏性,僵尸网络的防范治理是一项斗智斗勇且需长期坚持的课题。

FICORA新变种通过多样化的通信加密方式、使用随机端口进一步增强其隐蔽性,并引入校验机制以验证数据包完整性、对抗协议探测;其持续的升级迭代值得安全社区引起注意。广大用户可使用360安全大脑相关产品进行实时拦截与防护,并从以下4个方面进行加固,以免遭受黑客攻击,造成不必要的损失。

Tips

1)服务器/IoT设备应配置高强度的登录密码(大小写字母、数字和特殊字符的组合密码,尤其是多个设备不要统一使用同一个密码),并定期更换密码;

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

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

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

附录 IOC

C2: 

kamru[.]ru

kamru[.]su

mineplex[.]libre

45.153.125[.]55

212.192.12[.]51

194.87.198[.]253

156.244.6[.]124

156.244.13[.]166

154.205.157[.]159

154.205.155[.]243

154.205.155[.]97

156.244.14[.]93

156.244.44[.]239

156.244.45[.]113

104.245.241[.]61

104.245.241[.]64

216.146.26[.]30

216.73.156[.]19

C2 DNS ip:

116.203.104[.]203

130.61.64[.]122

161.97.219[.]84

130.61.69[.]123

185.84.81[.]194

54.36.111[.]116

192.3.165[.]37

162.243.19[.]47

63.231.92[.]27

80.152.203[.]134

208.67.222[.]222

208.67.220[.]220

下载服务器:

185.39.207[.]117

154.205.128[.]91

103.149.87[.]69

103.149.87[.]18

103.163.215[.]73

MD5:

8b655c20401e0cd8d6a5f8a16822f894

334228a837e78a7edb50d9b3275017d3

3a36f8dc3dfb173736dd7d96318852b7

d0a9b507a396de9b774592042d0910ac

2ff4f97d496781729b52006c17ca7952

98b5ea7527bf3dd1238955812a9df18c

参考链接

1.多个僵尸网络正利用Raisecom MSG1200 命令执行漏洞(CVE-2024-7120)传播

2.https://www.fortinet.com/blog/threat-research/botnets-continue-to-target-aging-d-link-vulnerabilities

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

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月29日00:35:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Ficora僵尸网络新变种分析http://cn-sec.com/archives/4008519.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息