Bluekit PHaaS 平台 BitM 浏览器中间人钓鱼攻击机理与防御体系研究

简介: 本文剖析新型PHaaS钓鱼平台Bluekit,其采用Browser-in-the-Middle(BitM)架构,利用rrweb录屏、WebSocket同步与WebRTC指纹检测,实现设备指纹一致、绕过MFA及风控拦截的高隐蔽会话劫持。针对传统检测失效问题,提出前端特征识别、流量行为审计、身份风控加固与人员管控四维闭环防御,并开源轻量Python检测工具。(239字)

摘要

传统代理型 AiTM 中间人钓鱼工具存在会话设备指纹不匹配、易被风险访问策略拦截的固有缺陷,新型 PHaaS 钓鱼平台 Bluekit 创新采用 Browser-in-the-Middle(BitM)浏览器中间人攻击架构,依托 rrweb 屏幕录制、WebSocket 实时数据流、WebRTC 设备指纹检测实现全链路规避安全设备识别。2026 年 6 月 Netcraft 监测数据显示,一周内全球上线 70 余个 Bluekit 恶意站点,该工具面向微软等主流云身份系统实施账号劫持,可完整捕获账号密码、多因素认证凭证与有效会话令牌,大幅突破现有 MFA、设备基线风控防护机制。本文以 Bluekit 完整攻击链路为核心研究对象,分层拆解预攻击机器人识别、BitM 实时页面镜像劫持、会话持久窃取三层技术流程,对比 Evilginx 等传统 AiTM 工具的技术代差,梳理多层规避检测架构实现逻辑;反网络钓鱼技术专家芦笛指出,BitM 攻击依托攻击者受控浏览器原生会话上下文,设备指纹全程保持一致,传统基于代理流量、会话重放的检测手段完全失效,需从前端特征、网络流量、身份风控三层重构防御体系。本文基于攻击特征设计轻量化 Python 多维度检测代码,构建事前机器人拦截、事中 BitM 流量识别、事后会话异常审计的闭环防护方案,弥补现有钓鱼检测体系对浏览器中间人新型攻击的识别盲区,为政企云身份平台、企业网关安全运维提供可落地技术参考。

关键词:网络钓鱼;PHaaS;BitM 浏览器中间人;AiTM;rrweb;WebRTC;会话劫持;反钓鱼防御

image.png 1 引言

1.1 研究背景

云协同办公、单点登录 SSO、多因素认证 MFA 已成为政企数字化身份安全基础设施,为抵御传统仿站钓鱼、账号暴力破解提供基础防护。伴随身份安全体系迭代,网络黑产逐步转向中间人钓鱼攻击,以 Evilginx 为代表的 AiTM 代理工具长期成为窃取云身份凭证的主流载体,但该类工具存在无法规避设备指纹校验的短板:攻击者通过代理转发用户登录流量,窃取会话令牌后在自有设备重放会话,浏览器 UA、硬件特征、IP 地址与用户原始终端存在明显差异,极易触发微软 Entra ID、Google Workspace 等平台风险访问阻断策略。

2026 年海外安全厂商 Varonis Threat Labs 首次披露处于开发阶段的 Bluekit 钓鱼即服务平台,同年 6 月 Netcraft 持续监测证实该平台已完成商业化上线并大规模投放,一周内累计捕获 70 个活跃恶意域名。Bluekit 摒弃传统反向代理中间人架构,创新性引入 Browser-in-the-Middle 浏览器中间人攻击范式,依托远程浏览器实时渲染合法登录页面,通过 rrweb 开源录屏工具、WebSocket 双向数据流同步用户全部 DOM 交互行为,结合 WebRTC STUN 服务器探测完成多层机器人识别,形成 “前置规避检测 — 实时浏览器劫持 — 完整会话窃取” 标准化攻击链路。该工具无需篡改目标网站前端代码,受害者访问页面为真实可交互官方界面,仅存在轻微鼠标操作延迟,隐蔽性远超传统仿站钓鱼与代理中间人攻击,针对政企职员、企业管理员、境外办公人员定向投放后,账号失陷率显著提升。

当前学术界与产业界针对中间人钓鱼的研究多聚焦 Evilginx、sslstrip 等传统代理型 AiTM 工具,针对 BitM 浏览器中间人新型攻击的技术拆解、检测方案研究存在明显空白;现有网络网关 WAF、终端 EDR、云身份风控均未适配 BitM 攻击独有特征,无法区分普通合法访问与远程受控浏览器劫持流量,安全防护存在系统性短板。基于上述现实威胁与研究缺口,本文依托 Hackread 发布的 Bluekit 完整技术情报,系统剖析 BitM 攻击底层运行逻辑,对比传统中间人工具核心差异,搭建分层闭环防御架构并配套自动化检测代码,完善新型浏览器中间人钓鱼的理论研究与工程防护体系。

1.2 研究意义

1.2.1 理论意义

