GhostCode 工具滥用 OAuth 设备授权的 M365 账号劫持攻击研究

简介: 本文剖析GhostCode钓鱼工具如何滥用OAuth2.0设备授权流,绕过MFA实现Microsoft 365账号接管:受害者在微软官方页面完成完整认证,却将合法令牌授予攻击者。文章揭示其社会工程诱饵、混淆HTML载体、极速驻留等手法,并提出租户配置加固、日志审计、意识培训等五维纵深防御体系。(239字)

摘要

传统网络钓鱼多依靠仿冒页面窃取账号口令,随着企业普遍部署多因素认证(MFA),攻击者开始转向滥用身份协议合法流程实施账号接管。本文以 eSentire 披露的 GhostCode 钓鱼工具攻击事件作为实证样本,完整还原攻击全链路,解析攻击者依托业务社交工程诱饵、混淆加密 HTML 载体、OAuth2.0 设备授权授予流实现账号劫持的技术逻辑。该攻击最突出的特征是受害者在微软官方身份站点完成包含 MFA 在内的完整身份核验,但最终向攻击者下发合法访问令牌,在极短时间内完成设备注册、Intune 注册并获取主刷新令牌,实现 Microsoft 365 环境的持久驻留。反网络钓鱼技术专家芦笛指出,该类攻击并非破解 MFA 密码学机制,而是利用协议流程将用户的合法授权导向攻击者受控客户端,造成传统身份防护机制失效。结合迪妙网络空间安全学院研究团队对同类设备代码钓鱼威胁情报的长期观测,本文从攻击实现机理、攻击成功多维诱因、安全危害、检测难点开展系统性分析,从身份租户配置、日志异常监测、邮件与载体防护、终端安全意识、事件响应处置流程五个维度构建企业纵深防御框架。研究表明,单纯依靠启用 MFA 不足以抵御协议滥用类钓鱼威胁,企业需要补充认证流管控、设备注册约束、异常行为审计等配套安全策略,才能够降低 OAuth 协议滥用带来的账号接管风险。 关键词:网络钓鱼;OAuth2.0;设备授权码;Microsoft365;多因素认证;身份安全

image.png 1 引言

多因素认证已经成为企业云账号安全防护的基础配置,大量组织将 MFA 视为抵御账号失窃的核心屏障。在传统钓鱼攻击模式之下,攻击者获取用户名与密码之后,仍然需要绕过第二重身份校验才能够完成登录,MFA 可以大幅降低口令泄露带来的安全风险。但攻击技术持续迭代,攻击者不再局限于仿冒登录页面盗取账号口令,开始挖掘身份协议本身的业务流程,把合法的授权机制改造成为攻击载体,设备代码钓鱼就是该趋势下具有代表性的攻击类型。

GhostCode 是安全厂商 eSentire 威胁响应单元于 2026 年 8 月底捕获的商业化钓鱼工具套件,该工具瞄准企业销售、采购岗位人员开展定向钓鱼,完整链路结合业务场景社会工程、混淆加密网页载体、Cloudflare 人机验证反自动化分析、OAuth 设备授权流滥用等多重技术手段。攻击不需要利用公开漏洞,也不在终端部署恶意软件,全部依托微软 Entra ID 原生开放能力。受害者在微软官方登录页面完成账号、密码、MFA 全套验证,整个认证交互发生在真实微软域名之下,不存在仿冒域名,极大增加用户识别难度。攻击者在用户完成授权之后,数十秒之内完成多台受控设备注册,获取主刷新令牌,在 Microsoft 365 租户内部建立持久访问通道,窃取邮件与业务数据。

从威胁演化脉络来看,GhostCode 并不是首例设备代码钓鱼攻击。在此之前,EvilTokens 钓鱼即服务套件、Storm2372 威胁组织均已经使用同类技术对全球大量企业开展入侵活动。迪妙网安研究团队统计公开威胁事件发现,设备代码钓鱼攻击事件呈现逐年上升态势,并且逐步从高级威胁组织能力下沉为可采购的商业化钓鱼工具,攻击实施门槛持续降低,中小型企业同样面临较高被攻击风险。

