.NET恶意软件Dark Crystal RAT的详细样本分析
字数 1114 2025-08-19 12:40:52

Dark Crystal RAT (Dcrat) 恶意软件深度分析技术文档

一、概述

Dark Crystal RAT (Dcrat) 是一种基于.NET框架的远程访问木马(RAT),主要用于窃取敏感信息并实现对受感染计算机的远程控制。本文档详细分析了Dcrat的三阶段加载机制、混淆技术、C2通信提取方法以及其恶意行为特征。

二、样本分析技术要点

第一阶段分析

  1. 初始检测

    • 使用DIE(Detect It Easy)检测显示为.NET程序
    • 高熵值表明存在加密或压缩的有效载荷
    • 使用dnSpy进行.NET逆向分析
  2. 核心解密逻辑

    // 样本创建大数组unit后执行解密
    byte[] array2 = this.Decrypt(unit);
    Assembly assembly = this.LoadModule(array2, "koi");
    
  3. 内存提取技术

    • 方法一:模块断点法
      • 在调试器中设置模块加载断点:bm /a *
      • 等待"koi"模块加载时中断
      • 通过调试器模块窗口提取保存为koi.exe
    • 方法二:直接内存提取
      • 在Decrypt函数后设置断点
      • 提取解密后的array2字节数组
      • 保存为PE文件(注意0x4D 0x5A头部标识)

第二阶段(koi.exe)分析

  1. 混淆技术
    • 包含大量类似Base64的混淆字符串
    • 关键解密逻辑:
      for (int i = 0; i < string_0.Length; i += 2)
      {
          stringBuilder.Append(string_0[i]);
      }
      
    • 提取PE文件的Python脚本示例:
      with open('encoded.txt', 'r') as f:
          data = f.read()
      extracted = data[::2]  # 每隔一个字符取一个
      with open('output.bin', 'wb') as f:
          f.write(bytes.fromhex(extracted))
      

第三阶段分析

  1. C2服务器提取技术

    • 发现Base64+Gzip编码字符串(H4sIAA开头)
    • 解码流程:
      1. Base64解码
      2. Gzip解压
      3. 字符串反转
      4. 再次Base64解码
    • 使用CyberChef或Python实现解码链
  2. 字典替换解密

    • 获取SCRT字符替换字典
    • Python处理脚本:
      # 假设已获取字典mapping和编码字符串encoded_str
      decoded = ''.join([mapping.get(c, c) for c in encoded_str])
      

三、恶意行为分析

信息窃取功能

  1. 剪贴板监控

    string text = Clipboard.GetText(TextDataFormat.UnicodeText);
    
  2. 屏幕截图

    • 定期截取屏幕
    • 转换为JPEG字节数组上传C2
  3. 凭证窃取

    • Steam
      • 读取注册表获取安装路径
      • 解析loginusers.vdf文件获取账户信息
    • Telegram
      • 查找tdata目录获取会话信息
    • Discord
      • 窃取Local Storage中的敏感数据

持久化技术

  1. 计划任务创建

    schtasks /create /tn "任务名" /sc MINUTE /mo 5 /tr "恶意程序路径" /f
    schtasks /create /tn "任务名" /sc ONLOGON /tr "恶意程序路径" /f /rl HIGHEST
    
  2. 注册表修改

    • 添加自启动项:
      HKCU\Software\Microsoft\Windows\CurrentVersion\Run
      
    • 修改Shell键:
      HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
      

四、检测与防护建议

  1. 检测指标

    • 高熵.NET程序
    • 异常的模块加载行为
    • 计划任务创建事件(特别是MINUTE和ONLOGON触发器)
    • 对敏感目录(Steam、Telegram、Discord)的异常访问
  2. 防护措施

    • 监控.NET程序的异常网络连接
    • 限制计划任务的创建权限
    • 保护关键注册表键的修改
    • 对剪贴板访问行为进行监控

五、技术总结

Dcrat展示了现代恶意软件的典型特征:

  1. 多阶段加载机制规避检测
  2. 复杂的混淆和加密技术
  3. 多种持久化方法
  4. 广泛的信息收集能力
  5. 灵活的C2通信设计

通过完整分析其技术实现,可有效提升对此类威胁的检测和防御能力。

Dark Crystal RAT (Dcrat) 恶意软件深度分析技术文档 一、概述 Dark Crystal RAT (Dcrat) 是一种基于.NET框架的远程访问木马(RAT),主要用于窃取敏感信息并实现对受感染计算机的远程控制。本文档详细分析了Dcrat的三阶段加载机制、混淆技术、C2通信提取方法以及其恶意行为特征。 二、样本分析技术要点 第一阶段分析 初始检测 : 使用DIE(Detect It Easy)检测显示为.NET程序 高熵值表明存在加密或压缩的有效载荷 使用dnSpy进行.NET逆向分析 核心解密逻辑 : 内存提取技术 : 方法一:模块断点法 在调试器中设置模块加载断点: bm /a * 等待"koi"模块加载时中断 通过调试器模块窗口提取保存为koi.exe 方法二:直接内存提取 在Decrypt函数后设置断点 提取解密后的array2字节数组 保存为PE文件(注意0x4D 0x5A头部标识) 第二阶段(koi.exe)分析 混淆技术 : 包含大量类似Base64的混淆字符串 关键解密逻辑: 提取PE文件的Python脚本示例: 第三阶段分析 C2服务器提取技术 : 发现Base64+Gzip编码字符串(H4sIAA开头) 解码流程: Base64解码 Gzip解压 字符串反转 再次Base64解码 使用CyberChef或Python实现解码链 字典替换解密 : 获取SCRT字符替换字典 Python处理脚本: 三、恶意行为分析 信息窃取功能 剪贴板监控 : 屏幕截图 : 定期截取屏幕 转换为JPEG字节数组上传C2 凭证窃取 : Steam : 读取注册表获取安装路径 解析 loginusers.vdf 文件获取账户信息 Telegram : 查找 tdata 目录获取会话信息 Discord : 窃取 Local Storage 中的敏感数据 持久化技术 计划任务创建 : 注册表修改 : 添加自启动项: 修改Shell键: 四、检测与防护建议 检测指标 : 高熵.NET程序 异常的模块加载行为 计划任务创建事件(特别是MINUTE和ONLOGON触发器) 对敏感目录(Steam、Telegram、Discord)的异常访问 防护措施 : 监控.NET程序的异常网络连接 限制计划任务的创建权限 保护关键注册表键的修改 对剪贴板访问行为进行监控 五、技术总结 Dcrat展示了现代恶意软件的典型特征: 多阶段加载机制规避检测 复杂的混淆和加密技术 多种持久化方法 广泛的信息收集能力 灵活的C2通信设计 通过完整分析其技术实现,可有效提升对此类威胁的检测和防御能力。