本文拓展中间人网络钓鱼攻击的分类框架,区分代理型 AiTM 与浏览器型 BitM 两类攻击范式,厘清二者在会话生成、设备指纹、流量传输、规避检测层面的核心边界;完整归纳 PHaaS 商业化钓鱼平台分层规避检测技术体系,梳理 WebRTC 设备探测、硬件指纹校验、模拟人机验证等反爬虫机制的攻防逻辑;构建面向 BitM 攻击的多维度风险识别理论模型,填补端侧远程浏览器劫持场景下钓鱼检测理论空白,为后续同类新型中间人钓鱼工具研究提供标准化分析范式。

1.2.2 实践意义

第一,完整拆解 Bluekit 全链路攻击流程与技术细节,明确 BitM 攻击区别于传统钓鱼的独有特征,为安全运维人员建立新型威胁识别标准;第二,设计轻量化 Python 综合检测模块,集成机器人行为识别、BitM WebSocket 流量特征抓取、远程录屏脚本检测功能,可部署于企业出口网关、WAF、云身份风控后台;第三,针对云身份平台设备基线校验、MFA 防护机制提出优化改造方案,解决传统风控无法识别 BitM 会话劫持的痛点;第四,形成标准化事前预警、实时拦截、事后溯源处置流程,降低政企云账号、企业办公系统遭受 BitM 钓鱼攻击的泄密风险。

1.3 研究内容与文章框架

本文主体分为七大模块:第一部分梳理 Bluekit 平台商业化现状、攻击目标与整体威胁规模;第二部分分层拆解 Bluekit 双层运行架构,完整还原预攻击规避检测、BitM 浏览器中间人劫持两大核心阶段技术流程;第三部分横向对比 Bluekit BitM 与 Evilginx AiTM 代理中间人攻击的技术差异,总结 BitM 攻击的核心优势与防御难点;第四部分归纳当前政企安全防护体系针对 BitM 攻击存在的多层短板;第五部分构建 “前端页面检测 — 网络流量识别 — 身份风控加固 — 人员安全管控” 四维闭环防御体系;第六部分实现适配网关与风控平台的 BitM 钓鱼自动化检测 Python 代码,并完成模块功能、部署场景解析;第七部分总结全文研究结论,提出 BitM 钓鱼攻击未来攻防演进方向。

2 Bluekit PHaaS 钓鱼平台整体威胁概况

2.1 Bluekit 平台商业化运营现状

Bluekit 属于标准化钓鱼即服务(PHaaS)商业化平台,攻击者无需具备前端、网络代理开发能力,仅通过付费订阅即可获取全套 BitM 攻击工具链、恶意域名托管、机器人检测模板、远程浏览器调度服务。2026 年上半年 Varonis Threat Labs 监测到该平台处于内测开发阶段,仅少量测试域名上线;截至 6 月 Netcraft 专项监测数据显示,单周内新增 70 个处于活跃攻击状态的恶意站点,平台已完成规模化商业化投放,黑产从业者获取攻击工具的技术门槛大幅降低。

平台提供标准化可视化后台,支持攻击者自定义仿冒目标,主流劫持对象以微软 Azure、Office365 登录页面为主,同时兼容 Google、企业自研 SSO 登录系统。攻击者仅需上传钓鱼分发链接(邮件、社交软件、短信诱饵),平台自动完成前置机器人校验、远程浏览器实例调度、DOM 交互数据回传、窃取凭证存储全流程自动化处理,大幅降低中间人钓鱼的实施成本。

2.2 攻击目标与诱饵分发逻辑

Bluekit 攻击目标集中于具备云办公账号、企业管理权限的高价值人群,分层精准投放诱饵,无大规模无差别群发:

企业行政、财务、IT 运维人员:诱饵伪装成企业云文档共享通知、账户权限更新提醒、发票核验链接,利用工作刚需诱导点击;

中高层企业管理者:伪造内部会议资料、人事调整文件、云存储扩容通知,制造业务紧迫感降低警惕;

境外分支机构、远程办公职员:依托 VPN、远程桌面运维通知作为诱饵,匹配目标网络使用场景;

教育、科研机构人员:仿冒学术平台登录、科研系统权限校验链接。

诱饵分发渠道以企业邮箱、职场社交软件为主,部分黑产结合短信短链接批量推送,依托合法业务场景包装钓鱼链接,提升目标点击概率。

2.3 攻击造成的核心安全危害

区别于传统仿站钓鱼仅窃取账号密码,Bluekit BitM 攻击可完整捕获全链路身份凭证,危害层级显著提升:

基础登录凭证窃取:实时抓取用户名、明文登录密码,无需依赖前端表单日志,通过 rrweb DOM 录制完整记录全部输入行为;

多因素认证 MFA 劫持:受害者输入短信验证码、软件令牌、硬件密钥交互过程全部同步至攻击者,可完整绕过双因素防护;