现有多数企业安全建设认知当中,普遍将 MFA 部署完成视作账号安全建设的终点,缺少针对 OAuth 各类授权流程的风险评估,对设备授权授予流这类面向硬件终端设计的协议特性存在认知盲区。传统钓鱼检测手段主要聚焦仿冒域名、恶意附件、口令捕获页面,面对 “全部认证交互发生在官方身份站点” 的新型攻击,传统检测规则极易失效。

本文立足于 GhostCode 公开披露的完整攻击样本,逐层拆解社会工程诱饵、混淆载体、协议滥用、后渗透持久化各个阶段,剖析攻击能够突破 MFA 防护的内在机理,梳理防护体系存在的短板,构建适配企业实际运维场景的纵深防御方案,为使用 Microsoft 365 服务的各类组织机构处置同类威胁提供实证参考。

2 GhostCode 钓鱼工具完整攻击链路还原

本次 GhostCode 攻击活动的目标群体是企业销售岗位员工,攻击者伪装成大型零售企业采购人员,从业务接洽作为切入点,逐步引导受害者打开恶意加密 HTML 文件,最终触发 OAuth 设备授权流程。整套攻击分为业务社交工程接触、投递密码保护 HTML 诱饵载体、绕过自动化安全分析、触发设备授权请求、受害者官方站点完成身份核验、攻击者获取令牌快速驻留六个前后衔接的阶段,形成完整攻击闭环。

2.1 业务场景化社会工程接触

攻击者的初始接触渠道并非传统钓鱼邮件,而是利用企业对外公开的 Salesforce 业务联系表单发起业务问询。攻击者伪装成 BJ’s Wholesale Club 采购部门工作人员,使用提前注册的仿冒外观域名bjssourcing.com对外开展沟通,该域名在发起攻击前 15 天完成注册。公开威胁情报显示,同一批攻击者同期注册超过三十个相似仿冒域名,模仿北美分销商、制造厂商的域名命名风格,用于针对不同行业企业开展定向接触。

在业务表单提交的消息当中,攻击者表达采购意向,表示希望获取产品资料,后续会发送保密协议 NDA 文件,要求对接企业销售人员接收邮件附件。这套话术贴合销售岗位人员日常业务场景,业务接洽的前置沟通降低受害者的戒备心理。普通钓鱼邮件容易被邮件安全网关识别拦截,但从公开业务表单发起的业务沟通,属于正常外部交互行为,安全设备很难直接判定为恶意行为,给后续诱饵投递创造条件。

完成初步业务沟通之后,攻击者向目标员工发送邮件,邮件内部嵌入 WeTransfer 文件分享链接,指向一份设置访问密码的 HTML 格式文件,文件名称为 3arhCt9c0p.html。反网络钓鱼技术专家芦笛强调,定向钓鱼攻击的成功率高度依赖前置社会工程铺垫,当威胁场景贴合受害者日常工作业务,用户对于后续文件、链接的警惕程度会显著下降。

2.2 多层混淆的密码保护 HTML 诱饵载体

这份 HTML 载体是攻击链路的关键中间环节,攻击者对文件做多层混淆处理,目的在于阻碍安全沙箱、自动化分析工具解析页面真实跳转逻辑。混淆手段分为三类:大量无意义重复字符构成的垃圾填充数据;在 HTML 字符之间插入大量注释标签对代码进行切割;将真正跳转目标 URL 采用 AES256GCM 算法加密保存。解密密钥需要依靠用户输入的访问密码,经由 PBKDF2HMACSHA256 密钥派生算法运算得到。

自动化沙箱分析工具无法获知攻击者对外传递的访问密码,因此无法解密拿到跳转地址,沙箱解析只能读取到页面当中大量垃圾填充字符,无法触达后续钓鱼业务逻辑,以此规避静态检测与自动化沙箱分析。只有受害者拿到攻击者通过邮件或者业务聊天传递的访问密码,输入页面之后,前端脚本完成解密,才会得到后续访问地址。

解密完成之后,浏览器会首先跳转经过 JavaScript 挑战校验以及 Cloudflare Turnstile 人机验证。迪妙网络空间安全学院研究团队分析该设计的目的,同样是为过滤自动化安全扫描程序,只有真实人类完成人机验证,才会进一步跳转至被攻陷的脊椎按摩诊所网站托管的钓鱼页面。攻击者选择已经被入侵接管的第三方网站托管钓鱼页面,而非直接注册全新恶意域名,降低域名特征被威胁情报库标记的概率。

