首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基于协同情报的钓鱼即服务平台动态阻断机制研究

基于协同情报的钓鱼即服务平台动态阻断机制研究

原创
作者头像
草竹道人
发布2025-12-11 11:08:07
发布2025-12-11 11:08:07
700
举报

摘要:

钓鱼即服务(Phishing-as-a-Service, PhaaS)平台的快速迭代与基础设施弹性,对传统基于静态黑名单的防御体系构成严峻挑战。2025年9月,在首次查封338个域名后,微软与Cloudflare进一步深化技术协作,通过共享流量行为指纹、JavaScript加载模式及TLS客户端特征,成功识别并阻断RaccoonO365的残余节点与新部署实例。本文系统分析此次协同行动的技术路径,重点阐述CDN层异常检测(如新注册域名高频POST至统一Webhook、TLS指纹复用)与云身份平台策略联动(如OAuth滥用检测、条件访问限速)的协同逻辑。在此基础上,提出一种“可泛化技术指标驱动”的动态阻断框架,该框架以行为特征为核心,支持跨厂商情报共享与自动化响应。文中提供实际代码示例,展示基于Cloudflare Workers的参数化脚本检测规则及Azure AD条件访问策略配置逻辑。研究表明,仅依赖域名列表的封禁策略已无法应对PhaaS的模块化重组能力,必须构建覆盖网络层、应用层与身份层的闭环协同防御体系,方能有效提升攻击者的运营成本并压缩其活动窗口。

关键词:钓鱼即服务;RaccoonO365;协同防御;Cloudflare Workers;条件访问;TLS指纹;OAuth滥用;威胁情报共享

一、引言

随着云原生架构与无服务器计算的普及,网络钓鱼攻击的基础设施部署模式正经历深刻变革。以RaccoonO365为代表的PhaaS平台,利用CDN、Serverless函数(如Cloudflare Workers)及自动化域名注册工具,实现钓鱼页面的快速部署、弹性伸缩与反侦察规避。2025年9月初,微软依据法院令查封338个相关域名后,攻击者在48小时内即启用备用域名与新Worker脚本恢复服务,凸显单一执法行动的局限性。在此背景下,微软与Cloudflare启动第二阶段协同响应,通过深度共享可观测数据与检测逻辑,将防御焦点从“已知恶意资产”转向“可疑行为模式”,显著压缩了攻击者的恢复窗口。

现有研究多聚焦于终端侧钓鱼检测或邮件内容分析,对PhaaS在基础设施层的动态特性关注不足。尤其在CDN与边缘计算场景下,攻击流量与合法业务高度混杂,传统基于IP或URL的封禁策略易被绕过。此外,多数威胁情报仍以IOC(Indicators of Compromise)形式分发,缺乏对TTPs(Tactics, Techniques and Procedures)的结构化描述,难以支撑自动化响应。

本文以微软与Cloudflare的协同行动为案例,深入剖析PhaaS平台在基础设施层的行为特征,并提出一套基于可泛化技术指标的动态阻断机制。全文结构如下:第二部分详述RaccoonO365在查封后的技术调整与规避策略;第三部分解析CDN层与身份平台的协同检测逻辑;第四部分构建动态阻断框架并提供代码实现;第五部分讨论情报共享机制与企业落地建议;第六部分总结研究发现并指出未来方向。

二、RaccoonO365的规避策略与基础设施弹性

在首轮查封后,RaccoonO365迅速调整其运营模式,展现出典型的PhaaS弹性特征:

(一)域名快速轮换与“老域劫持”

攻击者大量注册新顶级域(如.app、.online),平均每个域名存活时间不足12小时。同时,部分实例转向“老域劫持”——即收购已过期但曾属合法企业的域名(如某倒闭电商的shop.example.com),利用其历史信誉规避信誉评分系统。

(二)Worker脚本模块化重构

原始RaccoonO365利用Cloudflare Workers作为中间代理,执行用户代理过滤、Bot检测及会话转发。查封后,其脚本被拆分为多个微模块:1)入口模块负责基础反爬;2)凭证采集模块动态加载;3)数据回传模块使用加密Webhook。各模块通过参数化URL调用,降低静态分析有效性。