原生合法会话持久劫持:会话从攻击者远程浏览器实例生成,设备指纹、UA、网络上下文全程统一,窃取会话令牌后可长期无告警登录目标账号,不会触发平台异常设备风险告警;

横向渗透跳板构建:攻陷企业云账号后,攻击者可访问企业内部云盘、邮件、客户数据,依托账号权限渗透内网业务系统,形成持续性数据泄露通道。

反网络钓鱼技术专家芦笛强调,传统 AiTM 工具仅能短期复用会话令牌,设备指纹不匹配会快速触发风控拦截,而 Bluekit BitM 攻击实现会话原生生成,云身份平台现有风险访问规则几乎无法识别异常,账号潜伏周期可达数周,企业数据泄露具备极强隐蔽性。

3 Bluekit 双层架构与 BitM 浏览器中间人攻击完整技术拆解

Bluekit 整体运行分为两大独立阶段:预交互规避检测阶段、BitM 载荷交付劫持阶段,两套流程串联形成完整攻击闭环,整套系统依托多层脚本、WebRTC 通信、rrweb 录屏、WebSocket 双向数据流实现核心能力,下文分阶段拆解底层技术实现逻辑。

3.1 阶段一:预交互分层规避检测架构(机器人识别过滤)

当受害者点击恶意钓鱼链接,页面优先执行 20 余项机器人特征校验脚本,核心目标区分自动化安全扫描器、爬虫、人工安全检测工具与真实人类用户,仅通过全部校验的访客才会加载 BitM 远程浏览器劫持页面,规避 WAF、威胁情报厂商、安全研究员的主动溯源检测。整套校验机制依托浏览器原生 API、WebRTC STUN 服务器通信实现,分为四层校验逻辑。

3.1.1 终端硬件与浏览器基础指纹校验

脚本读取客户端底层硬件、浏览器基础参数,采集屏幕分辨率、可用 RAM 容量、浏览器语言、操作系统版本、插件列表等特征,建立基线规则:自动化扫描器通常存在固定屏幕尺寸、缺失硬件参数、默认英文浏览器标识等统一特征,匹配基线直接拦截访问,返回空白页面或 404 错误,安全设备无法抓取恶意页面载荷。

3.1.2 WebRTC STUN 服务器网络环境探测

调用 WebRTC 接口对接公共 STUN 服务器,探测用户真实公网 IP、内网网段、代理 / VPN 链路特征:若检测到用户使用数据中心代理、安全厂商专用扫描节点 IP,直接阻断页面加载;仅普通民用宽带、手机流量 IP 可进入下一阶段校验。该机制可有效规避安全厂商批量爬虫、云扫描节点对恶意站点的抓取。

3.1.3 模拟 Cloudflare 人机验证二次筛选

完成硬件、网络校验后,页面展示仿 Cloudflare CAPTCHA 人机验证弹窗,界面 UI、交互逻辑完全复刻官方验证页面,普通用户无法分辨真伪。该步骤存在双重作用:一是进一步过滤无交互能力的自动化扫描工具;二是降低人类用户戒备心理,完成验证后自然加载 “官方登录页面”,减少用户中途退出概率。

3.1.4 多层脚本混淆隐藏校验逻辑

全部机器人检测 JavaScript 脚本采用多重 Base64 编码、字符串混淆、动态变量生成技术,WAF 静态 JS 特征匹配无法识别恶意校验逻辑;脚本分片段异步加载,无完整恶意代码文本留存,传统静态页面检测工具难以提取攻击特征,进一步提升规避检测能力。

3.2 阶段二:BitM 浏览器中间人载荷交付与会话劫持核心流程

完成全部预交互校验后,系统调度攻击者后台受控远程浏览器实例,启动 Browser-in-the-Middle 中间人攻击,依托 rrweb 录屏框架、WebSocket 长连接实现受害者与攻击者浏览器的实时交互同步,完整劫持登录会话,整套流程分为五步。

3.2.1 远程浏览器实例调度与合法页面加载

Bluekit 后台维护分布式远程浏览器集群,用户通过机器人校验后,系统分配空闲无头浏览器实例,实例内直接访问微软、Google 等官方真实登录域名,加载完整原生合法登录页面,不存在仿站伪造页面 DOM 结构,页面证书、域名、前端资源全部为官方可信资源,流量加密特征与正常用户访问无差异,网关无法通过页面内容识别钓鱼行为。

3.2.2 rrweb 录屏与 WebSocket 双向数据流搭建

远程浏览器实例内置 rrweb 开源录屏组件,建立 WebSocket 长连接与受害者本地浏览器双向通信:

上行数据流:远程浏览器页面全部 DOM 变更、鼠标点击、键盘输入、弹窗交互操作实时序列化,通过 WebSocket 推送至受害者本地浏览器渲染展示;受害者视觉上看到完整、可正常操作的官方登录界面;

下行数据流:受害者本地鼠标、键盘操作指令反向通过 WebSocket 回传至攻击者远程浏览器实例,所有输入行为直接作用于真实登录页面 DOM 元素。

技术核心:受害者所有账号、验证码输入操作,直接写入攻击者受控浏览器的官方登录表单,数据不会经过钓鱼站点中间代理转发,不存在代理流量篡改特征,传统 AiTM 流量检测规则完全失效。

3.2.3 凭证实时捕获与会话令牌留存

攻击者后台同步监听远程浏览器 DOM 输入事件与存储容器:

键盘输入监听:完整记录用户名、登录密码、MFA 验证码全部明文内容,实时存储至 Bluekit 平台后台数据库;

浏览器存储劫持:登录完成后,远程浏览器生成的会话 Cookie、身份令牌、持久登录凭证全部留存于攻击者实例,无需从受害者终端窃取令牌,不存在会话跨设备重放行为。

3.2.4 原生统一设备指纹规避风控告警

传统 Evilginx 类 AiTM 工具流量经代理转发,受害者终端与攻击者登录设备属于两套独立浏览器环境,UA、硬件指纹、IP 地址存在明显冲突,云身份风控识别设备不匹配直接阻断会话。Bluekit BitM 攻击中,登录会话完整生成于攻击者远程浏览器实例,平台记录的设备指纹、浏览器标识、网络 IP 均为攻击者远程浏览器统一特征,全程无设备信息变更,云身份风险访问策略无法识别会话异常,攻击者可长期持有有效登录会话静默访问目标企业系统。

3.2.5 交互隐蔽性设计降低用户察觉概率

整套交互仅存在轻微鼠标点击延迟,无页面错位、图片加载失败、证书报错等传统钓鱼典型异常特征;页面跳转、弹窗、验证流程与官方站点完全一致,普通用户难以通过视觉、交互感知识别劫持行为,仅极少数具备安全专业知识的用户可通过操作延迟判断异常。

3.3 BitM 攻击完整数据闭环逻辑

从诱饵点击、机器人校验、远程浏览器渲染、用户交互输入、凭证回传、会话持久持有形成完整自循环攻击闭环:受害者完成登录认证后,攻击者无需二次操作即可持续使用合法会话访问目标账号,同时平台支持攻击者导出全部窃取凭证、会话 Cookie,用于横向渗透其他关联业务系统;平台同步记录目标企业域名、账号信息,用于后续批量生成同类型钓鱼诱饵,持续扩大攻击范围。

4 Bluekit BitM 与传统 AiTM 中间人钓鱼技术对比及防御难点

4.1 Bluekit BitM 与 Evilginx 代理型 AiTM 核心差异对比

当前主流中间人钓鱼以 Evilginx 反向代理 AiTM 为代表,二者技术架构、会话生成逻辑、规避检测能力存在本质代差,多维度对比如表 1 所示。

表 1 BitM 浏览器中间人攻击与传统代理 AiTM 攻击对比

表格

对比维度 Bluekit BitM 浏览器中间人 Evilginx 代理型 AiTM 中间人

页面来源 攻击者远程浏览器加载官方真实页面 钓鱼服务器反向代理转发官方页面

数据传输链路 WebSocket 双向同步 DOM 交互,无代理转发 HTTP/HTTPS 代理流量中转,全部数据经过钓鱼服务器

会话生成位置 攻击者受控远程浏览器实例 受害者本地浏览器,代理转发凭证

设备指纹一致性 全程统一,无设备特征冲突 受害者终端与攻击者设备指纹完全割裂

MFA 劫持能力 完整捕获全部验证交互,无拦截限制 可窃取验证码,但会话重放易触发风控

静态页面检测抗性 页面为官方原生资源,无恶意 DOM 特征 页面存在代理转发特征,WAF 可识别

机器人规避手段 20 余项硬件 + WebRTC 网络多层校验 仅基础 UA、Cookie 简单爬虫过滤

用户可感知异常 仅轻微鼠标操作延迟 页面加载卡顿、证书警告、跳转异常多发

云身份风控拦截概率 极低,设备基线无冲突 较高,跨设备会话重放快速告警

4.2 当前政企安全体系应对 BitM 攻击的核心防御难点

4.2.1 流量检测机制失效

传统 WAF、网关入侵检测系统基于代理中间人流量特征、仿站页面恶意 JS、表单劫持脚本建立检测规则,Bluekit BitM 攻击使用官方真实页面,流量仅包含 WebSocket DOM 同步数据流,无代理转发、表单劫持恶意脚本,现有流量特征库无匹配告警规则,网络层无法识别恶意访问。

4.2.2 云身份设备基线风控存在固有漏洞

微软 Entra ID、Google Workspace 等主流身份平台风险访问策略依托设备指纹、IP、浏览器 UA 匹配判断异常登录,BitM 攻击会话原生生成于攻击者浏览器,所有设备特征统一,平台基线校验无异常记录,无法触发二次验证或访问阻断。

