多阶段DarkCloud Stealer分析与溯源反制
字数 1378 2025-08-29 22:41:02

DarkCloud Stealer多阶段分析与溯源反制技术文档

1. 概述

DarkCloud Stealer是一款由VC6编写的信息窃取恶意软件,采用多阶段反射加载技术绕过杀毒软件检测。本文档详细分析其攻击链、技术实现及有效的溯源反制方法。

2. 初始样本分析

2.1 样本特征

  • 文件名伪装:如"新购买订单"等诱导性名称
  • 开发平台:.NET WinForms应用程序
  • 加载方式:反射加载技术

2.2 恶意代码注入点

  • 位于Form1.InitializeComponent方法中
  • 在窗口初始化阶段插入恶意代码

2.3 反射加载实现

// 从资源中读取隐写数据
string resourceName = componentResourceManager.GetString("az"); // 返回"Load"
var assembly = LateBinding.LateGet(AppDomain.CurrentDomain, null, resourceName, ...);

// 动态创建实例
Type mainFormType = assembly.GetTypes()[0]; // 获取MainForm类
object instance = Activator.CreateInstance(mainFormType);

2.4 隐写技术

  • 数据隐藏在Bitmap图像资源中
  • 自定义提取算法从像素数据中还原PE文件

3. 第二阶段样本分析

3.1 模块特征

  • 高度混淆:包含大量垃圾代码干扰分析
  • 功能定位:"小马拉大马"式加载器

3.2 加载流程

  1. 再次从资源中读取隐写Bitmap
  2. 对Bitmap数据进行修改处理
  3. 内存中dump出有效载荷
  4. 动态解析类和方法名
  5. 通过反射调用目标方法(FgNZFlgdye)

4. 第三阶段样本分析

4.1 反混淆处理

  • 使用de4dot工具进行反混淆
  • 方法FgNZFlgdye被重命名为smethod_10

4.2 持久化技术

// 添加Windows Defender排除项
powershell命令添加当前进程到排除列表

// 文件复制
将自身复制到:C:\Users\Administrator\AppData\Roaming\CqzdFdKF.exe
设置文件属性:系统+隐藏+只读

// 计划任务持久化
通过schtasks.exeXML配置文件创建计划任务
任务配置:
  - 触发器:系统启动时
  - 操作:运行持久化后的exe
  - 权限:最高权限

4.3 进程注入技术

  1. 创建挂起进程:CREATE_NO_WINDOW | CREATE_SUSPENDED
  2. 经典傀儡进程注入流程:
    • 获取目标进程内存上下文
    • 分配内存并写入恶意代码
    • 修改入口点
    • 恢复线程执行

5. DarkCloud Stealer本体分析

5.1 基本信息

  • 开发语言:VB6(非VB.NET)
  • 功能模块:综合信息窃取器

5.2 数据收集功能

' 环境信息收集
外网IP获取:通过两个硬编码网站查询
数据存储目录:拼接环境变量生成

' 浏览器数据窃取
- 读取多种浏览器(Chrome, Firefox)的:
  * 保存的密码
  * Cookie数据
  * 历史记录
  * 自动填充数据
- 依赖sqlite.dll读取浏览器数据库

' 其他数据收集
- 屏幕截图
- 多种应用程序数据:
  * 加密货币钱包
  * FTP客户端配置
  * 即时通讯软件数据
  * 电子邮件客户端

5.3 数据外传机制

' Telegram Bot API通信
硬编码的Bot TokenUser ID
数据传输方式:
1. 将窃取数据打包压缩
2. 通过Telegram Bot API发送给攻击者
3. 支持大文件分片传输

6. 溯源与反制方法

6.1 攻击者信息获取

  • 从样本中提取的硬编码信息:
    • Telegram Bot Token
    • 攻击者User ID