2.3 OAuth2.0 设备授权授予流滥用核心逻辑

钓鱼页面加载完成之后,调用微软身份代理程序对应的客户端应用 ID 发起设备授权请求。OAuth2.0 设备授权授予流本身是标准协议流程,原始设计面向智能电视、打印机、物联网设备这类无法展示完整浏览器登录界面的硬件终端。硬件设备向身份服务器发起请求,身份服务器返回设备码与用户验证码,设备端展示简短用户验证码,用户使用另外一台普通浏览器访问微软官方设备登录页面,输入该验证码,完成账号与 MFA 身份校验,授权该硬件设备访问账号资源,身份服务器向硬件设备下发访问令牌以及刷新令牌。

GhostCode 将这套面向硬件的流程挪用作为钓鱼攻击手段。攻击者的后端服务器扮演原本硬件终端的角色,向 Entra ID 身份服务发起设备授权申请,获取身份服务器下发的用户验证码。钓鱼页面向受害者展示该验证码,引导受害者前往微软官方设备登录网页输入验证码完成授权。整个账号密码输入、MFA 验证全部运行在微软 auth 官方域名,不存在攻击者搭建的仿冒登录页面。

受害者完成全部身份核验确认授权之后,攻击者控制的后端轮询接口接收到身份服务器下发的合法访问令牌、刷新令牌。页面在受害者浏览器端展示一份带有 BJ’s Wholesale Club 抬头的伪造 NDA 保密协议作为诱饵结果,让受害者主观认为已经成功打开业务文档,不会察觉到账号已经完成对攻击者客户端的授权。

2.4 令牌获取之后的极速租户驻留行为

根据 eSentire 观测到的攻击样本日志,受害者完成身份认证 5 秒之后,攻击者就开始调用拿到的令牌访问 Microsoft 365 接口。整个攻击后渗透环节执行效率极高,仅仅 78 秒之内,攻击者就在 Entra ID 租户内部注册三台由攻击者管控的设备,并且完成 Intune 设备注册入网操作。攻击发生之后第 32 秒,攻击者拿到主刷新令牌 PRT。主刷新令牌具备单点登录等效能力,可以持续换取各类 M365 服务访问凭证,除非企业执行会话撤销操作,即便用户修改账号密码,该令牌依旧可以持续生效。

为规避地理位置相关的安全策略告警,攻击者使用住宅代理池发起 API 调用,网络请求 IP 地理位置尽可能模拟受害者所在地区,降低异常登录位置带来的风险提示。攻击者后续调用 Graph API 接口进行邮件数据收割,批量读取目标账号邮箱内部业务邮件内容。攻击过程当中网络请求的客户端标识为 pythonrequests/2.34.2,说明攻击者后端逻辑基于 Python 脚本开发。

安全运营人员依靠 Entra ID 的非交互式登录异常审计日志才能够识别该类攻击,发现异常之后需要执行令牌授予撤销、账号密码重置、禁用攻击者注册的陌生设备等一系列处置动作,简单修改用户密码不足以清除已经下发的持久令牌。

3 GhostCode 攻击实现成功的多维诱因

GhostCode 能够突破企业已经部署的 MFA 防护,并非单一技术漏洞造成,而是协议特性、社会工程设计、企业身份配置缺陷、传统安全检测机制短板、用户认知盲区多重因素叠加。需要从协议设计初衷被恶意滥用、攻击者的工程化能力、企业租户配置现状、安全产品检测局限、用户认知缺陷多个维度开展拆解。

3.1 OAuth 设备授权协议本身存在被滥用的客观空间

OAuth2.0 设备授权授予流是为输入能力受限的硬件终端设计的合法流程,协议设计阶段主要考虑可信硬件场景,没有充分预估到被网络钓鱼恶意利用的风险。在合法业务场景,验证码由用户物理可见的硬件设备屏幕展示;在钓鱼攻击场景,攻击者通过网页把验证码交给受害者,诱导用户在微软官方站点为攻击者的客户端会话完成授权。

