一个简单的AsyncRAT样本分析
字数 2244 2025-08-29 08:29:58
AsyncRAT样本分析技术文档
1. AsyncRAT概述
AsyncRAT是一种开源的远程访问木马(Remote Access Trojan,RAT),主要用于远程控制Windows设备。它具有以下特点:
- 支持加密通信
- 具备多种功能:屏幕监控、键盘记录、文件管理等
- 传播方式:钓鱼邮件、恶意宏或软件漏洞
- 危害:数据窃取、远程操控、加入僵尸网络
- 开源特性使其易于修改,难以被安全软件检测
2. 样本技术分析
2.1 初始化过程
样本首先进行初始化,设定自定义加密算法的key:
- 加密key的Base64编码:
clFxcHJwbUJWSEtHY2ROUXpoNHV6clBMeDVqenpWYmk= - 解码结果:
rQqprpmBVHKGcdNQzh4uzrPLx5jzzVbi
初始化后生成的实际使用key:
Key: B3-F5-8F-F4-75-8C-DF-60-EB-60-C7-BF-79-DD-28-64-FC-F3-3B-D9-64-11-7A-19-68-D5-38-97-E8-97-2D-A5
Auth Key: A8-82-15-69-E1-D7-F1-B6-3B-9C-0D-C9-AE-D7-2F-AB-D9-F4-7B-DD-B1-F2-26-FA-3B-A6-1F-60-5E-13-DF-2C-75-7D-0D-0C-C2-0C-6C-18-6F-E6-5E-F5-D7-87-8E-79-BB-E1-21-69-74-AB-EE-A3-70-39-BC-BF-3C-AF-0C-0D
2.2 连接信息
样本解密出的外联信息:
- 端口:6606, 7707, 8808
- 主机:217.195.197.70
- 版本:0.5.7B
- 安装标志:true
- 互斥量:AsyncMutex_6SI8OkPnk
- pastebin:null
- 反分析标志:false
- DDOS标志:false
- 组:DefaultServer
2.3 反分析技术
样本具有多种反分析功能,检测到分析环境会立即终止程序:
-
虚拟机检测:
- 通过查询主机model信息判断是否为虚拟机环境
-
调试检测:
- 检测当前进程是否被调试
-
沙箱检测:
- 检查是否存在SbieDll.dll(Sandboxie沙盒软件的核心组件)
-
内存检测:
- 检测运行环境内存大小(约57GB为阈值,小内存视为虚拟环境)
-
操作系统检测:
- 判断当前是否为Windows XP系统
检测失败时使用Environment.FailFast方法立即终止应用程序,绕过try-catch和finally块。
2.4 安装与持久化
-
安装路径:
%AppData%\Runtime Broker.exe
-
管理员权限持久化:
- 当检测到Administrator权限时,通过cmd创建计划任务,实现用户登录时自启动
-
文件操作:
- 在指定路径创建文件
- 将当前进程文件内容写入新文件
- 关闭socket连接
- 创建并隐藏执行bat文件来启动程序
-
高级持久化技术:
- 使用
RtlSetProcessIsCritical使进程退出时触发蓝屏 - 使用
SetThreadExecutionState防止系统休眠、屏幕关闭和待机状态- 参数值:2147483651U (0x80000003)
- 等效于:ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED | ES_CONTINUOUS
- 使用
2.5 通信机制
- 创建TCP连接
- 使用自定义加密算法建立加密通信
- 服务器证书信息完整保留在样本中
3. IOC指标
3.1 网络指标
- C2服务器IP:217.195.197.70
- C2端口:6606, 7707, 8808
3.2 文件指标
- 安装路径:
%AppData%\Runtime Broker.exe - 互斥量:AsyncMutex_6SI8OkPnk
3.3 加密特征
- 初始加密key Base64:
clFxcHJwbUJWSEtHY2ROUXpoNHV6clBMeDVqenpWYmk= - 解密后key:
rQqprpmBVHKGcdNQzh4uzrPLx5jzzVbi
4. 检测与防御建议
4.1 检测方法
-
行为检测:
- 监控
%AppData%目录下的可疑可执行文件创建 - 检测异常的计划任务创建行为
- 监控
RtlSetProcessIsCritical和SetThreadExecutionStateAPI调用
- 监控
-
网络检测:
- 监控对217.195.197.70的TCP连接尝试
- 检测6606, 7707, 8808端口的出站连接
-
内存检测:
- 查找样本生成的加密key特征
4.2 防御措施
-
终端防护:
- 限制对
%AppData%目录的可执行文件写入 - 监控和限制计划任务创建行为
- 启用行为检测对抗反分析技术
- 限制对
-
网络防护:
- 阻止对已知C2 IP的出站连接
- 监控异常端口的通信行为
-
用户教育:
- 提高对钓鱼邮件和恶意宏的警惕性
- 避免下载和运行不明来源的软件
5. 技术细节补充
5.1 加密算法实现
样本使用自定义加密算法,关键点包括:
- 基于Base64编码的初始key
- 多层转换生成实际使用的加密key
- 通信内容使用生成的key进行加密
5.2 反分析技术细节
-
Sandboxie检测:
- 通过检查
SbieDll.dll存在判断是否运行在沙箱中 - 这是Sandboxie的核心组件,用于进程隔离和环境虚拟化
- 通过检查
-
内存检测阈值:
- 约57GB内存(61000000000L)作为判断真实环境的阈值
- 大多数沙箱和虚拟机分配的内存小于此值
-
调试检测技术:
- 使用多种反调试技术,包括检查调试器存在、时间差检测等
5.3 持久化技术细节
-
计划任务创建:
- 通过cmd.exe调用schtasks创建持久化任务
- 任务配置为用户登录时触发
-
关键进程保护:
RtlSetProcessIsCritical将自身进程标记为关键系统进程- 终止此类进程会导致系统蓝屏,增加分析难度
-
防休眠机制:
SetThreadExecutionState参数组合确保系统保持活跃状态- 防止屏幕关闭和系统休眠有助于维持C2连接