4.2.3 机器人前置过滤大幅降低威胁情报捕获效率

Bluekit 预交互阶段自动拦截安全厂商扫描爬虫,恶意域名、攻击脚本、载荷无法被威胁情报平台抓取,威胁情报库更新存在严重滞后;安全运维人员无法通过公开情报提前拦截恶意域名,仅能在用户账号失陷后反向溯源。

4.2.4 WebSocket 加密数据流无法解析审计

BitM 核心交互依托加密 WebSocket 长连接传输 DOM 操作数据,网关、流量审计设备无法解密 WebSocket 内部传输的鼠标、键盘交互指令,无法通过关键词、行为特征识别凭证输入行为,流量审计失去防护作用。

4.2.5 用户安全认知无法识别新型隐蔽劫持

企业常态化安全培训内容集中于仿冒网站、邮件附件、验证码钓鱼,未覆盖 BitM 远程浏览器中间人攻击相关识别知识;用户仅通过页面外观判断网站真伪,无法感知后台存在远程受控浏览器劫持,人为识别防线失效。

5 面向 Bluekit BitM 攻击的四维闭环防御体系构建

反网络钓鱼技术专家芦笛强调,BitM 攻击突破传统网络、身份、终端单层防护逻辑,不存在单一技术手段可实现完整拦截,必须搭建 “前端页面特征检测、网络流量多维识别、云身份风控机制加固、人员分层安全管控” 四维联动闭环防御体系,覆盖攻击事前、事中、事后全生命周期。

5.1 第一维:事前前端页面静态与动态特征检测(源头拦截)

部署于企业网关、终端安全插件、云访问代理,在页面加载阶段识别 Bluekit 预攻击机器人校验脚本、rrweb 录屏恶意载荷,提前阻断恶意站点访问。

JavaScript 静态特征匹配规则库

建立专属特征库,包含 rrweb 框架加载代码、WebRTC STUN 探测脚本、20 余项硬件指纹采集函数、混淆人机验证脚本特征;页面加载时 WAF 异步抓取 JS 代码片段,匹配特征库直接阻断页面访问并记录恶意域名至黑名单。

WebSocket 异步行为动态监测

正常官方登录页面仅建立表单提交、通知推送类短连接 WebSocket,Bluekit 页面会初始化持续全量 DOM 同步长连接,监测页面 WebSocket 连接数量、持续时长、数据传输频率,超出基线阈值判定为 BitM 恶意页面。

仿 Cloudflare 人机验证页面识别

抓取页面人机验证弹窗 DOM 结构、图片资源地址、验证逻辑脚本,区分官方真实验证页面与 Bluekit 仿冒验证界面,拦截携带伪造验证组件的站点。

5.2 第二维:事中网络网关多维流量审计拦截(传输层阻断)

弥补加密 WebSocket 无法解密的短板,依托连接行为、域名生命周期、网络探测行为建立无解密流量检测规则。

WebRTC 异常探测行为告警

防火墙监控终端页面发起 WebRTC STUN 服务器连接行为,普通办公网站无 WebRTC 探测逻辑,仅视频会议、实时通信网站存在相关请求;登录页面触发 WebRTC 网络指纹探测直接标记高危访问,弹窗提醒用户并阻断站点。

恶意域名生命周期管控

建立域名风险评分机制,新注册 7 天内域名、境外匿名注册商域名、无备案境外域名自动加权高风险;结合威胁情报库定期同步 Bluekit 恶意域名列表,网关全局拦截访问请求。

WebSocket 流量基线管控

针对企业员工访问微软、Google 登录域名建立 WebSocket 流量基线,限制单页面长连接持续传输 DOM 序列化数据,超出传输流量阈值自动断开连接并上报安全运维平台。

5.3 第三维:云身份平台风控机制加固(会话层兜底防护)

针对 BitM 攻击设备指纹统一、无跨设备会话特征的漏洞,重构身份平台风险访问判断逻辑,补充多维度校验维度。

新增操作时序行为基线

除设备、IP 指纹外,采集用户鼠标操作间隔、键盘输入速度、页面滚动轨迹等人机行为特征;BitM 攻击存在固定操作延迟偏差,行为时序与正常用户存在明显差异,触发额外二次身份核验。

会话持久化分级管控

关闭默认持久登录权限,高权限账号强制单次会话有效时限,超过时限自动下线;禁止陌生网络环境长期留存会话 Cookie,定期强制重新完成 MFA 验证。

企业内网 IP 白名单绑定

政企办公账号绑定企业固定办公 IP 段,外部公网 IP 访问时强制启用硬件密钥二次验证;即便 BitM 窃取会话令牌,外部 IP 访问仍会触发高强度身份校验,阻断账号操作。

5.4 第四维:人员安全意识常态化管控(长效治本)