整个认证环节域名、证书、登录页面全部属于微软官方资源,不存在域名仿冒、页面篡改。MFA 校验流程完整执行,MFA 本身没有被破解,但是用户完成的身份校验,授权对象是攻击者受控客户端,而非用户本人设备。反网络钓鱼技术专家芦笛着重强调,很多安全管理人员会简单表述该攻击 “绕过 MFA”,该表述不够严谨;MFA 校验步骤完整通过,问题出在授权主体被欺骗,MFA 的验证结果被攻击者所利用。

协议层面没有天然机制区分:发起设备码请求的究竟是办公室内部可信智能硬件,还是外部攻击者服务器。如果企业租户没有在条件访问策略当中对设备授权流加以约束,任何外部主体都可以向身份服务发起设备授权申请,获取验证码,之后诱导企业内部用户完成确认授权。

3.2 攻击者工程化设计降低攻击被发现概率

从社会工程层面看,攻击者没有采用泛化广撒网的普通钓鱼邮件,针对销售岗位做业务场景定制,从业务咨询表单切入,构建完整业务对话上下文,提升目标人员信任程度。诱饵载体采用密码加密 HTML 文件,搭配多层代码混淆、沙箱对抗、人机验证,大幅提升自动化安全设备检测拦截的难度。

迪妙网安研究团队对比 GhostCode 与 EvilTokens 工具样本后发现,商业化钓鱼工具已经形成标准化组件库:仿冒域名批量注册脚本、HTML 载体混淆加密模块、反沙箱与人机验证跳转、设备授权流程调用模块、令牌获取之后自动化注册设备与获取 PRT 的后渗透脚本。普通攻击者不需要深度理解 OAuth 协议细节,即可采购整套工具开展攻击,威胁门槛持续降低。同时攻击者使用被入侵第三方网站托管钓鱼页面,配合住宅代理,在网络层隐藏攻击基础设施特征,传统基于恶意 IP、恶意域名黑名单的检测手段效果被削弱。

3.3 企业租户身份配置普遍存在短板

大量使用 Microsoft365 的企业租户,管理员从未评估设备授权授予流业务必要性,默认保持该认证流开启状态。很多企业内部并不存在需要使用设备代码流程的智能电视、IoT 硬件设备,却保留协议入口,直接扩大攻击面。

其次,设备注册管控策略配置缺失。GhostCode 攻击成功的标志性动作是短时间批量注册陌生外部设备,部分企业没有配置条件访问策略,不对设备注册行为做来源、位置、合规性校验,只要拿到有效令牌,就可以在租户当中完成新设备注册,进而获取生命周期更长的主刷新令牌,建立持久驻留。

另外,很多企业安全运维对于 Entra ID 审计日志重视不足,没有针对设备代码认证事件、短时间批量新增设备、陌生 Intune 注册行为配置告警规则。攻击发生之后不会产生传统恶意软件告警,攻击行为全部调用微软官方 API,如果没有针对性审计规则,安全团队很难及时感知入侵发生。不少企业处置账号泄露事件的标准操作仅仅是重置账号密码,但对于设备代码钓鱼攻击,单纯重置密码无法撤销已经下发的刷新令牌与主刷新令牌,攻击者仍然可以持续访问租户资源。

3.4 传统安全检测体系存在识别盲区

传统钓鱼检测技术积累大量针对仿冒登录站点的识别规则,识别逻辑重点比对页面 UI、域名相似度、是否收集账号口令表单。但 GhostCode 的核心认证交互发生在微软官方域名之下,没有仿冒登录页面,不存在窃取账号密码的表单,传统网页钓鱼检测规则没有可以匹配的特征。

邮件安全网关可以识别恶意附件、仿冒发件人,但本次攻击初始接触来自业务 Web 表单,诱饵载体是外部文件分享平台的加密 HTML。加密文件本身在静态扫描阶段无法解析内部业务逻辑,沙箱又被攻击者的混淆代码与人机验证机制阻碍,邮件层安全设备很难识别该载体的恶意属性。

终端杀毒软件主要检测恶意程序、病毒木马,整个攻击链路不落地可执行恶意程序,全部依靠浏览器前端脚本与 Web 接口调用,终端杀毒产品几乎无法发现攻击行为。

