Kaiji恶意样本分析_v2
招新小广告CTF组诚招re、crypto、pwn、misc、合约方向的师傅,长期招新IOT+Car+工控+样本分析多个组招人有意向的师傅请联系邮箱[email protected](带上简历和想加入的 2025-1-24 00:1:0 Author: mp.weixin.qq.com(查看原文) 阅读量:11 收藏

招新小广告CTF组诚招re、crypto、pwn、misc、合约方向的师傅,长期招新IOT+Car+工控+样本分析多个组招人有意向的师傅请联系邮箱

[email protected](带上简历和想加入的小组)

1.1 目标挑选

使用https[:]//urlhaus.abuse.ch查找存活的可疑网站,可以自定义其他标签,比如文件格式、家族标签,filetype:doc or tag:Mozi。

https[:]//urlhaus.abuse.ch/browse.php?search=url_status%3Aonline

1.2 恶意样本挑选

访问存活的恶意链接,发现攻击者生成了支持多种架构的样本,其中amd64下载点击量最高

此处选择恶意链接中的amd架构样本进行分析 http[:]//198.251.82.160:20722/b/amd64

在不下载恶意文件的情况下,可以直接通过threatquery计算要分析的样本的SHA256,https[:]//threatquery.com/engines/url.html?value=http%3A%2F%2F198.251.82.160%3A20722%2Fb%2Famd64&type=url

SHA256: 66d9d837015f3f840418f5b61ce78c7fa8648e9b1b3f949c3c6a0c7d3b28ad75

2.1公开威胁情报分析

在virustotal上有该样本的分析记录,被多款杀软查杀并且被判定为Kaiji僵尸网络木马;该木马于2020年被MalwareMustDie非盈利白帽安全研究组织发现;2022年,Black Lotus Labs评估Chaos恶意软件是Kaiji的变体;2023年,被奇安信威胁情报中心发现Kaiji与来自中国的Ares巨型僵尸网络租赁团伙有关。从首次发现至今也被trendmicro、intezer、elastic security labs等安全公司进行多次分析。

2.2 样本分析

此文主要对比分析以下两个版本的区别

文件名sha256
amd6466d9d837015f3f840418f5b61ce78c7fa8648e9b1b3f949c3c6a0c7d3b28ad75
linux_amd64d3965aeab57d429b0cb28a2853e941a0710294b2159755ea354bf32a723fef3a

2.2.1相同点

1.命令劫持

劫持ps、ss、netstat、dir、ls、find、lsof、top命令,并修改文件时戳,以规避检查

2.自启动

2.1 修改crontab计划任务,每分钟启动/usr/lib/libgdi.so.0.8.2

echo "*/1 * * * * root /.mod " >> /etc/crontab

2.2 绕过SELinux安全限制

cd /boot;ausearch -c 'system.pub' --raw | audit2allow -M my-Systemmod;semodule -X 300 -i my-Systemmod.pp

2.3 伪装成"quotaon"服务(磁盘配额服务)

cd /boot;systemctl daemon-reload;systemctl enable quotaon.service;systemctl start quotaon.service;journalctl -xe --no-pager"

2.2.2不同点

1.检查相同的进程名称,ksoftirqd/0、rcu_gp、ksmd,但是新版本的检查逻辑比较复杂

2.配置文件操作

配置文件搜索,遍历多个系统路径

读取配置文件/.ffff4444,解密配置文件

配置命令以"<F><F><F><F>"为分隔符,配置文件支持8种参数。此前奇安信分析过类似样本,分隔符为"[a=r=e=s]",配置文件支持5种参数。

参数名作用判断依据代码位置
End配置文件结束标记,用于标识配置读取完成解析完成后的处理流程,以及对应的字符串比较操作0x646f94
Pid进程ID管理,用于控制和监视目标进程1. 调用strconv_Atoi转换数字
2. 与Kill系统调用关联
3. 存储在关键内存位置
0x646fe6-0x647003
Size资源大小限制,控制程序运行资源使用1. 写入全局配置变量
2. 影响内存分配逻辑
3. 用于资源控制检查
0x647026-0x647036
Begin启动控制标记,影响程序初始化流程1. 影响启动流程
2. 与初始化代码相关
3. 控制功能模块加载
0x64708a-0x647096
Thread线程数量控制,管理并发执行1. 用于并发控制
2. 影响协程创建
3. 与runtime_newproc调用相关
0x6470f2
Remarks附加信息存储,保存额外配置说明1. 存储额外配置信息
2. 无直接功能影响
3. 用于标记或注释
0x647158-0x64716a
Version版本控制,确保功能兼容性1. 版本号比较逻辑
2. 影响特定功能启用
3. 控制程序行为
0x6471b4-0x6471c4
Backdoor后门功能控制,管理特殊访问权限1. 设置全局标记变量
2. 控制特殊功能启用
3. 影响程序关键行为
0x6471f0-0x647218

3.通信协议优化

通信协议相关函数

函数名位置主要功能特征判断依据
main.Http645760HTTP协议实现- 设置HTTP请求头(User-Agent、Accept等) - 构造HTTP请求 - 处理响应1. 设置HTTP头部特征字符串(UA、Accept) 649EDB处设置请求头 2. 调用net_url_Parse解析URL 6457C5 3. 使用WriteMessage发送HTTP消息
main.Tcp_Keep64DA80TCP持久连接- 创建TCP socket - 设置socket选项 - 保持连接活跃1. 调用syscall.socket创建socket 64AE43 2. 调用syscall_Connect进行连接 64B061 3. 存在socket保活代码
main.Udp64AC60UDP协议实现- 创建UDP socket - 设置UDP头 - 发送/接收UDP数据包1. UDP socket创建 64AE43 2. UDP头部构造代码段 64AE56-64AF00 3. 使用sendto发包逻辑
main.Raw649DC0原始套接字实现- 创建原始socket - 直接操作IP头 - 可用于IP欺骗1. 原始socket创建标志 64A000 2. IP头部手动构造代码 64A0E2 3. 直接操作网络层数据

TLS/加密相关函数

函数名位置主要功能特征判断依据
main.Tls_Keep64E7E0TLS持久连接- 建立TLS会话 - 维持加密通道 - 处理证书验证1. TLS Config配置 64E834 2. 调用tls握手函数 64E950 3. 保持TLS会话代码
main.Tls64E2A0TLS基础实现- TLS握手 - 加密通信 - 会话管理1. TLS握手代码 64E2A0 2. 加密通信实现 64E3D9 3. 会话状态管理代码
main.Ws_Keep651000WebSocket保持连接- WebSocket握手 - 保持连接 - 心跳机制1. WebSocket握手实现 6510B5 2. 连接保持逻辑 651021 3. 心跳检测代码

数据处理函数

函数名位置主要功能特征判断依据
main.Ws_Read651680WebSocket数据读取读取WebSocket帧

处理分片消息

1. WebSocket帧解析 651680 2. 处理分片消息代码 6516E0
main.Tcp_Read64E120TCP数据读取读取TCP数据

缓冲区管理

1. TCP读取循环 64E156 2. 缓冲区管理代码 64E190
main.Tls_Read64F160TLS数据读取读取加密数据

解密处理

1. TLS读取实现 64F160 2. 解密处理逻辑 64F1B3

网络攻击功能

函数名位置用途特征判断依据
main.Raw649DC0原始数据包注入可构造任意IP包

可用于DDoS攻击

1. 可自定义IP头 2. 高速发包循环 649F94-649FE0 3. 无协议限制
main.Udp64AC60UDP flooding快速发送UDP包

可用于UDP flood

1. UDP快速发包循环 2. 最小化错误处理 3. 并发发包设计
main.Http645760HTTP flooding批量HTTP请求

可用于CC攻击

1. 批量请求逻辑 2. 资源耗尽型设计 3. 并发请求实现

使用any.run分析样本的C2地址为app[.]r727.ru

尽管更新的样本做了不少优化,但是对系统的持久化控制上没有太大变化,建议定期检查crontab、rc.local、init.d、systemd、profile.d、SELinux策略。

5.IOCs

SHA256: 66d9d837015f3f840418f5b61ce78c7fa8648e9b1b3f949c3c6a0c7d3b28ad75

app[.]r727.ru

198[.]251.82.160

https://urlhaus.abuse.ch

https://threatquery.com

https://www.virustotal.com

https://any.run

https://cujo.com/blog/reverse-engineering-go-binaries-with-ghidra/

https://x.com/malwaremustdie/status/1256977666084761602

https://intezer.com/blog/research/kaiji-new-chinese-linux-malware-turning-to-golang/

https://blog.lumen.com/chaos-is-a-go-based-swiss-army-knife-of-malware/

https://ti.qianxin.com/blog/articles/Kaiji-Botnet-Resurfaces-Unmasking-Ares-Hacking-Group-EN/

https://www.elastic.co/cn/security-labs/betting-on-bots

结束

招新小广告

ChaMd5 Venom 招收大佬入圈

新成立组IOT+工控+样本分析 长期招新

欢迎联系[email protected]


文章来源: https://mp.weixin.qq.com/s?__biz=MzIzMTc1MjExOQ==&mid=2247511902&idx=1&sn=5a5087aec514f7b15779c18c089f0108&chksm=e89d8786dfea0e90e92921d5e1165a96c3c07af7d978f5c64f6eb6298ffd10e0112f71c100d4&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh