QuasarRAT与AsyncRAT同源对比及分析
字数 1816 2025-08-10 08:28:55
QuasarRAT与AsyncRAT同源对比及分析技术文档
1. 概述
QuasarRAT与AsyncRAT是两款开源的远程控制工具,在配置信息加密技术和通信模型上存在相似性和差异性。本文将从以下几个方面进行详细分析:
- 两款RAT工具的起源与发展
- 配置信息加密技术的同源性分析
- 通信模型对比分析
- 实际应用中的攻防技术
2. 工具背景
2.1 QuasarRAT
- 开源地址: https://github.com/quasar/Quasar
- 历史演变:
- 早期名称为xRAT
- 2014年7月8日发布xRAT v2.0.0.0 RELEASE1
- 2015年8月23日发布Quasar v1.0.0.0
- 当前版本: 2023年3月13日发布的Quasar v1.4.1
- 项目规模:
- 15名维护人员
- 7900+标星
- 2400+账号fork项目
- 技术特点:
- 所有模块均为C#编写
- 核心模块: Client端、Server端、Common模块
- 支持环境: 建议Win10(官方称支持Win7但可能存在兼容性问题)
2.2 AsyncRAT
- 开发时间晚于QuasarRAT
- 在配置信息加密技术上可能借鉴了QuasarRAT
- 同样使用C#编写
3. 配置信息加密技术对比
3.1 加密算法同源性
QuasarRAT与AsyncRAT使用相同的配置信息解密算法,仅在密钥生成阶段有细微差异:
| 对比项 | QuasarRAT | AsyncRAT |
|---|---|---|
| 密钥初始化输入 | 直接使用配置信息中的密钥字符串 | 将配置信息中密钥字符串base64解码后的字符串作为输入 |
| 其他解密代码 | 完全相同 | 完全相同 |
3.2 加密配置信息示例
QuasarRAT木马配置信息:
public static string string_7 = "密钥字符串";
public static string string_0 = "加密的版本信息";
...
AsyncRAT木马配置信息:
public static string string_7 = "密钥字符串";
public static string string_0 = "加密的版本信息";
...
3.3 解密算法实现
解密流程:
- 从混淆后的代码中提取加密配置信息和密钥
- Base64解码加密配置信息
- 分离HMAC-SHA256校验值、AES IV和实际加密数据
- 使用PBKDF2算法派生密钥
- 验证HMAC-SHA256校验值
- 使用AES-CBC解密数据
Go语言解密示例:
func decrypt_QuasarRAT_str(key string, input_str string) {
input := common.Base64_Decode(input_str)
hmacsha := input[:32]
aes_iv := input[32:48]
encode_data := input[48:]
rfc2898DeriveBytes := common.Pbkdf2_Rfc2898DeriveBytes([]byte(key))
aeskey := rfc2898DeriveBytes[:32]
_authKey := rfc2898DeriveBytes[32:]
if hex.EncodeToString(common.HMACSHA256(_authKey, input[32:])) != hex.EncodeToString(hmacsha) {
fmt.Println("Error")
return
}
output, _ := common.Aes_decrypt_cbc(encode_data, aeskey, aes_iv)
fmt.Println(string(output))
}
4. 通信模型分析
4.1 QuasarRAT通信模型
采用双层加密:
- 外层加密: TLS 1.2 (密钥套件带DH算法)
- 内层加密: protobuf序列化数据
TLS解密技术:
- 需要提取quasar.p12文件中的私钥
- 使用自定义密钥套件方法从系统底层修改配置密钥套件
- 然后使用私钥解密TLS通信数据
protobuf反序列化:
- 使用CyberChef等工具进行反序列化
- 示例解密结果:
{
"37": {
"1": [
{
"1": "svchost",
"2": "0.0.0.0",
"3": 135,
"4": "0.0.0.0",
"6": 2
},
...
]
}
}
4.2 AsyncRAT通信模型
(文中未详细描述,但与QuasarRAT不同)
5. 实际应用分析
5.1 木马生成与配置
QuasarRAT控制端:
- 首次运行时生成quasar.p12文件(包含安全加密通信的密钥和证书)
- Builder菜单用于配置Client端木马
- Settings菜单用于开启监听
配置项包括:
- 版本信息
- 主机地址和端口
- 安装目录和文件名
- Mutex值
- 启动项名称
- 客户端标签
- 日志目录
- 服务器签名
- 证书
5.2 反混淆技术
QuasarRAT默认生成的Client端木马被混淆处理:
- 使用de4dot工具可有效去混淆
- 去混淆后才能看到反编译代码
6. 防御建议
-
检测方面:
- 监控异常TLS连接(特别是带DH算法的密钥套件)
- 检测protobuf序列化数据的异常通信
- 关注quasar.p12或ServerCertificate.p12文件的生成
-
防护方面:
- 限制.NET程序的网络行为
- 监控可疑的进程创建和持久化行为
- 关注已知的QuasarRAT/AsyncRAT IOC
-
分析方面:
- 掌握配置信息解密技术
- 熟悉protobuf反序列化分析方法
- 了解TLS解密技术
7. 附录
7.1 相关工具
- 去混淆工具: de4dot
- 协议分析工具: Wireshark
- 反序列化工具: CyberChef (https://gchq.github.io/CyberChef)
- 解密脚本: 基于Go语言的自动化解密脚本
7.2 参考资源
- QuasarRAT GitHub仓库
- AsyncRAT相关分析文章
- 《AsyncRAT加解密技术剖析》