NET环境下的多款同源RAT对比
字数 1800 2025-08-05 12:50:33

.NET环境下多款同源RAT对比分析技术文档

概述

本文档对.NET环境下的多款同源远程访问工具(RAT)进行了详细对比分析,包括VenomRAT、DcRAT、xRAT及其在野样本。这些RAT工具在配置信息加密、通信协议等方面具有相似性,但也存在关键差异。

分析对象

  1. VenomRAT项目及在野样本
  2. DcRAT项目及在野样本
  3. xRAT项目

配置信息解密算法对比

通用解密流程

  1. 使用PBKDF2算法生成密钥
  2. 使用AES算法解密配置数据
  3. 部分样本需要二次处理base64编码数据

各RAT解密参数差异

RAT类型 PBKDF2 salt值 密钥生成方式
VenomRAT "VenomByVenom" 生成16字节AES密钥和64字节HMAC密钥
DcRAT "DcRatByqwqdanchun" 同上
在野DcRAT 通过函数参数传入 同上
在野VenomRAT 固定十六进制值(BFEB1E56...) 同上
xRAT 无PBKDF2 使用key的MD5值作为AES key

xRAT特殊解密流程

  1. 将配置中的Password字符串进行MD5哈希作为AES密钥
  2. 加密数据前16字节为IV,后续为加密数据
  3. 解密后可能需要进行QuickLZ解压缩

通信协议分析

通用通信特征

  1. 多数使用TLS加密通信
  2. 通信数据通常采用两层加密:
    • 第一层:TLS加密
    • 第二层:gzip压缩加密载荷

各RAT通信差异

RAT类型 通信协议 特殊特征
VenomRAT TLS+gzip 与AsyncRAT通信结构相似
DcRAT TLS+gzip 同上
在野DcRAT HTTP 不使用TLS
xRAT 原始socket 无TLS层

TLS解密方法

  1. 修改TLS密钥套件
  2. 提取私钥进行解密
  3. 解密后可进一步解压gzip载荷

各RAT详细分析

VenomRAT分析

木马生成配置

  • IP/DNS配置:外联IP、端口、Pastebin、Group Name、互斥对象名
  • Startup选项:自启动、反虚拟机、禁用任务管理器、蓝屏
  • Assembly信息:属性、图标

上线特征

  • 控制端显示上线主机信息
  • 支持多种远控功能

配置信息解密

  • 反编译代码结构与AsyncRAT相似
  • Settings类中包含加密配置
  • 使用修改后的AsyncRAT解密脚本可解密

DcRAT分析

木马生成配置

  • 基本配置:外联IP、端口、Pastebin、Group Name、互斥对象
  • 高级选项:自启动、反虚拟机、禁用任务管理器、蓝屏
  • 程序信息:属性、图标

上线特征

  • 图形化控制界面
  • 完整远控功能集

在野样本差异

  • 代码结构与项目版本不同
  • 使用HTTP而非TLS通信
  • 解密后数据包含额外base64编码

xRAT分析

木马生成配置

  • Connection:IP、端口、密码、重连延迟
  • Install:互斥量、安装选项、路径、注册表键
  • Assembly信息:属性
  • 附加设置:管理员权限、图标、键盘记录

通信特点

  • 不使用TLS加密
  • 通信数据先AES解密再QuickLZ解压
  • 密码MD5作为AES密钥

检测与防御建议

  1. 配置信息检测

    • 监控程序中的特定salt字符串
    • 检测PBKDF2算法使用特征
  2. 通信流量检测

    • 识别TLS+gzip双层加密流量
    • 注意异常HTTP通信模式
  3. 行为检测

    • 监控互斥量创建(如"DCR_MUTEX-*")
    • 检测异常的自启动项修改
  4. 解密工具

    • 开发通用解密脚本处理不同变种
    • 针对xRAT需实现MD5密钥生成和QuickLZ解压

附录:解密代码示例

xRAT解密核心代码

func decrypt_xRAT_str(key string, input []byte) {
    aeskey, _ := hex.DecodeString(common.CalculateMD5(key))
    aes_iv := input[:16]
    encode_data := input[16:]
    output, _ := common.Aes_z_Decrypt(encode_data, aeskey, aes_iv)
    fmt.Println(string(output))
}

func Aes_z_Decrypt(input, key, iv []byte) (output, newiv []byte) {
    output, err := aes_decrypt_cbc(input, key, iv)
    if err != nil {
        panic(err)
    }
    newiv = append(newiv, input[len(input)-16:]...)
    return
}

