APT28分析之X-agent样本分析
字数 2161 2025-08-03 16:44:35

APT28组织X-agent木马样本分析技术文档

1. 概述

X-agent是APT28组织(与俄罗斯政府相关的高级攻击团伙)的旗舰木马程序,具有多平台版本。该木马通常作为第二阶段攻击载荷,具备完整的功能模块。本文档将详细分析X-agent样本的技术细节。

2. 样本基础信息

2.1 初始加载器(spoolhost.exe)

  • 文件名称: spoolhost.exe
  • SHA-256: dfba21b4b7e1e6ebd162010c880c82c9b04d797893311c19faab97431bf25927
  • 创建时间: 2013-05-21 14:01:00
  • 文件大小: 145 KB (148,805 字节)
  • 功能: 下载执行后释放ose00000.exe和83D2CDE2-8311-40CB-B51D-EBE20FA803D1.dll两个文件

2.2 X-agent主模块

  • 文件名称: 83D2CDE2-8311-40CB-B51D-EBE20FA803D1.dll
  • SHA-256: 5f6b2a0d1d966fc4f1ed292b46240767f4acb06c13512b0061b434ae2a692fa1
  • 创建时间: 2013-05-21 13:53:21
  • 文件大小: 107 KB (109,568 字节)
  • 主要模块:
    • AgentKernel: 核心模块,负责与C&C通信
    • modKey: 键盘记录模块
    • modFS: 文件系统操作模块
    • modProcRet: 进程相关模块

3. 反分析技术

样本包含以下反分析机制:

  1. 时间检测: 检查系统时间是否超过正常机器速度,若检测到调试则直接退出
  2. 环境变量获取: 通过获取系统环境变量来释放DLL文件
  3. 持久化机制: 通过rundll32.exe执行dll中的init导出函数

4. 核心功能分析

4.1 初始化流程

  1. 获取临时文件路径并启动参数线程
  2. 获取硬盘信息
  3. 配置各功能模块:
    • LocalAgentWinHttpProxySender
    • AgentModuleRemoteKeyLogger
    • ModuleFileSystem
    • ProcessRetranslatorModule
  4. 启动主线程和其他模块线程

4.2 网络通信机制

4.2.1 网络检测

  • 首先连接adobeincorp.com测试网络连通性
  • 发现两个备份C&C地址:
    • 94.23.254.109
    • 216.244.65.34

4.2.2 通信加密

  1. 数据构造:

    • 使用硬编码key连接硬盘序列号
    • 将组合数据进行RC4加密(密钥为随机4字节)
    • 生成随机字符串进行异或操作,形成0x20字节数据
      • 结构:4字节随机 + 4字节RC4密钥 + 密文(包含硬编码key和硬盘序列号)
  2. Base64编码:

    • 使用非标准Base64算法
    • 可打印字符表被修改(最后两个字符不同)
  3. 通信频率:

    • POST和GET请求间隔15分钟发送

4.2.3 POST数据包

  • 结构:
    • 0-19字节: 硬编码key(用于验证)
    • 20-21字节: 0100表示AgentKernel模块
    • 22-39字节: 包含的模块列表,用"#"分隔
      • 0100: AgentKernel模块
      • 0110: modKey模块
      • 0111: modFS模块
      • 0113: modProcRet模块

4.2.4 GET请求

  • 在POST发送15分钟后发送
  • 使用相同的加密方式

5. 模块功能详解

5.1 临时文件操作

  • 在临时文件夹写入zdg6EF885E2.tmp文件
  • 文件结构:
    • 0-3字节: 字符串大小
    • 4-7字节: 0x5c997933(硬盘信息)
    • 8-9字节: 0x0001(AgentKernel ID)
    • 后续内容: 模块配置列表,用"#"分隔

5.2 硬盘信息获取

  • 构建设备ID
  • 用于生成唯一标识

5.3 屏幕截图功能

  • 通过邮槽(mailslot)机制等待指令
  • 匹配"SCREEN"指令触发截图

5.4 键盘记录功能

  • 监控系统最前窗口
  • 记录键盘输入

5.5 文件系统操作

  • 文件写入
  • 文件查找、执行和删除

6. 持久化机制(ose0000.exe)

主要功能:

  1. 设置DLL木马的持久化
  2. 确保恶意DLL在系统启动时自动加载

7. 检测与防御建议

7.1 检测指标

  • 文件特征:

    • 特定SHA-256哈希值
    • 非常规文件名(GUID格式DLL)
  • 网络特征:

    • 对adobeincorp.com的连接测试
    • 特定IP地址通信(94.23.254.109, 216.244.65.34)
    • 15分钟间隔的POST/GET请求
    • 非标准Base64编码数据
  • 行为特征:

    • 临时目录创建特定格式文件
    • 邮槽通信
    • 窗口监控行为

7.2 防御措施

  1. 监控和阻止非常规Base64编码的网络通信
  2. 限制rundll32.exe执行非常规路径的DLL
  3. 检测邮槽通信中的"SCREEN"指令
  4. 监控临时目录中的可疑文件创建
  5. 实施硬盘序列号白名单机制

