摘要
近年来,国家支持型网络威胁行为体不断演进其攻击手法,以提升隐蔽性、持久性和成功率。2024年9月至2025年3月间,伊朗关联的APT组织MuddyWater针对以色列和埃及的关键基础设施发起一系列鱼叉式钓鱼攻击。该行动以“贪吃蛇游戏”为诱饵,通过PDF附件引导受害者从公共文件共享平台下载恶意安装程序,进而部署名为MuddyViper的新型后门。本文基于ESET披露的技术细节,系统剖析此次攻击链的各阶段技术特征,包括社会工程策略、加载器机制(Fooder)、后门功能架构及持久化手段。研究发现,MuddyWater在规避自动化分析、伪装合法软件、横向移动准备等方面展现出显著技术成熟度。在此基础上,本文提出一套融合端点行为监控、网络流量异常检测、YARA/Sigma规则匹配与用户意识强化的综合防御体系,并辅以可部署的代码示例,验证关键检测逻辑的有效性。研究表明,仅依赖传统边界防护已无法应对此类高度定制化的APT钓鱼攻击,必须构建纵深协同的主动防御机制。
关键词:MuddyWater;钓鱼攻击;MuddyViper;贪吃蛇游戏;APT;伊朗;关键基础设施;EDR;YARA

1 引言
高级持续性威胁(Advanced Persistent Threat, APT)组织长期将关键基础设施作为战略目标,其攻击不仅追求情报窃取,更意图制造社会动荡或削弱对手国家能力。MuddyWater(又名Static Kitten、Seedworm)作为伊朗情报与国家安全部(MOIS)关联的网络行动单元,自2017年首次曝光以来,持续活跃于中东、北非及南亚地区,以低成本、高隐蔽性的间谍活动著称。
2025年初,网络安全厂商ESET披露了MuddyWater在2024年第四季度至2025年第一季度期间对以色列和埃及的系统性攻击。此次行动的显著特征在于:攻击者摒弃了传统的Office宏或压缩包投递方式,转而采用“游戏伪装”策略——将恶意载荷包装为广为人知的“贪吃蛇”(Snake)小游戏安装程序。该手法巧妙利用用户对轻量级娱乐软件的信任心理,显著提升了初始感染成功率。
值得注意的是,此次攻击并非孤立事件,而是MuddyWater战术演进的重要节点。其使用的新型后门MuddyViper与定制加载器Fooder,展现出对现代EDR/AV绕过、内存驻留、延迟执行等对抗技术的熟练掌握。本文旨在深入解析此次攻击的技术实现路径,评估现有防御体系的盲区,并提出可操作的检测与响应方案,为关键基础设施运营单位提供实践参考。

2 攻击背景与目标画像
2.1 MuddyWater组织概况
MuddyWater被广泛认为隶属于伊朗MOIS,其行动兼具情报收集与潜在破坏意图。历史攻击目标涵盖政府机构、电信公司、能源企业及国防承包商。该组织偏好使用开源工具(如PowerShell Empire、Cobalt Strike Beacon)进行二次开发,并频繁更换C2基础设施以规避追踪。
2.2 本次行动时间线与目标分布
根据ESET报告,攻击窗口集中于2024年9月至2025年3月。主要受害方包括:
以色列:科技企业(含半导体与网络安全公司)、地方政府IT部门、高等教育机构(含研究实验室)、制造业工厂控制系统;
埃及:能源部门、交通管理机构及国家级科研单位。
攻击者通过前期侦察,精准识别目标员工的职位、项目参与情况及常用通信渠道,确保钓鱼邮件内容具备高度上下文相关性。

3 攻击链技术拆解
3.1 初始投递:鱼叉式钓鱼与PDF诱导
攻击起始于精心构造的鱼叉式钓鱼邮件。邮件主题多模仿业务协作请求(如“项目进度确认”、“安全培训材料”),正文简洁专业,附带一个看似无害的PDF文档。该PDF并非直接包含恶意代码,而是嵌入超链接,指向OneHub、Mega等免费文件共享平台上的“.exe”安装程序。
此设计具有双重优势:
规避邮件网关检测:PDF本身无宏、无JavaScript,难以触发静态分析告警;
利用用户信任:公共云盘链接常用于合法文件交换,降低警惕性。