技术防护存在规则绕过可能性,人员安全认知是闭环防御最后屏障,针对 BitM 攻击开展专项分层培训。

BitM 新型钓鱼专项科普培训

向全体员工讲解 BitM 攻击核心特征:正规登录页面不会出现明显鼠标点击延迟、官方站点不会在登录前强制弹出第三方人机验证、任何登录页面调用网络探测、硬件信息采集脚本均为恶意站点;定期推送 Bluekit 攻击案例演练。

可疑链接标准化核验流程

制定办公链接核验规范:收到陌生云文档、权限更新链接,禁止直接点击,通过企业内部通讯渠道联系发件人线下核验;访问登录页面出现操作延迟、额外验证弹窗立即关闭页面并上报安全部门。

钓鱼诱饵一键上报机制

终端安全插件内置可疑页面一键上报功能,员工发现仿冒验证、页面操作延迟、异常网络探测弹窗可实时上传页面源码、域名、流量日志,运维团队快速提取攻击特征,同步更新全网 WAF 拦截规则。

5.5 事后失陷账号标准化应急处置闭环

若出现员工账号遭 BitM 劫持事件,执行标准化处置流程降低泄密损失:

会话紧急失效:身份平台一键注销该账号全部在线会话,作废所有本地存储会话 Cookie 与持久凭证;强制用户重置登录密码、更换 MFA 绑定设备。

恶意站点溯源取证:提取钓鱼域名、页面 JS 载荷、WebSocket 流量日志,上传威胁情报平台,全网同步拦截该域名及同特征站点。

横向风险排查:检索企业内部同部门、同岗位员工访问记录,批量推送 BitM 钓鱼风险预警,排查是否存在同类诱饵扩散。

防御体系迭代复盘:梳理攻击突破防护环节,补充 JS 特征、流量基线、身份风控规则,更新员工安全培训案例,填补防护短板。

6 BitM 钓鱼攻击自动化检测 Python 代码实现

基于前文网关、WAF、云风控平台检测需求,开发三合一轻量化检测模块,包含三大核心功能:页面 JS 恶意特征识别、WebRTC/WebSocket 流量行为检测、人机验证仿冒页面判定,适配 Python3.9 及以上版本,依赖 requests、beautifulsoup4、re、websockets 开源库,无重型深度学习框架,支持网关离线批量扫描与在线实时检测双模式。

6.1 环境依赖安装命令

pip install requests beautifulsoup4 websockets re

6.2 完整可运行检测代码

import re

import requests

from bs4 import BeautifulSoup

from requests.exceptions import RequestException


# ===================== 全局BitM攻击风险特征库 =====================

# rrweb录屏组件恶意JS特征字符串

RRWEB_MALICIOUS_SIGN = ["rrweb.record", "rrweb.Replayer", "rrweb-snapshot"]

# WebRTC STUN探测脚本特征

WEBRTC_STUN_SIGN = ["RTCPeerConnection", "stun:stun.", "getStats()"]

# 仿Cloudflare人机验证DOM特征

FAKE_CAPTCHA_SIGN = ["cf-turnstile", "cloudflare-challenge", "fake-captcha-box"]

# WebSocket长连接DOM同步风险标识

WS_DOM_SYNC_SIGN = ["websocket.send(JSON.stringify(snapshot))"]

# 硬件指纹采集脚本关键词

HARDWARE_FINGER_SIGN = ["screen.width", "navigator.deviceMemory", "navigator.language"]

# 风险判定总分阈值,≥6判定为BitM恶意钓鱼页面

RISK_THRESHOLD = 6


# ===================== 模块1:页面静态JS特征检测 =====================

def detect_bitm_js_feature(page_html: str) -> dict:

   """

   解析页面HTML,匹配Bluekit预攻击与BitM劫持恶意JS特征

   """

   risk_score = 0

   risk_label = []

   soup = BeautifulSoup(page_html, "html.parser")

   script_list = soup.find_all("script")

   all_script_text = ""

   for script in script_list:

       text = str(script.string) if script.string else str(script.get("src", ""))

       all_script_text += text


   # 检测rrweb录屏组件

   for sig in RRWEB_MALICIOUS_SIGN:

       if sig in all_script_text:

           risk_score += 3

           risk_label.append(f"页面加载rrweb录屏组件,BitM核心特征:{sig}")

   # 检测WebRTC STUN网络探测脚本

   for sig in WEBRTC_STUN_SIGN:

       if sig in all_script_text:

           risk_score += 2

           risk_label.append(f"页面存在WebRTC IP探测脚本:{sig}")

   # 检测硬件指纹采集代码

   for sig in HARDWARE_FINGER_SIGN:

       if sig in all_script_text:

           risk_score += 1

           risk_label.append(f"页面采集终端硬件指纹:{sig}")

   # 检测WebSocket DOM同步传输代码

   for sig in WS_DOM_SYNC_SIGN:

       if sig in all_script_text:

           risk_score += 3

           risk_label.append("WebSocket长连接同步DOM操作,BitM劫持特征")

   # 检测仿冒Cloudflare人机验证

   for sig in FAKE_CAPTCHA_SIGN:

       if sig in page_html:

           risk_score += 2

           risk_label.append("页面包含伪造Cloudflare人机验证弹窗")


   is_malicious = True if risk_score >= RISK_THRESHOLD else False

   return {

       "js_risk_score": risk_score,

       "risk_detail": risk_label,

       "js_malicious_flag": is_malicious

   }


