透明部落组织CrimsonRAT远控木马通信模型剖析
字数 3092 2025-08-24 16:48:07
CrimsonRAT远控木马深度分析与防御指南
一、概述
CrimsonRAT是由透明部落(Transparent Tribe)组织使用的一款基于C#编写的远程访问木马(RAT),主要用于针对特定目标的网络间谍活动。本文将从技术角度全面剖析该恶意软件的通信模型、功能特性及防御措施。
二、样本基础信息
- 开发语言:C#
- 通信特性:明文传输
- C&C架构:多备用服务器设计
- 检测特征:
- MD5: E6F4BB8ED235F43CB738447FBF1757C3
- SHA256: 27a457ada2495680ec776d368b084348ab92b7883b5832df0f5e19cf014527a5
三、C&C服务器配置分析
3.1 迷惑性配置设计
样本采用双层C&C配置策略:
- 表层迷惑地址:存储在
maisdwtp变量中 - 真实C&C地址:以字节形式存储在
minsbnfdsns变量中
3.2 真实C&C信息
IP/域名:
- waqers.duckdns.org
- 94.72.105.227
端口:
- 11248
- 16896
- 18868
- 22245
- 26424
四、通信协议分析
4.1 基本通信模型
-
连接策略:
- 按顺序尝试连接预设C&C服务器
- 首个连接失败后自动尝试备用地址
-
数据包结构:
- 固定5字节大小前缀
- 明文指令传输
- 使用特定分隔符("="、"|"、">")组织数据
4.2 指令接收机制
通过getsEtype()函数处理:
- 接收5字节数据大小标识
- 指令格式:
指令=参数(以"="分割)
4.3 响应发送机制
通过loadsQEta()函数处理:
- 发送5字节标志数据大小
- 发送标志数据
- 发送5字节响应数据大小
- 发送实际响应数据
五、功能指令集详解
| 指令 | 功能描述 | 对应函数 |
|---|---|---|
| thy5umb | 读取图像文件信息 | imageiWails(string path) |
| scy5rsz | 设置截屏大小 | dsecrsize(string scvEsize) |
| gey5tavs | 获取进程ID | macEsrorcss("geytavs") |
| scy5uren | 屏幕截屏(多变体) | isyDeskgcren(string desenEsize) |
| pry5ocl | 获取进程列表 | macEsrorcss("pryocl") |
| puy5tsrt | 设置自启动 | savesWepps() |
| doy5wf | 文件上传 | dtnwdivfile(string filesPweth) |
| cdy5crgn | 截屏(多指令变体) | seyesWcren(string desenEsize) |
| diy5rs | 获取磁盘信息 | shsend_drivwes() |
| fiy5lsz | 获取文件属性信息 | filersAtails(string path, bool retsdn) |
| iny5fo | 获取系统信息 | accosAffos() |
| liy5stf | 获取指定目录文件信息 | seeswdrers(string info_svtr) |
| fly5es | 列出目录文件 | seelwfes(string path) |
| ruy5nf | 执行指定文件 | afy5ile |
| udy5lt | 上传并执行文件 | remsAcogunt() |
| sty5ops | 停止截屏 | cny5ls |
| dey5lt | 删除文件 | trasfWeles(string path) |
| doy5wr | 文件上传(变体) | dtnwdivfile(string filesPweth) |
| fly5dr | 获取目录所有子目录 | expfsdlder(string path) |
六、关键功能实现分析
6.1 系统信息收集(iny5fo)
响应函数:accosAffos()
数据结构:
12 00 00 00 00 // 5字节标志数据大小
inywmqzofo=uwarder // 标志数据
[响应数据大小] // 5字节
[响应数据] // 以"|"分隔的多字段数据
响应内容示例:
| WIN-JMKJXXXC4OT | admin | | 6 >1 | A.F.0.7 || || C: \U sers \a dmin \D esktop \
字段解析:
- 用户域名/工作组
- 用户名
- 操作系统信息
- 固定版本标识"A.F.0.7"
- 木马运行路径
6.2 进程枚举(pry5ocl)
响应函数:macEsrorcss("pryocl")
数据结构:
13 00 00 00 00 // 5字节标志数据大小
prywmqzoocl=proihts // 标志数据
[响应数据大小] // 5字节
[响应数据] // 进程信息列表
进程信息格式:
[PID]>[进程名]>0><
示例:
1512>dwm>0><
888>svchost>0><
796>svchost>0><
...
4>System>0><
0>Idle>0><
6.3 文件属性获取(fiy5lsz)
响应函数:filersAtails(string path, bool retsdn)
数据结构:
3F 00 00 00 00 // 5字节标志数据大小
fiylsz=[文件路径] // 标志数据
[响应数据大小] // 5字节
[响应数据] // 文件属性信息
响应格式:
[文件名]>[创建时间]>[文件大小]
示例:
dnSpy.Console.exe>2024/7/9 0:00:00>139.5KB
七、攻击场景复现
7.1 模拟控制端交互流程
Server started. Listening on 0.0.0.0:11248
请选择需执行的功能:help、iny5fo、pry5ocl、fiy5lsz>iny5fo
*iny5fo:
userDomainName: WIN-JMKJXXXC4OT
userName: admin
OS Version: 6 >1
text2: A.F.0.7
Path: C:\Users\admin\Desktop\
请选择需执行的功能:help、iny5fo、pry5ocl、fiy5lsz>pry5ocl
*pry5ocl:
1512 dwm
888 svchost
796 svchost
...
4 System
0 Idle
请选择需执行的功能:help、iny5fo、pry5ocl、fiy5lsz>fiy5lsz
fiy5lsz指令-请输入需查看的文件路径:>C:\Users\admin\Desktop\dnSpy-net-win64\dnSpy.Console.exe
*fiy5lsz:
C:\Users\admin\Desktop\dnSpy-net-win64\dnSpy.Console.exe
filename: dnSpy.Console.exe
CreationTimeUtc: 2024/7/9 0:00:00
filesize: 139.5KB
请选择需执行的功能:help、iny5fo、pry5ocl、fiy5lsz>exit
八、检测与防御方案
8.1 网络流量检测特征
-
协议特征:
- 固定5字节前缀的明文通信
- 特定指令格式(包含"y5"特征字符串)
- 使用DuckDNS域名
-
关键字符串:
- "inywmqzofo=uwarder"
- "prywmqzoocl=proihts"
- "fiylsz="
- "A.F.0.7"
-
端口监控:
- 重点关注非常用端口(11248、16896等)的外联行为
8.2 主机端检测指标
-
进程行为:
- 异常的网络连接行为
- 大量系统信息收集操作
-
文件特征:
- 特定字符串:"minsbnfdsns"、"maisdwtp"
- C#编译的异常程序
8.3 防御建议
-
网络层:
- 部署IDS/IPS规则检测特征字符串
- 限制外联DuckDNS域名
- 监控非常用端口的出站连接
-
主机层:
- 启用高级威胁防护
- 限制不明C#程序执行
- 定期检查自启动项
-
企业防护:
- 建立完善的威胁情报机制
- 对透明部落组织(TTPs)保持持续关注
- 开展红蓝对抗演练
九、总结
CrimsonRAT虽然采用相对简单的通信模型,但其多C&C设计、迷惑性配置和丰富的远控功能使其成为有效的网络间谍工具。通过深入分析其通信协议和功能实现,安全团队可以建立有效的检测规则,提升对此类威胁的发现和处置能力。