AsyncRAT加解密技术剖析
字数 1945 2025-08-10 08:28:52
AsyncRAT加解密技术剖析
概述
AsyncRAT是一款2019年发布的开源远程控制工具,目前仍可在GitHub下载使用。美国Alien Labs实验室报告显示,2023年美国关键基础设施遭受了大量AsyncRAT木马攻击。由于是开源工具,攻击者可自行修改代码,定制化生成专属远控工具,因此未来可能以各种形态出现在各类网络攻击中。
开源AsyncRAT利用分析
基本特性
- 首次发布于2019年9月15日,最新版本为2023年10月17日发布的v0.5.8
- 由三人维护,2000+标星,756个账号fork
- 所有模块均为C#编写,核心模块包括Client端、Server端和Plugin插件模块
- 远控功能全面,支持常见远控功能
生成AsyncRAT Client端木马
- 下载release版本程序并运行,打开AsyncRAT控制端GUI界面
- 运行后生成ServerCertificate.p12文件,包含安全加密通信的密钥和证书
- 在GUI界面选择【BUILDER】菜单自定义配置AsyncRAT Client端木马
木马上线
在受控主机运行AsyncRAT Client端程序即可上线,实现对受控主机的远控管理。
配置信息解密
加密机制分析
- 配置信息存储在Client命名空间的Settings类中
- 加密流程:
- 最外层使用base64编码
- 最终载荷使用AES加密
- Key数据用于PBKDF2算法输入,生成两个密钥:
- AES密钥:32字节
- HMACSHA256密钥:64字节
- base64解码后字符串分为三段:
- 前32字节:HMACSHA256校验值
- 中间16字节:AES IV值
- 最后字节数据:实际加密载荷
解密示例
以Ports配置为例:
public static string Ports = "cOErtB+zERnjbUteYOnvETnEOYqfBvJapeKqKq9EuRCgBS8Ra/wmUUaV71BIyFAtxgc1rYoQ/SLMQOZ+0be38g==";
解密步骤:
-
Key处理,生成AES key和HMACSHA256 key:
- AES key: 09f892078304d5723d9a841fac16c59674f84cc830fc4f98e892efc0c5d29f3d
- HMACSHA256 key: 371e838b11793bc4c8ad13eae04adc61da8e8e553827388ef2ab1dc9d5daaf63ac6808abfecb80b84746c9091176a57bac3ead5756688ace0bd048447e74ea1f
-
base64解码:
70e12bb41fb31119e36d4b5e60e9ef1139c4398a9f06f25aa5e2aa2aaf44b910a0052f116bfc26514695ef5048c8502dc60735ad8a10fd22cc40e67ed1b7b7f2 -
拆分:
- HMACSHA256校验值: 70e12bb41fb31119e36d4b5e60e9ef1139c4398a9f06f25aa5e2aa2aaf44b910
- AES IV值: a0052f116bfc26514695ef5048c8502d
- 最终加密载荷: c60735ad8a10fd22cc40e67ed1b7b7f2
-
AES解密结果:6606,7707,8808
自动化解密脚本
使用Go语言编写的自动化解密脚本,输入文件格式为dnspy工具反编译后的配置信息代码片段。
代码结构:
main.go
common/
common.go
关键函数:
Base64_Decode: base64解码Pbkdf2_Rfc2898DeriveBytes: 使用PBKDF2算法生成密钥HMACSHA256: HMAC-SHA256校验Aes_decrypt_cbc: AES-CBC解密
通信数据解密
加密层次
- 第一层加密:TLS 1.0
- 第二层加密:gzip压缩
TLS解密
AsyncRAT使用TLS_RSA_WITH_AES_128_CBC_SHA密钥套件。
私钥提取
-
ServerCertificate.p12文件包含通信密钥和证书
-
AsyncRAT未对p12文件设置保护密码,可直接提取:
openssl pkcs12 -in ServerCertificate.p12 -out certificate.pem -nodes -
提取的PEM文件包含私钥和证书:
-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
通信解密
将certificate.pem或私钥配置于Wireshark中,可解密TLS通信数据。
通信载荷解密
- TLS解密后的数据包含gzip头(1f8b08)
- 提取gzip压缩数据并解压,可获得实际通信数据
总结
AsyncRAT作为开源远控工具,其加解密技术具有以下特点:
- 配置信息采用多层加密:base64 + AES + HMAC-SHA256
- 通信采用双重加密:TLS + gzip
- 密钥生成使用PBKDF2算法
- 可通过分析源码实现自动化解密
理解这些技术细节有助于安全研究人员检测和分析AsyncRAT变种,提升对抗能力。