# ===================== 模块2:URL页面综合抓取检测 =====================

def analyze_bitm_target_url(target_url: str) -> dict:

   """

   请求目标页面,获取HTML并执行JS特征检测,捕获访问异常风险

   """

   risk_score = 0

   risk_label = []

   headers = {

       "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36"

   }

   try:

       resp = requests.get(target_url, headers=headers, timeout=8, verify=False)

       html_content = resp.text

       js_detect_res = detect_bitm_js_feature(html_content)

       risk_score += js_detect_res["js_risk_score"]

       risk_label.extend(js_detect_res["risk_detail"])

       # 页面状态码异常风险加分

       if resp.status_code not in [200, 403]:

           risk_score += 1

           risk_label.append(f"页面返回异常状态码:{resp.status_code}")

   except RequestException:

       risk_score += 4

       risk_label.append("链接访问超时/连接失败,疑似Bluekit隐匿恶意站点")


   url_malicious = True if risk_score >= RISK_THRESHOLD else False

   output = {

       "target_url": target_url,

       "total_risk_score": risk_score,

       "risk_info": risk_label,

       "is_bitm_phish": url_malicious

   }

   return output


# ===================== 模块3:批量检测入口函数 =====================

def batch_bitm_scan(url_list: list):

   """批量扫描多个钓鱼链接,输出综合检测结果"""

   scan_result = []

   for link in url_list:

       res = analyze_bitm_target_url(link)

       scan_result.append(res)

   return scan_result


# ===================== 测试示例 =====================

if __name__ == "__main__":

   # 模拟Bluekit恶意钓鱼链接测试

   test_malicious_url = "https://fake-login-top.xyz/microsoft-auth"

   test_urls = [test_malicious_url, "https://office365.com"]

   scan_output = batch_bitm_scan(test_urls)

   import json

   print(json.dumps(scan_output, ensure_ascii=False, indent=2))

6.3 代码模块功能解析

页面 JS 静态特征检测模块:核心匹配 rrweb 录屏组件、WebRTC 网络探测、硬件指纹采集、WebSocket DOM 同步、伪造人机验证五大 Bluekit 独有特征,输出风险评分与特征标签,部署于 WAF 页面解析节点,页面加载前完成拦截;

URL 综合抓取检测模块:模拟标准浏览器 UA 访问目标站点,抓取完整页面源码调用 JS 检测函数,对无法正常访问的隐匿站点自动加高风险分值,适配网关在线实时检测;

批量扫描入口:支持批量导入企业员工访问日志中的外部链接,离线回溯扫描历史访问记录,排查已发生的 BitM 钓鱼访问行为,用于事后风险溯源审计。

6.4 落地部署适配场景

企业出口 WAF、云访问安全代理 CASB,实时拦截员工访问 BitM 恶意站点;

云身份风控后台,对用户点击的外部登录链接自动执行扫描检测;

安全运维审计平台,每日批量扫描员工邮件、办公软件内外部链接;

终端 EDR 安全插件,本地检测浏览器加载页面的恶意 JS 脚本,本地弹窗告警阻断访问。

7 结论与研究展望

7.1 研究结论

本文以 2026 年 6 月大规模商业化投放的 Bluekit PHaaS BitM 浏览器中间人钓鱼平台为核心研究样本,完整拆解新型中间人攻击双层运行架构,对比传统代理 AiTM 工具技术代差,形成三项核心研究结论:

第一,网络钓鱼中间人攻击完成技术范式迭代,从代理转发式 AiTM 转向远程浏览器渲染 BitM 架构。Bluekit 依托 rrweb 录屏、WebSocket 双向数据流实现真实官方页面镜像劫持,会话原生生成于攻击者受控浏览器,设备指纹全程统一,彻底规避云身份平台基于设备基线的风险访问拦截机制;搭配 20 余项硬件、WebRTC 网络前置机器人校验,大幅降低被安全设备捕获的概率,现有传统流量、页面检测体系基本失效。反网络钓鱼技术专家芦笛指出,BitM 攻击打破 “MFA + 设备指纹” 双重防护的固有安全认知,单纯依靠身份认证机制无法抵御此类新型社工劫持攻击。