8. 总结

X-agent木马展示了APT28组织的高度专业化能力,具备:

  • 模块化设计
  • 多重反分析技术
  • 复杂加密通信
  • 多种信息收集能力
  • 可靠的持久化机制

理解这些技术细节有助于安全团队更好地检测和防御此类高级威胁。

APT28组织X-agent木马样本分析技术文档 1. 概述 X-agent是APT28组织(与俄罗斯政府相关的高级攻击团伙)的旗舰木马程序,具有多平台版本。该木马通常作为第二阶段攻击载荷,具备完整的功能模块。本文档将详细分析X-agent样本的技术细节。 2. 样本基础信息 2.1 初始加载器(spoolhost.exe) 文件名称 : spoolhost.exe SHA-256 : dfba21b4b7e1e6ebd162010c880c82c9b04d797893311c19faab97431bf25927 创建时间 : 2013-05-21 14:01:00 文件大小 : 145 KB (148,805 字节) 功能 : 下载执行后释放ose00000.exe和83D2CDE2-8311-40CB-B51D-EBE20FA803D1.dll两个文件 2.2 X-agent主模块 文件名称 : 83D2CDE2-8311-40CB-B51D-EBE20FA803D1.dll SHA-256 : 5f6b2a0d1d966fc4f1ed292b46240767f4acb06c13512b0061b434ae2a692fa1 创建时间 : 2013-05-21 13:53:21 文件大小 : 107 KB (109,568 字节) 主要模块 : AgentKernel: 核心模块,负责与C&C通信 modKey: 键盘记录模块 modFS: 文件系统操作模块 modProcRet: 进程相关模块 3. 反分析技术 样本包含以下反分析机制: 时间检测 : 检查系统时间是否超过正常机器速度,若检测到调试则直接退出 环境变量获取 : 通过获取系统环境变量来释放DLL文件 持久化机制 : 通过rundll32.exe执行dll中的init导出函数 4. 核心功能分析 4.1 初始化流程 获取临时文件路径并启动参数线程 获取硬盘信息 配置各功能模块: LocalAgentWinHttpProxySender AgentModuleRemoteKeyLogger ModuleFileSystem ProcessRetranslatorModule 启动主线程和其他模块线程 4.2 网络通信机制 4.2.1 网络检测 首先连接adobeincorp.com测试网络连通性 发现两个备份C&C地址: 94.23.254.109 216.244.65.34 4.2.2 通信加密 数据构造 : 使用硬编码key连接硬盘序列号 将组合数据进行RC4加密(密钥为随机4字节) 生成随机字符串进行异或操作,形成0x20字节数据 结构:4字节随机 + 4字节RC4密钥 + 密文(包含硬编码key和硬盘序列号) Base64编码 : 使用非标准Base64算法 可打印字符表被修改(最后两个字符不同) 通信频率 : POST和GET请求间隔15分钟发送 4.2.3 POST数据包 结构 : 0-19字节: 硬编码key(用于验证) 20-21字节: 0100表示AgentKernel模块 22-39字节: 包含的模块列表,用"#"分隔 0100: AgentKernel模块 0110: modKey模块 0111: modFS模块 0113: modProcRet模块 4.2.4 GET请求 在POST发送15分钟后发送 使用相同的加密方式 5. 模块功能详解 5.1 临时文件操作 在临时文件夹写入zdg6EF885E2.tmp文件 文件结构 : 0-3字节: 字符串大小 4-7字节: 0x5c997933(硬盘信息) 8-9字节: 0x0001(AgentKernel ID) 后续内容: 模块配置列表,用"#"分隔 5.2 硬盘信息获取 构建设备ID 用于生成唯一标识 5.3 屏幕截图功能 通过邮槽(mailslot)机制等待指令 匹配"SCREEN"指令触发截图 5.4 键盘记录功能 监控系统最前窗口 记录键盘输入 5.5 文件系统操作 文件写入 文件查找、执行和删除 6. 持久化机制(ose0000.exe) 主要功能: 设置DLL木马的持久化 确保恶意DLL在系统启动时自动加载 7. 检测与防御建议 7.1 检测指标 文件特征 : 特定SHA-256哈希值 非常规文件名(GUID格式DLL) 网络特征 : 对adobeincorp.com的连接测试 特定IP地址通信(94.23.254.109, 216.244.65.34) 15分钟间隔的POST/GET请求 非标准Base64编码数据 行为特征 : 临时目录创建特定格式文件 邮槽通信 窗口监控行为 7.2 防御措施 监控和阻止非常规Base64编码的网络通信 限制rundll32.exe执行非常规路径的DLL 检测邮槽通信中的"SCREEN"指令 监控临时目录中的可疑文件创建 实施硬盘序列号白名单机制 8. 总结 X-agent木马展示了APT28组织的高度专业化能力,具备: 模块化设计 多重反分析技术 复杂加密通信 多种信息收集能力 可靠的持久化机制 理解这些技术细节有助于安全团队更好地检测和防御此类高级威胁。