6.2 反制技术实现

  1. Bot接管

    • 使用官方Bot API与https://api.telegram.org/bot<TOKEN>/交互
    • 获取所有聊天记录
    • 修改Bot设置
  2. 消息重定向

    • 使用开源工具如matka(https://github.com/0x6rss/matka)
    • 将所有发送给攻击者的消息转发到监控端
    • 可向攻击者发送伪造信息
  3. 攻击者追踪

    • 通过User ID获取攻击者基本信息
    • 监控其Telegram活动模式

6.3 防御建议

  1. 检测层面

    • 监控异常进程创建行为(特别是CREATE_SUSPENDED标志)
    • 检测添加Defender排除项的操作
    • 警惕计划任务中的可疑XML配置
  2. 防护层面

    • 限制PowerShell执行策略
    • 监控Telegram API通信
    • 定期检查AppData/Roaming目录异常文件
  3. 响应层面

    • 发现感染后立即重置所有保存的密码
    • 检查并清除持久化项目
    • 监控加密货币钱包活动

7. 技术总结

DarkCloud Stealer攻击链:

初始.NET样本 → 反射加载第二阶段 → 内存提取第三阶段 → 
VB6本体加载 → 信息收集 → Telegram外传

关键技术点:

  1. 多阶段反射加载绕过静态检测
  2. 多种隐写技术隐藏有效载荷
  3. 傀儡进程注入执行恶意代码
  4. 多持久化机制确保存活
  5. 使用老旧技术(VB6)降低分析效率

反制关键:

  1. 利用硬编码的Bot Token实现反监控
  2. 通过攻击者User ID进行追踪
  3. 破坏攻击者的数据收集通道
DarkCloud Stealer多阶段分析与溯源反制技术文档 1. 概述 DarkCloud Stealer是一款由VC6编写的信息窃取恶意软件,采用多阶段反射加载技术绕过杀毒软件检测。本文档详细分析其攻击链、技术实现及有效的溯源反制方法。 2. 初始样本分析 2.1 样本特征 文件名伪装:如"新购买订单"等诱导性名称 开发平台:.NET WinForms应用程序 加载方式:反射加载技术 2.2 恶意代码注入点 位于 Form1.InitializeComponent 方法中 在窗口初始化阶段插入恶意代码 2.3 反射加载实现 2.4 隐写技术 数据隐藏在Bitmap图像资源中 自定义提取算法从像素数据中还原PE文件 3. 第二阶段样本分析 3.1 模块特征 高度混淆:包含大量垃圾代码干扰分析 功能定位:"小马拉大马"式加载器 3.2 加载流程 再次从资源中读取隐写Bitmap 对Bitmap数据进行修改处理 内存中dump出有效载荷 动态解析类和方法名 通过反射调用目标方法( FgNZFlgdye ) 4. 第三阶段样本分析 4.1 反混淆处理 使用de4dot工具进行反混淆 方法 FgNZFlgdye 被重命名为 smethod_10 4.2 持久化技术 4.3 进程注入技术 创建挂起进程: CREATE_NO_WINDOW | CREATE_SUSPENDED 经典傀儡进程注入流程: 获取目标进程内存上下文 分配内存并写入恶意代码 修改入口点 恢复线程执行 5. DarkCloud Stealer本体分析 5.1 基本信息 开发语言:VB6(非VB.NET) 功能模块:综合信息窃取器 5.2 数据收集功能 5.3 数据外传机制 6. 溯源与反制方法 6.1 攻击者信息获取 从样本中提取的硬编码信息: Telegram Bot Token 攻击者User ID 6.2 反制技术实现 Bot接管 : 使用官方Bot API与 https://api.telegram.org/bot<TOKEN>/ 交互 获取所有聊天记录 修改Bot设置 消息重定向 : 使用开源工具如 matka (https://github.com/0x6rss/matka) 将所有发送给攻击者的消息转发到监控端 可向攻击者发送伪造信息 攻击者追踪 : 通过User ID获取攻击者基本信息 监控其Telegram活动模式 6.3 防御建议 检测层面 : 监控异常进程创建行为(特别是CREATE_ SUSPENDED标志) 检测添加Defender排除项的操作 警惕计划任务中的可疑XML配置 防护层面 : 限制PowerShell执行策略 监控Telegram API通信 定期检查AppData/Roaming目录异常文件 响应层面 : 发现感染后立即重置所有保存的密码 检查并清除持久化项目 监控加密货币钱包活动 7. 技术总结 DarkCloud Stealer攻击链: 关键技术点: 多阶段反射加载绕过静态检测 多种隐写技术隐藏有效载荷 傀儡进程注入执行恶意代码 多持久化机制确保存活 使用老旧技术(VB6)降低分析效率 反制关键: 利用硬编码的Bot Token实现反监控 通过攻击者User ID进行追踪 破坏攻击者的数据收集通道