3.5 企业员工安全认知存在空白

过往安全意识培训的重点集中在:识别仿冒邮件、警惕仿冒登录网页、核对浏览器地址栏域名、不要打开陌生附件。这套安全经验在 GhostCode 这类攻击场景当中效用下降。受害者访问的是微软真实官方登录域名,地址栏域名完全可信,用户依靠核对域名的手段无法分辨风险。

绝大多数员工并不了解 OAuth 设备验证码的业务含义,用户没有发起硬件设备绑定操作,却收到要求输入设备验证码的页面提示。普通员工缺少认知:非本人发起的设备验证码授权请求属于高风险行为。在业务场景的铺垫之下,用户会误认为该验证码是业务文档访问、外部供应商系统对接所需要的正常校验步骤,完成授权操作。

4 GhostCode 攻击带来的多层次安全风险

该攻击一旦实施成功,危害并不局限于单条账号临时被访问,攻击者依靠刷新令牌、PRT、新增受控设备,获取持久访问能力,衍生出数据泄露、租户横向扩散、业务欺诈等多重风险。

第一,账号持久化接管,密码重置无法清除访问权限。攻击者拿到刷新令牌与主刷新令牌之后,即便受害者修改账号登录密码,在令牌自然过期之前攻击者依旧可以持续调用各类 Microsoft365 服务接口。在观测到的 GhostCode 案例中,攻击者几十秒完成三台外部设备注册,把攻击者设备纳入租户设备体系,进一步稳固持久访问通道。企业如果不执行专门的会话撤销操作,入侵访问通道可以长期存续。

第二,企业业务邮件与敏感文档大规模外泄。攻击者拿到权限之后首要动作是邮件收割,读取目标员工全部收件箱、已发送邮件。对于销售岗位账号,邮件当中包含客户资料、报价单、谈判记录、合同草案、供应商往来信息;如果是财务、人事岗位账号被攻陷,会造成薪资数据、内部财务资料泄露。攻击者还可以访问 OneDrive、SharePoint 内部存储业务文档,造成企业知识产权外泄。

第三,成为企业内部进一步横向渗透的支点。如果被攻陷账号具备较高权限,攻击者可以基于该账号权限进一步搜集租户目录信息,探查其他员工账号信息,针对更多内部人员开展后续钓鱼。攻击者可以在受害者邮箱内部创建收件箱转发规则,把后续往来邮件自动转发至外部攻击者邮箱,实现静默持续的数据窃取,普通用户很难察觉规则被篡改。

第四,衍生后续社会工程欺诈风险。攻击者阅读完整业务邮件往来,掌握真实业务对话上下文,可以冒充该员工向客户、合作伙伴发送虚假指令,发起商业欺诈、虚假转账类攻击。因为邮件来自真实被攻陷企业账号,外部合作方更容易相信消息真实性,带来间接业务财产损失。

迪妙网络空间安全学院研究团队的威胁评估报告指出,设备代码钓鱼攻击没有恶意软件特征,攻击痕迹隐匿于微软云审计日志,很多中小型企业缺少 7×24 小时日志分析能力,入侵事件可能长时间不被发现,风险持续累积。同时该攻击模式具备很强可复制性,攻击者可以更换业务诱饵,针对采购、财务、人事、运维各类岗位开展攻击,并非只针对销售岗位。

5 面向 OAuth 设备代码钓鱼的企业纵深防御体系构建

针对 GhostCode 所代表的设备代码钓鱼威胁,不存在单一的万能防护手段,必须构建多层纵深防御,覆盖云身份租户配置加固、审计日志与异常监测、邮件与外部载体防护、员工安全意识迭代更新、标准化事件响应处置流程五大层面,兼顾事前加固、事中告警、事后处置全流程。

5.1 Microsoft Entra 身份租户层面的基础加固

租户层面配置是对抗该类攻击优先级最高的防护手段。首先,全面梳理企业业务,评估组织内部是否存在必须使用 OAuth 设备授权授予流的业务场景,例如会议室智能硬件、特定 IoT 终端、专用命令行工具。绝大多数纯办公企业没有该类业务刚需,应当通过条件访问策略全局阻断设备代码认证流,从根源消除攻击依赖的协议入口。