通用PBKDF2解密流程

  1. 使用特定salt进行PBKDF2运算
  2. 生成AES密钥和HMAC密钥
  3. AES-CBC解密配置数据
  4. 必要时进行base64解码等后处理

总结

本文档详细分析了.NET环境下多款同源RAT工具的异同点,重点对比了它们的配置信息加密算法和通信协议特点,并提供了检测防御建议和实用解密代码。这些分析结果可用于恶意软件分析、检测规则编写和防御策略制定。

.NET环境下多款同源RAT对比分析技术文档 概述 本文档对.NET环境下的多款同源远程访问工具(RAT)进行了详细对比分析,包括VenomRAT、DcRAT、xRAT及其在野样本。这些RAT工具在配置信息加密、通信协议等方面具有相似性,但也存在关键差异。 分析对象 VenomRAT项目及在野样本 DcRAT项目及在野样本 xRAT项目 配置信息解密算法对比 通用解密流程 使用PBKDF2算法生成密钥 使用AES算法解密配置数据 部分样本需要二次处理base64编码数据 各RAT解密参数差异 | RAT类型 | PBKDF2 salt值 | 密钥生成方式 | |---------|--------------|-------------| | VenomRAT | "VenomByVenom" | 生成16字节AES密钥和64字节HMAC密钥 | | DcRAT | "DcRatByqwqdanchun" | 同上 | | 在野DcRAT | 通过函数参数传入 | 同上 | | 在野VenomRAT | 固定十六进制值(BFEB1E56...) | 同上 | | xRAT | 无PBKDF2 | 使用key的MD5值作为AES key | xRAT特殊解密流程 将配置中的Password字符串进行MD5哈希作为AES密钥 加密数据前16字节为IV,后续为加密数据 解密后可能需要进行QuickLZ解压缩 通信协议分析 通用通信特征 多数使用TLS加密通信 通信数据通常采用两层加密: 第一层:TLS加密 第二层:gzip压缩加密载荷 各RAT通信差异 | RAT类型 | 通信协议 | 特殊特征 | |---------|---------|---------| | VenomRAT | TLS+gzip | 与AsyncRAT通信结构相似 | | DcRAT | TLS+gzip | 同上 | | 在野DcRAT | HTTP | 不使用TLS | | xRAT | 原始socket | 无TLS层 | TLS解密方法 修改TLS密钥套件 提取私钥进行解密 解密后可进一步解压gzip载荷 各RAT详细分析 VenomRAT分析 木马生成配置 IP/DNS配置:外联IP、端口、Pastebin、Group Name、互斥对象名 Startup选项:自启动、反虚拟机、禁用任务管理器、蓝屏 Assembly信息:属性、图标 上线特征 控制端显示上线主机信息 支持多种远控功能 配置信息解密 反编译代码结构与AsyncRAT相似 Settings类中包含加密配置 使用修改后的AsyncRAT解密脚本可解密 DcRAT分析 木马生成配置 基本配置:外联IP、端口、Pastebin、Group Name、互斥对象 高级选项:自启动、反虚拟机、禁用任务管理器、蓝屏 程序信息:属性、图标 上线特征 图形化控制界面 完整远控功能集 在野样本差异 代码结构与项目版本不同 使用HTTP而非TLS通信 解密后数据包含额外base64编码 xRAT分析 木马生成配置 Connection:IP、端口、密码、重连延迟 Install:互斥量、安装选项、路径、注册表键 Assembly信息:属性 附加设置:管理员权限、图标、键盘记录 通信特点 不使用TLS加密 通信数据先AES解密再QuickLZ解压 密码MD5作为AES密钥 检测与防御建议 配置信息检测 监控程序中的特定salt字符串 检测PBKDF2算法使用特征 通信流量检测 识别TLS+gzip双层加密流量 注意异常HTTP通信模式 行为检测 监控互斥量创建(如"DCR_ MUTEX-* ") 检测异常的自启动项修改 解密工具 开发通用解密脚本处理不同变种 针对xRAT需实现MD5密钥生成和QuickLZ解压 附录:解密代码示例 xRAT解密核心代码 通用PBKDF2解密流程 使用特定salt进行PBKDF2运算 生成AES密钥和HMAC密钥 AES-CBC解密配置数据 必要时进行base64解码等后处理 总结 本文档详细分析了.NET环境下多款同源RAT工具的异同点,重点对比了它们的配置信息加密算法和通信协议特点,并提供了检测防御建议和实用解密代码。这些分析结果可用于恶意软件分析、检测规则编写和防御策略制定。