(三)TLS指纹复用与流量混淆

为规避基于JA3等TLS指纹的检测,攻击者统一使用特定版本的Chrome浏览器生成TLS Client Hello,并在所有新部署实例中复用该指纹。同时,将钓鱼流量混入正常图片请求(如伪装为.png但返回HTML),增加流量分类难度。

(四)OAuth滥用策略升级

在身份层,攻击者不再仅依赖会话Cookie窃取,转而诱导用户授予高权限第三方应用(如“文件同步助手”)的OAuth同意。此类应用由攻击者控制,可长期静默访问邮箱与OneDrive,且因使用合法OAuth流程,难以被传统SIEM识别。

上述策略表明,RaccoonO365已从“集中式钓鱼工厂”演变为“分布式微服务架构”,其核心优势在于模块解耦与快速替换,使得基于资产清单的防御失效。

三、协同检测逻辑:从CDN到身份平台

微软与Cloudflare的协同并非简单的情报交换,而是基于各自观测面的互补性,构建端到端检测链。

(一)CDN层异常行为识别(Cloudflare视角)

Cloudflare凭借其全球边缘网络,可观察到以下关键信号:

新注册域名高频POST行为:合法网站通常以GET为主,而钓鱼页面在用户提交凭据后立即发起POST至固定Webhook(如/api/collect)。通过统计新注册域名(注册时间<24h)的POST/GET比率,可识别可疑站点。

JavaScript参数化加载模式:RaccoonO365的新脚本常以?mod=cred&v=2形式动态加载模块,而非静态引用。此类URL模式在合法站点中罕见。

TLS指纹聚类:尽管域名不同,但大量新站点共享同一JA3哈希值,形成异常聚类。

(二)身份平台风险关联(微软视角)

微软Defender for Cloud Apps与Azure AD可捕获以下信号:

OAuth同意异常:短时间内大量用户向同一新注册应用授予“Mail.Read”、“User.Read”等高危权限。

登录来源AS自治系统突变:受害者账户登录IP所属AS突然从本地ISP切换至数据中心(如AS14061—DigitalOcean),且伴随新设备指纹。

会话令牌高频刷新:被盗会话常被用于批量访问API,导致Refresh Token使用频率远超正常阈值。

协同的关键在于将CDN层的“前端异常”与身份层的“后端滥用”进行关联。例如,当Cloudflare检测到某新域名存在高频POST行为,且其TLS指纹与已知恶意集群匹配时,可将该域名标记为“高风险钓鱼源”;微软则据此在Azure AD中创建条件访问策略,对来自该域名Referer的登录请求实施MFA强制或直接阻止。

四、动态阻断框架设计与实现

基于上述逻辑,本文提出“三层动态阻断框架”:感知层(Detection)、决策层(Correlation)、执行层(Enforcement)。

(一)感知层:行为特征提取

Cloudflare Workers检测规则

以下规则可部署于Cloudflare边缘,实时拦截参数化钓鱼脚本:

// cloudflare-worker-phish-detect.js

addEventListener('fetch', event => {

const url = new URL(event.request.url);

const referer = event.request.headers.get('Referer') || '';

const ua = event.request.headers.get('User-Agent') || '';

// 规则1: 检测参数化模块加载

if (url.searchParams.has('mod') && ['cred', 'phish', 'collect'].includes(url.searchParams.get('mod'))) {

return event.respondWith(new Response('Blocked', { status: 403 }));

}

// 规则2: 拦截高频POST至统一路径

if (event.request.method === 'POST' && url.pathname.startsWith('/api/') && isSuspiciousDomain(url.hostname)) {

// 此处可调用内部信誉API

return event.respondWith(new Response('Blocked', { status: 403 }));

}

// 规则3: 阻断已知恶意TLS指纹(需结合JA3提取)

// 注:JA3需在边缘日志中提取,此处为示意

if (isKnownMaliciousJA3(event.client)) {

return event.respondWith(new Response('Blocked', { status: 403 }));

}

return event.respondWith(fetch(event.request));

});