对于确有业务需求不能全局关闭设备代码流的企业,不能放任该流程对全部用户开放。需要配置精细化条件访问策略,仅对经过审批的指定用户、指定可信内网 IP 地址段放行设备代码流;拒绝境外 IP、匿名代理 IP、住宅代理 IP 来源发起的设备代码授权请求。

其次,收紧设备注册管控策略。配置条件访问策略限制陌生网络位置下的 Entra 设备注册行为,禁止非受信网络环境随意向租户注册新设备。GhostCode 攻击的关键标志就是短时间批量新增外部设备,严格约束设备注册来源,可以阻碍攻击者获取主刷新令牌,切断最重要的持久化路径。

同时调整用户应用同意权限策略,关闭普通员工自主授予高权限离线访问授权的能力,对于拥有邮件、文件离线读取权限的第三方应用,需要管理员审批之后才可以完成授权,缩小 OAuth 滥用带来的权限范围。反网络钓鱼技术专家芦笛认为,很多企业身份安全建设止步于全员开启 MFA,忽略各类授权流、设备注册、应用同意的配套管控,给协议滥用类攻击留下大量攻击面。

5.2 审计日志采集与异常行为监测告警

企业需要完整开启 Entra ID 审计日志、登录日志采集,将日志统一汇入 SIEM 安全分析平台,建立针对设备代码钓鱼攻击的专用检测规则。需要重点监测几类高风险事件:出现设备代码流类型的身份认证事件;短时间之内同一账号下批量新增多台陌生设备;认证完成之后极短时间内发生 Intune 设备注册行为;非工作地理区域的住宅代理 IP 调用 Graph API 开展邮件数据读取。

需要明确告警阈值,例如用户完成身份认证一分钟之内连续注册两台及以上全新未识别设备,直接触发高等级安全告警。安全运营人员应当建立审计检索清单,发生疑似事件时,检索对应账号全部设备注册记录、OAuth 授权记录、收件箱规则变更记录。企业需要充分认知:密码重置不等于事件处置完成,日志核查、令牌会话撤销、陌生设备清理是必不可少的处置步骤。

5.3 邮件与外部文件载体防护优化

攻击者的诱饵载体经常以外部文件分享平台链接、密码保护 HTML 文件形式传递。邮件安全网关需要强化针对外部发来的密码保护 HTML 附件、外部网盘指向 HTML 文件的风险标记,给用户显著的外部风险提示。

应当启用 Defender for Office 相关安全能力,对外部链接开展安全链接扫描。同时针对外部业务表单提交渠道也要建立安全风险意识,安全培训应当告知业务岗位人员:来自网站表单的陌生业务接洽,后续收到的文件、链接都需要保持审慎,不能因为存在业务对话背景就完全信任外部发来的文档。对于业务往来收到的 HTML 格式文件,尽量不要直接在浏览器打开,在条件允许的情况下优先要求合作方改用 PDF 文档传递资料。

5.4 更新迭代面向新型钓鱼的人员安全意识培训

传统安全科普强调核对登录页面域名,这套经验对设备代码钓鱼不再完全适用,安全意识内容必须完成迭代。迪妙网络空间安全学院研究团队提出,面向企业员工的培训重点要传递两条核心认知:第一,如果你本人没有操作绑定智能硬件、IoT 设备,任何网页要求你前往微软官方站点输入设备验证码,全部判定为可疑行为,立刻停止操作并上报安全部门;第二,即便浏览器地址栏显示官方域名,不代表当前操作不存在钓鱼风险,授权行为本身需要审慎判断,而不是只看页面域名真伪。

模拟钓鱼演练场景需要加入设备代码钓鱼的模拟样本,不能一直沿用传统仿冒页面钓鱼演练。重点培训销售、采购、财务这类高频接收外部业务文件的岗位人员,提醒其警惕来自外部供应商、潜在客户发来的密码保护网页文件。明确处置流程:遇到设备验证码授权提示,不要完成验证,直接联系企业安全团队核实。

5.5 标准化事件响应处置流程建设