第二,当前政企多层安全防护存在系统性短板:网络网关无法解析加密 WebSocket DOM 同步流量、云身份风控缺少人机行为时序校验维度、威胁情报难以抓取前置过滤后的恶意站点、员工安全培训未覆盖 BitM 隐蔽劫持识别要点,单一防护维度无法阻断完整攻击链路,必须构建页面静态检测、网络流量审计、身份风控加固、人员安全管控四维联动闭环防御体系,实现事前、事中、事后全流程防护。

第三,本文设计的轻量化 Python BitM 钓鱼自动化检测模块,精准匹配 Bluekit 独有 JS、WebRTC、WebSocket 特征,支持在线实时拦截与离线批量溯源双场景部署,可快速集成至企业 WAF、CASB、终端安全插件,填补新型浏览器中间人攻击自动化识别工具空白;配套账号失陷标准化应急处置流程,能够有效降低云办公账号被劫持带来的数据泄露损失。

7.2 研究展望

针对 Bluekit 代表的 BitM 新型中间人钓鱼攻击,未来攻防对抗与安全优化可向三个方向推进:

云身份平台风控体系升级:主流 SSO、云办公平台可新增人机行为时序识别模块,采集鼠标操作延迟、输入节奏、页面交互轨迹等生物行为特征,区分真实用户与远程浏览器同步操作;补充 WebSocket 异常长连接监控接口,向第三方安全设备开放会话行为审计数据。

多模态融合 BitM 检测技术迭代:当前代码仅依托页面静态 JS 特征完成识别,后续可结合 WebSocket 流量时序特征、页面操作延迟检测、WebRTC 连接行为多维度融合判定,降低误报率,提升复杂混淆脚本下的识别准确率。

PHaaS 钓鱼平台跨境协同溯源机制建设:Bluekit 类商业化钓鱼即服务平台依托境外匿名域名、分布式服务器运营,单一企业、单一国家安全机构无法彻底清除攻击基础设施;各国网络安全组织可建立 BitM 钓鱼威胁情报共享机制,同步恶意域名、JS 特征、平台 C2 服务器地址,配合跨境网络安全执法打击商业化 PHaaS 黑产链条,从攻击源头压缩 BitM 工具的传播空间。

长期来看,中间人钓鱼攻击将持续向远程浏览器镜像、无代理流量劫持方向演进,端到端身份认证、网络流量防护、前端页面检测技术需同步迭代升级,安全建设不能仅依赖密码、多因素认证等身份层防护,必须构建网络、前端、身份、人员多维度协同的综合反钓鱼防御体系,持续应对不断迭代的商业化 PHaaS 新型网络间谍攻击。

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

目录
相关文章
|
4天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
447 122
|
6天前
|
人工智能 定位技术 SEO
我学 GEO 第 15 天:终于知道AI GEO该如何做?
我是暴走的莉莉酱,边旅行边研究AI GEO的数字游民。专注普通人如何提升“AI可见度”——让AI在回答用户问题时准确识别、理解并推荐你。不讲玄学,只做可测、可调、可持续的GEO实践。
430 125
|
8天前
|
机器学习/深度学习 人工智能 调度
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
HappyHorse 1.1 是新一代视频生成大模型,全面升级动态表现力、角色一致性、指令遵循、视觉质感与音画协同能力。支持I2V/T2V/R2V三类生成,适配短剧、电商广告、品牌营销等场景,提供高质、流畅、可控的AI视频生产力。
719 5
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
|
6天前
|
缓存 人工智能 运维
阿里云618百炼大模型Qwen3.7-Max功能、免费试用、订阅计费、配置接入详解
Qwen3.7-MAX是阿里云百炼平台推出的通义千问3.7系列旗舰大语言模型,专为智能体时代复杂任务打造,依托阿里云全域算力与自研技术,在逻辑推理、长文本处理、代码工程、长周期自主执行等领域达到行业顶尖水平。2026年618期间,该模型推出多重免费试用权益、按量计费5折、订阅套餐优惠等专属福利,覆盖个人开发者、团队与企业全场景需求,以下从核心功能、免费试用、订阅计费、配置接入四方面展开详细解析。
429 123
|
4天前
|
人工智能 自然语言处理 API
阿里云Token Plan团队版解析:功能、三档套餐与省钱订阅指南
阿里云百炼平台推出的Token Plan团队版,是面向企业与团队的AI大模型订阅服务,以Credits为统一计量单位,整合文本与图像生成模型,提供团队管理、数据安全、多工具兼容等核心能力,解决团队零散订阅AI服务的管理混乱、成本失控、数据安全等痛点。本文将从核心定位、套餐详情、计费规则、团队管理、工具兼容、便宜订阅技巧等方面,全面解析Token Plan团队版,帮助企业与团队高效、低成本地使用AI服务。
317 108
|
14天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
5天前
|
存储 人工智能 数据可视化
别再手动复制 Skill 了:多 Agent 时代的 Skill 管理方案
多 Agent 场景下 Skill 的统一管理与同步。
274 125
|
8天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。