文章总结: 文档深度解析了针对MicrosoftEntraID的OAuth同意滥用攻击,攻击者通过伪装成合法应用(如ChatGPT)诱骗用户授权,获取Mail.Read等高风险权限,从而无需密码即可持久访问邮箱等敏感数据。文章揭示了EntraID默认允许非管理员用户授权的风险,并提供了基于审计日志的检测方法、使用PowerShell撤销授权的应急响应步骤,以及配置用户同意策略、启用管理员审批工作流和持续监控的三层防护建议。 综合评分: 85 文章分类: 渗透测试,威胁情报,云安全,安全建设,应急响应
你的邮箱可能正在被”合法”读取:Entra ID OAuth同意滥用攻击深度解析
原创
ZM ZM
暗镜
2026年2月27日 07:06 辽宁
#
“只需点击一次’同意’,你的企业邮箱就对攻击者完全敞开——不需要密码,没有异常登录提醒,甚至连你自己都不会察觉。”
这不是危言耸听,而是Red Canary安全团队近期发现并证实的新型攻击模式:OAuth同意滥用(OAuth Consent Abuse)。攻击者正将目标对准Microsoft Entra ID(原Azure AD),利用”合法授权”的伪装,实现对邮箱、文件、聊天记录的隐蔽访问。
一、攻击现场还原:一次”ChatGPT”引发的虚惊
2025年12月2日20:22:16 UTC,Red Canary分析师监测到一条异常活动:
涉事账户:
[email protected]操作内容:以非管理员身份向第三方应用授予OAuth权限 授权范围:Mail.Read(读取邮件)、offline_access(离线访问)、profile(个人资料)、openid(身份验证) 来源IP:3.89.177.26
调查过程高度紧张——Mail.Read权限意味着该应用可以完整读取用户邮箱中的所有邮件。安全团队迅速展开溯源,最终确认这是用户自行安装的正版ChatGPT应用。
但这次”虚惊”恰恰暴露了致命问题:整个攻击链条与真实的恶意事件完全吻合。如果攻击者将应用名称改为”Microsoft 365优化助手”或”企业邮箱备份工具”,你是否还能分辨?
二、OAuth同意滥用:无需密码的”合法”入侵
什么是OAuth同意滥用?
OAuth(Open Authorization)是现代互联网的”通行证”体系。当你用微信登录某App,或允许某应用访问你的Google日历时,背后都是OAuth在运作。
正常流程:
- 应用请求权限(如”读取邮件”)
- 系统弹出同意窗口,列出权限清单
- 用户点击”同意”,应用获得访问令牌
- 应用凭令牌访问数据,无需知道用户密码
攻击者如何利用?
攻击者 受害者 Entra ID 微软邮箱
| | | |
|──创建恶意应用──>| | |
| (名为"Outlook安全助手") | |
| | | |
|──钓鱼链接─────>| | |
| | | |
| |──点击链接─────>| |
| | | |
| |<──显示同意窗口──| |
| | [Mail.Read] | |
| | | |
| |──点击"同意"───>| |
| | | |
|<───────────────获得访问令牌─────| |
| | | |
|───────────────────────────────────────────────>|
| 开始持续读取所有邮件 |
| (用户密码从未泄露) |
关键风险点:
- ✅ 用户密码从未泄露,传统”改密码”无效
- ✅ 无异常登录告警(因为使用的是合法授权令牌)
- ✅ 攻击者拥有持久化访问(
offline_access可获取刷新令牌,长期有效) - ✅ 应用名称可任意伪装,极具迷惑性
三、Entra ID的”默认漏洞”:为什么员工能授权访问公司数据?
最危险的配置往往来自默认设置。
Microsoft Entra ID默认允许标准非管理员用户自行同意应用程序权限——只要这些权限不需要管理员批准(如Mail.Read)。
这意味着:
- 🚨 一名普通销售点击了钓鱼链接 → 全公司客户邮件可能泄露
- 🚨 一名行政助理安装了”日程管理工具” → 高管日程、机密附件被读取
- 🚨 攻击者甚至不需要攻破你的网络,只需要攻破”人的信任”
四、检测与狩猎:在审计日志中捕捉幽灵
Red Canary提供了精确的检测方法。当发生OAuth同意滥用时,Entra ID审计日志会记录两个关键事件:
| 事件类型 | 含义 | 关键字段 |
| — | — | — |
| Add Service Principal | 新增服务主体(应用被注册到租户) | CorrelationId (关联ID) |
| Consent to application | 用户同意授权 | AppOwnerOrganizationId (应用所属组织ID) |
狩猎查询逻辑:
- 关联分析:通过
CorrelationId将两个事件关联,还原完整授权链条 - 第三方识别:检查
AppOwnerOrganizationId≠ 你的租户ID,且≠微软官方ID(f8cdef31-a31e-4b4a-93e4-5f571e91255a等) - 权限分析:筛选包含高风险OAuth范围的授权:
- 🔴
Mail.Read/Mail.ReadWrite(邮件访问) - 🔴
Files.Read.All(全部文件读取) - 🔴
Chat.Read(聊天记录) - 🔴
Sites.Read.All(SharePoint站点)
KQL检测示例(Microsoft Sentinel):
kusto
AuditLogs
|where OperationName in("Add service principal","Consent to application")
|where ResultDescription contains"Mail.Read"
or ResultDescription contains"Files.Read.All"
|extend AppId =tostring(parse_json(tostring(InitiatedBy.app)).servicePrincipalId)
|where AppId !in(trusted_app_ids)// 排除已信任应用
|summarizeby CorrelationId, TimeGenerated, UserPrincipalName, OperationName
五、应急响应:发现后的止血操作
一旦确认恶意授权,立即执行双步骤清除:
步骤1:撤销OAuth授权
使用Microsoft Graph PowerShell,提取Consent to application事件中的授权ID:
powershell
# 撤销特定用户的特定授权
Remove-MgOauth2PermissionGrant -OAuth2PermissionGrantId "<授权ID>"
步骤2:移除服务主体
使用Add Service Principal事件中的对象ID,将应用从租户彻底清除:
powershell
# 删除恶意服务主体
Remove-MgServicePrincipal-ServicePrincipalId "<对象ID>"
注意:仅删除应用注册不够,必须从服务主体层面清除,否则令牌可能仍然有效。
六、防御加固:三层防护策略
🛡️ 第一层:用户同意策略(最核心)
微软提供三种配置选项,建议根据组织安全成熟度选择:
| 策略 | 配置路径 | 适用场景 | | — | — | — | | 禁止用户同意 | 管理员必须批准所有应用 | 金融、政府、高安全要求企业 | | 验证发布者 | 仅允许已验证发布商的应用,且限制低风险权限 | 大多数企业推荐 | | 默认策略 | 按分类限制权限风险等级 | 中小企业起步配置 |
配置位置:Entra ID管理中心 → 企业应用 → 同意和权限 → 用户同意设置
🛡️ 第二层:管理员工作流
启用管理员同意工作流,当用户尝试安装需要高风险权限的应用时,自动触发管理员审批邮件。
🛡️ 第三层:持续监控
- 将
Consent to application事件纳入SIEM高优先级告警 - 对新出现的第三方应用授权进行24小时内人工复核
- 建立”应用白名单”,仅允许预批准的商业应用
结语:当”同意”成为武器
OAuth同意滥用的可怕之处,在于它完全合法化了攻击行为。没有漏洞利用,没有恶意软件,只有用户亲手点击的”同意”按钮。
在AI工具爆发式增长的今天,员工安装ChatGPT、Copilot、各类效率插件已成为常态。每一次授权请求,都可能是攻击者的伪装。
安全团队需要做的,不是阻止业务创新,而是确保每一次”同意”都在可见、可控、可审计的框架内进行。
毕竟,在这个时代,最危险的入侵往往穿着合法的外衣。
本文技术细节参考Red Canary威胁情报报告及Microsoft Entra ID官方文档。如需部署检测规则或配置同意策略,建议联系微软安全团队或专业安全服务商。
📌 建议收藏本文,转发给贵公司的IT管理员和信息安全负责人。下一次审计日志中出现”Consent to application”时,你会知道该看什么。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:暗镜 ZM ZM《你的邮箱可能正在被”合法”读取:Entra ID OAuth同意滥用攻击深度解析》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论