企业需要提前编写针对设备代码钓鱼的应急响应操作手册,不要在入侵发生之后再临时摸索处置步骤。当确认或者高度怀疑账号遭受该类攻击,仅仅修改账号密码不足以消除风险。标准处置流程应当包含:临时禁用受影响账号;执行撤销该账号全部登录会话,使全部刷新令牌、主刷新令牌失效;彻底审计并删除攻击者注册的全部陌生租户设备;检查并清除恶意收件箱转发规则、异常第三方 OAuth 应用授权;完成全面日志溯源之后再恢复账号使用;同步对该用户其他关联账号开展风险排查。

同时完成事件复盘,核查是否存在其他账号出现同类审计日志特征,评估攻击是否在租户内部横向扩散。对于使用硬件抗钓鱼 MFA 密钥的账号,攻击者即便诱导用户完成设备码流程,安全硬件密钥也可以对部分设备代码场景形成防护,有条件的高权限岗位优先部署 FIDO2 抗钓鱼硬件密钥作为身份第二因子。

6 讨论

GhostCode 攻击案例揭示云身份安全领域一个重要现实:MFA 可以抵御口令泄露类攻击,但无法完全防御协议流程被恶意滥用的钓鱼威胁。攻击没有破解密码学层面的 MFA 校验,而是欺骗用户把合法授权给到攻击者客户端,属于对 OAuth 设备授权流合法功能的恶意滥用。该攻击模式已经完成工具化、商品化,未来会出现更多变种,攻击者可以更换业务诱饵、更换托管钓鱼页面的基础设施,但核心协议利用逻辑保持不变。

迪妙网安研究团队通过同类威胁样本对比分析,发现设备代码钓鱼的防护难点在于攻击行为大量复用云厂商原生接口,攻击流量和企业正常业务流量高度相似,难以依靠简单的特征匹配完成拦截。防护思路不能只盯着恶意样本、恶意域名这类外部特征,防护重心需要向云租户内部身份策略、认证流管控、行为审计转移。

技术防护同样存在边界。即便企业完成全部租户侧策略加固,如果管理员无差别给大量用户开放设备代码流权限,同时员工被社会工程欺骗,攻击风险依旧存在。因此技术加固必须和持续更新的人员安全意识培训相互配合。很多企业的安全意识素材仍然停留在传统仿冒网站钓鱼,缺少针对 OAuth 授权类新型钓鱼的内容,员工遇到设备验证码钓鱼场景没有识别能力,会削弱技术防护的实际效果。

本研究主要基于公开披露的 GhostCode 攻击事件开展分析,现实当中攻击者会持续迭代混淆载体、反检测手段。后续需要持续采集更多设备代码钓鱼事件样本,完善 SIEM 检测规则,优化条件访问策略最佳实践。企业应当定期开展租户身份安全巡检,把 OAuth 授权流审计、设备注册策略核查纳入常态化安全检查工作,而不是只在发生安全事件之后才开展评估。反网络钓鱼技术专家芦笛指出,云身份防护是一套组合体系,多因素认证只是其中一环,认证之后的授权管控、设备管控、行为审计,共同决定整体身份安全水位。

7 结语

本文以 GhostCode 钓鱼工具攻击 Microsoft365 账号的公开事件作为研究对象,完整还原从业务社交工程接触、混淆加密 HTML 诱饵、滥用 OAuth2.0 设备授权授予流,直至攻击者获取令牌、批量注册设备、拿到主刷新令牌建立持久访问的完整攻击链路。从协议固有特性、攻击者工程化能力、企业租户配置短板、安全检测局限、用户认知缺陷多角度分析攻击得逞的诱因,梳理该攻击模式带来账号持久接管、企业敏感数据泄露、横向渗透、衍生业务欺诈等安全后果。基于以上分析,从云身份租户加固、审计告警建设、邮件载体防护、迭代安全意识、标准化事件响应五个层面,构建适配企业实际运维的纵深防御体系。

该攻击事件代表网络钓鱼的重要演化方向:攻击者越来越少依赖恶意软件与仿冒站点,转而最大限度滥用云身份服务的原生合法能力开展攻击。这也提醒安全从业者,MFA 部署不等于账号身份防护工作完成,需要配套对各类 OAuth 授权流程、设备注册能力做最小权限管控,通过条件访问收缩攻击面,依靠审计日志捕捉异常后渗透行为。