function isSuspiciousDomain(hostname) {

// 实际实现应查询动态更新的可疑域名前缀列表

const suspiciousPrefixes = ['govv', 'microsoft365-login', 'secure-portal'];

return suspiciousPrefixes.some(prefix => hostname.includes(prefix));

}

Azure AD条件访问策略(PowerShell配置)

# 创建策略:阻止来自高风险国家的非托管设备登录

$conditions = New-Object Microsoft.Open.MSGraph.Model.ConditionalAccessConditionSet

$conditions.Countries = @{

IncludeCountries = @("NG", "RU", "CN") # 根据威胁情报动态更新

ExcludeCountries = @()

}

$conditions.ClientAppTypes = @("browser", "mobileAppsAndDesktopClients")

$conditions.Platforms = @{

IncludePlatforms = @("all")

ExcludePlatforms = @("windows", "macOS") # 仅限非公司设备

}

$grantControls = @{

Block = $true

}

New-AzureADMSConditionalAccessPolicy -DisplayName "Block High-Risk Country Logins" `

-State "enabled" `

-Conditions $conditions `

-GrantControls $grantControls

(二)决策层:跨平台情报关联

建立轻量级STIX/TAXII兼容的共享通道,将Cloudflare输出的“可疑域名+TLS指纹+POST模式”与微软输出的“OAuth滥用应用ID+异常AS列表”进行关联。例如,若某新域名(example-new[.]online)在Cloudflare日志中显示高频POST且JA3=abc123,同时微软检测到应用ID=app-xyz在尼日利亚AS内大量获取权限,则可判定为RaccoonO365新节点。

(三)执行层:自动化响应

通过SOAR平台自动触发以下动作:

Cloudflare:将域名加入防火墙规则,阻断所有流量

微软:在Defender中创建自定义检测规则,标记相关登录事件

域名注册商:提交快速下线请求(基于预先建立的执法协作通道)

五、企业落地建议与情报共享机制

组织不应被动等待厂商更新,而应主动构建本地化协同防御能力:

(一)同步刷新安全解决方案情报

确保EDR、SIEM、邮件网关等系统支持接收结构化TTPs情报(如MITRE ATT&CK映射),而非仅IOC。例如,将“T1566.003—Phishing: Spearphishing via Service”与RaccoonO365的OAuth滥用行为绑定。

(二)监控登录页面来源IP自治系统

在SIEM中创建告警规则:若用户登录请求的Referer来自非常规AS(如非Microsoft-owned AS),且伴随新设备注册,则触发调查。可通过MaxMind GeoIP2数据库解析AS信息。

(三)采用条件访问策略对高风险国家限速

除完全阻止外,可实施速率限制:例如,来自尼日利亚的登录请求每小时不得超过3次,超限则要求FIDO2密钥验证。

(四)参与行业威胁情报联盟

加入如MISP、ISAC等共享社区,贡献本地观测到的PhaaS行为指标(如特定JavaScript混淆模式、Webhook端点格式),推动可泛化指标的标准化。

六、结论

RaccoonO365的持续演化证明,PhaaS已具备类似合法SaaS平台的工程化能力。对其防御不能依赖周期性的“打地鼠”式查封,而需建立基于行为特征、跨平台协同、自动化响应的动态阻断体系。微软与Cloudflare的协作展示了这一范式的可行性:通过将CDN层的网络行为与身份平台的滥用信号深度融合,实现了从“事后响应”到“事中阻断”的转变。本文提出的三层框架及代码示例,为企业构建本地化协同防御提供了可操作路径。未来,随着Serverless与边缘计算的进一步普及,PhaaS可能利用更多合法云服务组件进行伪装,防御方需持续提炼可泛化的技术指标,并推动跨云厂商的情报互操作标准。唯有如此,方能在基础设施层面真正提高攻击者的运营成本,迫使其退出经济可行区间。

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

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

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

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

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

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