Quasar RAT客户端木马执行流程逆向分析
字数 1925 2025-08-05 11:39:43
Quasar RAT客户端木马执行流程逆向分析教学文档
1. 概述
Quasar RAT是一款基于C#开发的开源远程控制工具,被广泛用于APT攻击活动中。本文档将详细分析其客户端执行流程,包括初始化、通信机制和指令执行等关键环节。
2. 背景信息
- 版本: 当前最新版本为1.4.1
- 特点:
- 开源且维护频繁
- 被多个APT组织使用
- 采用TLS 1.2加密通信
- 提供丰富的远程控制功能
3. 基本使用示例
3.1 证书创建
首次运行时需要创建服务器证书:
- 生成quasar.p12证书文件
- 证书信息示例:
[Subject] CN=Quasar Server CA [Issuer] CN=Quasar Server CA [Serial Number] 008E92AF0296D813D6804DB771DA8881 [Thumbprint] 2DFA8B63C594E51820CA27FFD133454ED8ED4558
3.2 服务端配置
- 设置监听端口
- 客户端生成配置项:
- 基本设置(标签、互斥体、无人值守模式)
- 连接设置(目标IP:PORT、重连延迟)
- 安装设置(安装位置、自启动)
- 监控设置(键盘记录)
4. 逆向分析流程
4.1 去混淆处理
使用工具:NETReactorSlayer
4.2 执行流程分析
4.2.1 程序入口点
- 设置安全协议:TLS 1.2
- 定义异常处理方式
- 设置窗体样式
- 启动主窗体应用程序(GForm0)
4.2.2 部署初始化
1. 密钥派生
- 基于服务端初始指纹
- 使用PBKDF2算法
- 固定盐值:
BFEB1E56FBCD973BB219022430A57843003D5644D21E62B9D4F180E7E6C33941 - 生成两个密钥:32字节和64字节
2. 字符解码
- 使用AES解密Base64编码的字符串
- 解密内容包括:
- 客户端标识(如"Office01")
- RAT版本信息("1.4.1")
- 外连IP:PORT
- 文件路径和名称
- 客户端唯一标识
- 启动项名称
- 日志文件路径
- 公钥证书文件
3. 路径初始化
- 设置下载文件存储路径
- 设置日志路径(如
C:\Users\qianlan\AppData\Roaming\Logs)
4. 公钥HASH校验
- 对证书指纹进行SHA256运算
- 与已知HASH比对(失败则退出)
- 使用OID:
2.16.840.1.101.3.4.2.1
5. 互斥体创建
- 检查是否有相同互斥体的进程运行
- 确保单实例运行
- 基于客户端生成时定义的唯一标识
6. 文件区域标识处理
- 清除"Zone.Identifier"数据流
- 避免安全策略导致的运行问题
7. 启动项和文件属性设置
- 根据生成配置设置:
- 开机启动项
- 文件隐藏属性等
8. 任务栏图标初始化
- 配置系统托盘图标
4.2.3 通信初始化
1. 连接状态管理
- 使用变量标识客户端认证状态
- 监控连接/断开状态变化
2. 心跳线程初始化
- 定义心跳包参数:
BUFFER_SIZE: 0x4000HEADER_SIZE: 0x4KEEP_ALIVE_INTERVAL: 0x61A8MAX_MESSAGE_SIZE: 0x500000
3. 服务端连接流程
首次TCP连接:
- 解析解密得到的外连地址
- 创建Socket实例
- 建立TCP三次握手
- 成功连接后:
- 创建SslStream实例
- 客户端模式TLS 1.2认证(不验证服务器证书)
- 异步读取数据
- 修改连接状态
二次TCP连接:
- 重新建立连接
- 收集系统信息(GClass31_ClientState):
- 操作系统版本
- 用户名
- 地理位置等
- 作为上线信息发送
4. 指令接收与执行
- 异步接收服务端指令
- 调用消息处理器(Message Processor)处理
- 示例:dir指令执行流程:
- 接收指令数据
- 调用Shell功能函数
- 获取文件信息
- 逐行发送结果
- 循环等待下一条指令
5. 网络通信分析
5.1 TLS交互
- 使用TLS 1.2加密通信
- 客户端不验证服务器证书
5.2 数据包结构
- 包含头部信息(HEADER_SIZE: 4字节)
- 最大消息大小限制(MAX_MESSAGE_SIZE: 5MB)
6. 关键特征总结
-
初始化特征:
- 固定盐值的PBKDF2密钥派生
- AES解密配置信息
- 特定路径创建(Logs/SubDir)
-
通信特征:
- 双重TCP连接流程
- TLS 1.2加密
- 心跳机制(约25秒间隔)
-
持久化特征:
- 启动项设置
- 互斥体检查
- 文件隐藏属性
-
行为特征:
- 系统信息收集
- Shell命令执行
- 文件操作能力
7. 检测建议
-
主机检测:
- 监控特定路径创建行为
- 检查可疑的互斥体
- 分析TLS 1.2通信进程
-
网络检测:
- 识别双重TCP连接模式
- 分析心跳包间隔
- 检测不验证证书的TLS通信
-
行为检测:
- 监控系统信息收集行为
- 检测可疑的Shell命令执行
8. 后续研究方向
- 内存中的加解密行为分析
- 通信流量解密技术
- 各功能模块的详细分析
- 与常见APT攻击活动的关联分析