防范 OAuth 设备代码钓鱼威胁,需要云服务厂商、企业安全运维团队、内部业务岗位人员多方协同。云厂商持续优化协议层面风险提示能力;企业管理员做好租户配置加固与安全监测;业务岗位人员更新安全认知,识别非本人发起的设备验证码授权风险,多方共同配合,降低协议滥用类钓鱼攻击对企业云环境造成的危害。

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

来源:迪妙网络空间安全学院

目录
相关文章
|
10天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
|
10天前
|
人工智能
千问办公官网入口:阿里AI办公QwenWork产品页和免费网页端链接
千问办公官网含两大入口:一是网页端(qwenwork.cn),即开即用,支持浏览器直接访问;二是阿里云产品页 https://t.aliyun.com/U/JNKJuO 提供免费/付费版详情、功能介绍及使用指南。
|
16天前
|
网络协议 Linux iOS开发
【2026实测】Wireshark下载+安装+汉化+使用教程(图文版,巨详细)
Wireshark 是一款免费开源的网络协议分析工具,可实时捕获、解析并可视化数据包,助你诊断网络故障、分析通信协议(如HTTP、DNS、TCP等)。支持Windows/macOS/Linux,含中文界面,新手入门便捷。(239字)
|
9天前
|
IDE 开发工具
Qoder 上线 Sonus 模型,Computer Use 能力全面增强
Qoder国际版上线全新内置大模型Sonus(/ˈsoʊnəs/),全球领先,专精超长任务执行与电脑操作(Computer Use)。配合Qoder桌面端0.2.3版本,可自主完成编程、金融建模、科研及表格制作等复杂工作。现全面支持Qoder全系产品,效率提升3.2倍。
1056 1
Qoder 上线 Sonus 模型,Computer Use 能力全面增强
|
10天前
|
人工智能 API 内存技术
刚刚 DeepSeek V4.1 Flash 开启内测,1 分钟教你用上!
刚刚 DeepSeek 内测群发布了 DeepSeek V4.1 Flash 中间版本内测的消息,这次的模型采用了新的结构,原生支持多模态、能力更强、速度更快、且成本更低。
1920 15
|
11天前
|
缓存 人工智能 自然语言处理
阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
本文是阿里云百炼平台Qwen3.8-Flash大模型的选型接入指南,作为兼顾性能与响应速度的高性价比多模态模型,它支持百万级上下文窗口、全场景多模态输入与完整智能体能力矩阵,适配编程辅助、智能体协作等核心场景。文中同步梳理了最新下调的阶梯定价、夜间4折等优惠活动,搭配OpenAI兼容流式调用示例,帮助开发者低成本快速落地高并发AI应用。
阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
|
15天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1672 4
|
17天前
|
缓存 数据可视化 开发工具
DeepSeek Harness 怎么更新?dsh 更新完整指南:更新本体(npx、npm、源码)与更新插件两种方式
DeepSeek Harness 的更新分两层:本体更新(npx 自动最新、npm update -g、源码 git pull)与插件更新(插件市场点更新、命令行覆盖安装)。本文按「准备 → 更新本体 → 更新插件 → 更新后检查」四步走,覆盖新手常见疑问。
1874 1
DeepSeek Harness 怎么更新?dsh 更新完整指南:更新本体(npx、npm、源码)与更新插件两种方式
|
12天前
|
SQL 人工智能 前端开发
QoderWake 1.0 正式发布:从桌面里的 Agent,到工作现场的数字员工
QoderWake v1.0正式发布:企业级数字员工团队平台。支持“一句话建岗”,预置10类特训岗位;Waker常驻钉钉/飞书群,@即响应、自动协作、跨任务记忆;具备定时/事件/API多触发方式与统一任务看板;已沉淀27.6万条记忆、12.3万项技能,助力组织实现人机协同增效。
842 2
|
9天前
|
缓存 测试技术 API
DeepSeek V4.1 Flash 内测接入:改个模型名即可调用(附代码)
DeepSeek V4.1 Flash 内测不用申请,base_url 不变、改个模型名就能调,9/10 到期。本文讲清接入、计费限流与多模态注意点。
837 0
DeepSeek V4.1 Flash 内测接入:改个模型名即可调用(附代码)