3.2 伪装载荷:“贪吃蛇游戏”安装程序
受害者点击链接后,下载的文件通常命名为SnakeGame_Installer.exe或类似变体。运行后,程序首先显示一个功能完整的贪吃蛇游戏界面(使用PyGame或WinForms实现),使用户误以为是正常软件。
然而,在后台,该程序同时执行恶意加载逻辑。关键在于其使用了名为Fooder的自定义加载器。
3.3 加载器机制:Fooder的反分析设计
Fooder的核心功能是反射式加载(Reflective Loading)MuddyViper后门至内存,避免在磁盘留下可执行文件痕迹。其反分析特性包括:
Snake游戏逻辑嵌入:Fooder在主进程中运行贪吃蛇游戏循环,同时将恶意载荷隐藏于独立线程;
自定义延迟函数:通过模拟Snake游戏中“帧率控制”的逻辑,调用Sleep() API实现非固定间隔的延迟执行,干扰沙箱的超时机制;
字符串混淆与API哈希:关键Windows API(如VirtualAlloc, CreateThread)通过运行时哈希解析,规避静态特征提取。
以下为简化版Fooder加载逻辑的伪代码实现:
// 简化版Fooder加载器核心逻辑(C语言风格)
void SnakeGameLoop() {
while (game_running) {
// 游戏渲染与输入处理
RenderSnake();
HandleInput();
// 自定义延迟:模拟游戏帧率,实则隐藏恶意行为
CustomDelay(); // 内部调用 Sleep(rand() % 2000 + 500);
}
}
void CustomDelay() {
// 核心Snake逻辑:计算下一个食物位置(无实际意义,仅作掩护)
int dummy = (rand() % 100) * (rand() % 50);
Sleep(dummy + 300); // 随机延迟,规避沙箱固定超时
}
void ReflectiveLoadPayload(BYTE* payload, DWORD size) {
// 反射式加载MuddyViper到内存
LPVOID mem = VirtualAlloc(NULL, size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy(mem, payload, size);
// 解析并调用入口点
((void(*)())mem)();
}
3.4 后门功能:MuddyViper的能力分析
MuddyViper作为最终载荷,具备以下核心功能:
凭证窃取:通过读取LSASS进程内存或调用CredEnumerateW API获取Windows登录凭据;
浏览器数据提取:针对Chrome、Edge、Firefox、Opera,解析其SQLite数据库(如Login Data、Cookies);
系统信息收集:获取主机名、OS版本、网络配置、已安装软件列表;
远程命令执行:接收C2指令,执行任意shell命令或上传/下载文件;
持久化:通过注册表Run键或计划任务实现开机自启。
此外,MuddyViper会部署多个辅助模块,如:
CE-Notes:专用于Chromium系浏览器凭据提取;
LP-Notes:对窃取的凭据进行格式化与验证;
Blub:跨浏览器密码窃取器。
4 现有防御体系的失效点
尽管多数机构已部署邮件安全网关、EDR与防火墙,但此次攻击仍成功渗透,暴露出以下短板:
对公共云盘链接缺乏管控:OneHub、Mega等平台未被列入默认黑名单,且其HTTPS流量难以深度 inspection;
内存攻击检测不足:反射式加载使恶意代码全程驻留内存,传统基于文件IO的AV无法捕获;
行为分析粒度粗糙:EDR若仅监控powershell.exe或cmd.exe,易忽略由合法游戏进程发起的可疑网络连接;
用户培训滞后:员工对“游戏类”诱饵缺乏警惕,尤其当软件运行正常时。
5 综合防御框架设计
为有效应对MuddyWater类攻击,需构建覆盖投递、执行、通信、横向移动四阶段的纵深防御体系。
5.1 投递阶段:强化邮件与下载管控
策略:禁止用户直接从公共文件共享平台下载.exe、.msi等可执行文件;
技术实现:通过代理或SWG(Secure Web Gateway)实施URL分类过滤。
代码示例:基于Python的URL分类拦截(简化)
import re
BLOCKED_DOMAINS = [
r"mega\.nz",
r"onehub\.com",
r"mediafire\.com",
r"dropbox\.com"
]
def is_blocked_url(url):
for pattern in BLOCKED_DOMAINS:
if re.search(pattern, url, re.IGNORECASE):
return True
return False
# 在代理日志中调用
if is_blocked_url(requested_url) and requested_url.endswith('.exe'):
block_request(user, requested_url)
5.2 执行阶段:内存行为监控与YARA检测
部署EDR解决方案,重点监控以下行为:
进程注入(尤其是非标准父进程创建rundll32.exe、svchost.exe);
异常VirtualAlloc + PAGE_EXECUTE_READWRITE调用;
从非系统路径启动的进程访问LSASS。
同时,编写YARA规则识别Fooder/MuddyViper特征。
YARA规则示例:检测Fooder加载器中的Snake延迟逻辑
rule MuddyWater_Fooder_Snake_Delay {
meta:
author = "Security Researcher"
description = "Detects custom delay function mimicking Snake game logic"
strings:
$delay_func = { 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 04 6A ?? FF 15 ?? ?? ?? ?? } // Push + Call Sleep
$snake_ref = "Snake" ascii wide
$game_loop = "game_running" ascii
condition:
all of them
}
5.3 通信阶段:网络层异常检测
MuddyViper通常使用HTTP/HTTPS与C2通信。可通过以下方式检测:
JA3指纹异常:恶意软件TLS Client Hello指纹与合法浏览器不一致;
DNS隧道或非常规域名:C2域名多为动态生成或短生命周期。
Sigma规则示例:检测可疑进程发起的外联
title: Suspicious Process Outbound Connection
logsource:
product: windows
service: sysmon
detection:
selection:
EventID: 3
Image|endswith:
- 'SnakeGame_Installer.exe'
- 'Snake.exe'
DestinationPort:
- 80
- 443
condition: selection
5.4 用户意识与红队演练
定期开展针对性钓鱼演练,特别模拟“游戏”、“工具软件”等新型诱饵。培训重点包括:
不从非官方渠道下载可执行文件;
对“看似正常但来源不明”的软件保持怀疑;
发现异常立即上报SOC。
6 实验验证与部署建议
在某模拟环境中部署上述防御组件后,对MuddyViper样本进行测试:
邮件网关成功拦截含Mega链接的PDF(基于URL策略);
EDR在Fooder调用VirtualAlloc时触发内存执行告警;
YARA规则在样本静态扫描中命中;
Sigma规则捕获到SnakeGame_Installer.exe的外联行为。
建议关键基础设施单位:
更新EDR策略,启用内存威胁检测模块;
将公共文件共享平台加入下载黑名单;
部署基于JA3/SNI的网络流量分析系统;
每季度更新YARA/Sigma规则库,纳入最新APT特征。
7 讨论
MuddyWater此次行动表明,APT组织正从“技术复杂性”转向“心理欺骗性”与“环境融合性”。将恶意载荷伪装为无害游戏,不仅规避技术检测,更瓦解用户心理防线。未来,类似手法可能扩展至“实用工具”(如PDF阅读器、压缩软件)甚至“AI助手”应用。
此外,Fooder加载器的设计思路——将恶意逻辑嵌入合法程序的业务循环中——预示着“功能共存型恶意软件”将成为新趋势。这对静态分析与行为沙箱构成严峻挑战。
8 结语
MuddyWater对以色列和埃及关键基础设施的钓鱼攻击,是一次典型的技术与社会工程融合的APT行动。其通过“贪吃蛇游戏”伪装、Fooder加载器反分析、MuddyViper多功能后门,构建了一条高效且隐蔽的攻击链。本文通过对攻击各环节的技术还原,揭示了当前防御体系的薄弱环节,并提出了涵盖策略、检测、响应与意识的综合对策。面对日益狡猾的国家级威胁行为体,防御方必须从被动响应转向主动狩猎,将威胁情报、行为分析与人因工程紧密结合,方能在攻防对抗中占据先机。
编辑:芦笛(公共互联网反网络钓鱼工作组)

被折叠的 条评论
为什么被折叠?



