Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

网络安全术语表攻击目录

滥用 Entra ID 应用权限——工作原理与防御策略

滥用 Entra ID 应用权限——工作原理与防御策略

滥用 Entra ID(原 Azure AD)的应用权限是一种高级攻击技术,攻击者会利用 Microsoft Entra ID 中配置错误或权限过高的应用注册(application registrations)、同意授权(consent grants)以及委派/静态凭据(delegated/static credentials),从而获取未经授权的访问、提升权限、外传数据,或维持持久访问。其主要目标是滥用合法应用权限,让攻击者无需传统的凭据窃取即可代表用户或租户执行操作。

Attribute

Details

Attack Type

Entra ID application permission abuse

Impact Level

High

Target

Cloud tenants, SaaS consumers, enterprises, governments

Primary Attack Vector

Misconfigured app registrations, excessive consent, compromised app secrets/certs, OAuth flows

Motivation

Data exfiltration, lateral cloud-to-on-prem escalation, persistence, tenant takeover

Common Prevention Methods

Least-privilege app design, consent restrictions, certificate-based auth, conditional access, continuous consent/permission auditing

Risk Factor

Level

Potential Damage

Very High

Ease of Execution

Medium

Likelihood

Medium to High

什么是 Entra ID 应用程序权限滥用?

Entra ID 应用程序权限滥用发生在攻击者利用应用程序级权限(应用程序权限、委派权限、管理员已同意的范围)、配置错误的 OAuth 同意、泄露的客户端密钥/证书,或滥用服务主体以在租户中执行特权操作时。与基于密码的入侵不同,此技术会使用合法的平台机制(OAuth 令牌、应用程序角色、Graph API 调用),因此恶意操作往往看起来像正常的应用程序活动。

应用程序权限滥用是如何运作的?

下面按步骤分解了攻击者利用 Entra ID 应用程序权限时常见的技术与阶段。

1. 建立初始据点

攻击者首先获取与目标云租户相关的任何立足点。常见的进入点包括:钓鱼(以获取被委派的用户同意)、被入侵的用户账户、从仓库/配置中泄露的应用客户端密钥、窃取某个应用的证书/私钥,或滥用较弱的管理员同意工作流。

2. 发现已注册的应用程序及其权限

一旦进入环境,攻击者会枚举服务主体(service principals)和应用程序注册(application registrations),以识别具有高权限的应用(例如:Application.ReadWrite.All、Directory.ReadWrite.All、Mail.ReadWrite、Group.ReadWrite.All)。枚举可以通过 Microsoft Graph 查询、访问 Azure AD 门户,或使用被委派的令牌来列出企业应用及其已授予的作用域(granted scopes)来完成。

3. 识别可被利用的同意与委派路径

攻击者会寻找以下类型的应用:已获得管理员同意的应用、委派作用域过于宽泛的应用、允许隐式授权(implicit grant)的旧版端点,或保护不当的机密客户端凭据(密钥/证书)。他们特别关注能够提供后台访问(应用权限)的应用,而这种访问不需要已登录的用户。

4. 外传/窃取应用凭据或滥用授权同意

如果客户端密钥(client secrets)或证书可以被发现(例如在流水线、代码仓库、配置文件中,或在访问权限较弱的 Key Vault 中),攻击者会提取它们并与令牌进行交换。在委派授权(delegated-consent)流程中,攻击者可能会通过诱导(consent phishing)欺骗特权用户同意恶意应用权限范围(app scopes)。他们也可能利用多租户应用中的授权同意(consent-granting)功能。

5. 获取令牌并执行特权操作

攻击者利用被盗/被滥用的凭据或已获得的授权同意,请求 OAuth 访问令牌(用于应用权限的应用令牌,或代表用户的委派令牌),并调用 Microsoft Graph 或其他 API 来列出用户、读取邮件、下载 OneDrive 文件、修改目录对象,或创建后门(新的应用注册或自定义角色)。

6. 提权、保持持久化并横向移动

通过应用权限,攻击者可以创建新的服务主体(service principal)、添加凭据、分配角色或以规模化方式外传数据。由于应用令牌可能长期有效,且操作往往看起来很正常,攻击者能够维持持久性,并从云端转移到本地环境的依赖关系(例如,同步身份信息、修改混合连接器)。

✱ 变体:同意(Consent)钓鱼与恶意多租户应用

诱骗拥有特权的用户授予广泛权限。攻击者托管看似无害的应用,这些应用会请求危险的权限范围(scopes),并利用社交工程让管理员或拥有特权的用户进行同意(consent)。一旦用户完成同意,该应用就可以在整个租户范围内运作。恶意多租户应用可用于从许多租户中收集管理员同意。

滥用旧版 OAuth 流程与隐式授权(implicit grants):旧版 OAuth 流程或配置错误的重定向 URI(redirect URIs)可能使令牌被盗或绕过同意成为可能。攻击者利用这些问题,在没有交互式用户流程保护的情况下获取委派令牌(delegated tokens)。

攻击流程图

a timeline showing the stages of an app development process

示例:从组织视角看

从组织的视角来看,这种情况是这样的:攻击者对 Contoso Corp 的管理员进行网络钓鱼,诱使其同意一个看似合法的分析工具的应用程序。一旦该应用程序获得管理员同意,攻击者就会将应用凭据兑换为应用令牌,并使用 Microsoft Graph 枚举邮箱,然后从 OneDrive 下载敏感文档。接着,他们会注册一个带有长期有效证书的辅助服务主体,以保留访问权限,从而实现持续的数据外传以及对租户的修改。

应用程序权限滥用的示例

Case

Impact

OAuth Consent Phishing Campaigns

Attackers have used consent phishing to gain tenant-wide application permissions, enabling mass mailbox access and data theft across multiple organizations.

Leaked Client Secrets in Public Repos

Several incidents show attackers discovering app secrets in public Git repositories or deployment artifacts, using them to mint tokens and access resources without ever touching user passwords.

应用程序权限滥用的后果

滥用 Entra ID 的应用程序权限可能带来严重后果:租户被攻破、大规模数据外传、未经授权创建账户和服务主体、向本地资源进行横向移动,以及难以检测的长期持久化。

财务后果

攻击者可能会窃取知识产权、客户 PII 或财务数据,从而导致欺诈、监管罚款、勒索要求或整改成本(取证、法律、通知)。滥用云资源(例如挖矿)也可能带来意外的账单。

运营中断

篡改目录对象、组成员关系或身份同步,可能会扰乱身份验证流程,导致关键应用宕机,或迫使进行紧急轮换并重新配置集成。

声誉损害

与滥用应用权限相关的租户受损或数据泄露可能削弱客户信任,招致负面报道,并损害合作伙伴关系。

法律与监管影响

受监管数据(PHI、财务记录)的未授权暴露可能触发 GDPR、HIPAA 或其他合规调查、罚款以及潜在诉讼。

Impact Area

Description

Financial

Data theft, fraud, cloud bill abuse

Operational

Broken auth flows, service outages

Reputational

Loss of customer confidence, brand harm

Legal

Regulatory penalties, lawsuits

应用权限滥用的常见目标:谁处于风险之中?

权限过高的企业应用

被授予 Directory.* 或整个租户范围 Application 权限的应用是高价值目标,因为它们能够在身份与资源之间执行批量操作。

多租户或面向客户的集成

请求广泛权限范围的第三方 SaaS 应用或多租户应用,如果管理员予以同意,或应用本身具有恶意行为,就可能被滥用。

会泄露的 DevOps/CI 流水线

意外提交到源代码控制中的客户端密钥或证书、存储在不安全的存储位置中,或可从 CI 日志中访问,会使机密客户端变得容易受到攻击。

旧版 OAuth 配置与条件访问漏洞

使用旧版认证流程的应用,或缺乏严格条件访问策略的租户(例如:在同意环节不启用 MFA、没有管理员同意工作流),更容易被利用。

过期或未受监控的服务主体(Service Principals)

包含仍然有效凭据的旧版或孤立的应用注册,是持续存在的攻击途径;攻击者可以从容地对其进行破解。

风险评估

Risk Factor

Level

Potential Damage

Very High — tenant-wide compromise and mass data access possible.

Ease of Execution

Medium — requires reconnaissance plus either social engineering or discovery of credentials, but techniques and tooling are widely known.

Likelihood

Medium to High — many tenants still have consent workflows, leaked secrets, or permissive app registrations.

如何防止应用程序权限滥用

防范需要多层次:缩小“爆炸半径”,强化应用程序认证,并尽量减少人为同意错误。

应用与同意卫生

  • 实施最小权限范围:仅请求所需的最少 Microsoft Graph scopes;在可能的情况下,优先使用委派权限而不是应用程序权限。
  • 使用管理员同意工作流:对高权限应用程序,要求提供理由,并采用多审批人的管理员同意。
  • 限制谁可以注册应用或授予同意:将应用注册和管理员同意权限限制为一个小规模、经过审查的群体。
  • 审查并删除未使用的应用:定期审计服务主体和应用注册信息,以删除孤立或不必要的项。

保护凭据与机密

  • 对机密客户端,优先使用基于证书的(非对称)认证,而不是使用客户端密钥。证书更不容易被暴露,并且可以安全地轮换。
  • 将机密存储在托管保管库(Azure Key Vault)中,并使用严格的 RBAC 与托管标识访问——绝不要放在源代码或明文配置中。
  • 自动轮换客户端密钥(client secrets)和证书,并在运营上可行的情况下强制启用较短的有效期。

Conditional Access & Session Controls

  • 要求为应用令牌(app token)签发启用 Conditional Access:阻止高风险登录,要求使用符合规范的设备,并在适用的情况下对委派流程(delegated flows)强制执行 MFA。
  • 当出现高风险信号时,使用持续访问评估(continuous access evaluation)来撤销令牌。

Application Design & Monitoring

  • 为最小权限与透明性设计应用:实现仅同意(consent-only)功能和细粒度范围(granular scopes);记录为何需要每一项权限。
  • 记录并监控 Graph API 的使用情况:当出现异常模式时发出警报(例如:大规模邮箱下载、批量用户枚举、新建应用/服务主体)。
  • 通过授权管理(entitlement management)和策略限制哪些应用可以使用应用程序权限。

Netwrix 如何提供帮助

Netwrix Identity Threat Detection & Response(ITDR)通过持续监控高风险应用注册、异常的同意授予以及可疑的 Graph API 活动,增强您对 Entra ID 应用程序权限滥用的防御。借助早期发现未经授权的特权升级,并自动化诸如告警或撤销已被攻陷权限等响应动作,Netwrix ITDR 可帮助您最大限度缩短停留时间(dwell time),并降低由身份驱动的攻击所造成的影响范围。借助对混合版 Active Directory 和 Entra ID 的全面可视性,组织能够实施最小权限、保护高风险服务主体,并快速调查入侵指标(indicators of compromise),从而确保数据安全从身份开始。

检测、缓解与响应策略

检测

  1. 监控异常的 Graph API 模式:例如 Applications.ReadWrite.All、Users.ReadAll 的激增,或大文件下载。
  2. 对新的应用程序注册和新的凭据发出警报:当创建了服务主体、添加了凭据或授予了同意时进行通知。
  3. 跟踪管理员同意事件及其审批者:对来自异常位置或异常时间的意外管理员同意进行标记。
  4. 检测异常令牌签发:应调查由未知客户端请求的令牌,或使用旧凭据请求的令牌。
  5. 使用欺骗手段:创建诱饵应用或服务主体,并监视任何对它们的访问行为。

响应

  • 立即撤销已泄露的凭据:轮换客户端密钥(client secrets),撤销证书,并从所有位置删除泄露的凭据。
  • 移除恶意应用的授权并禁用违规的服务主体:删除相关权限并禁用该应用,以阻止进一步的 API 访问。
  • 强制令牌失效:在可能的情况下使已发放的刷新令牌和访问令牌失效,并要求重新认证。
  • 开展租户范围审计:检查角色、组成员关系、已委派的权限,以及用于可能产生二次影响的配置/供给(provisioning)连接器。
  • 搜寻横向活动痕迹:检查是否创建了账户、分配了角色、出现了异常的应用注册,或修改了条件访问(conditional access)策略。

缓解

  • 在身份(identity)方面采用零信任(Zero Trust):持续验证每个请求,并限制任何应用或身份可以执行的操作。
  • 使用最小权限自动化:仅允许自动化和应用访问所需资源,并将高风险任务隔离到专用且可审计的服务主体中。
  • 实施强有力的供应链控制:扫描代码仓库(repos)、CI 管道(pipelines)以及部署产物(deployment artifacts)中是否泄露了敏感信息(secrets),并将敏感信息扫描集成到 PR 检查中。

行业特定影响

Industry

Impact

Healthcare

Compromise may expose PHI from cloud EMR systems or patient communications (email/OneDrive), violating HIPAA.

Finance

Attackers can access transaction data, customer PII, or payment systems integrated via OAuth, causing regulatory and financial fallout.

Retail

Exposure of customer data, loyalty program credentials, or supply-chain integrations can lead to fraud and compliance violations.

攻击演进与未来趋势

  • 同意钓鱼(Consent phishing)正在成熟:将社交工程与精美的应用页面结合,可以提高管理员同意的成功率。
  • 应用侦察自动化:工具现已能够在大规模范围内扫描租户,查找高风险应用、泄露的凭据以及开发运维(DevOps)机密信息。
  • 长期有效的非交互式凭据依然很有吸引力——证书保护和轮换正在成为标准防御措施。
  • 云到本地(Cloud-to-on-prem)身份桥接:攻击者正越来越多地将对 Entra ID 的滥用与混合同步连接器结合起来,以扩展对本地 AD 的渗透范围。
  • AI 辅助侦察:自动化系统会分析租户元数据,找出通往高影响权限的最短路径。

关键统计数据与信息图

(用于强调的示例指标——如有可用的遥测数据,请替换为您的数据。)

• 很大比例的事件都与 CI/CD 中泄露或管理不当的机密有关。

• 近年来的云端受损事件中,授权/同意钓鱼活动占据了相当一部分。

• 许多组织缺乏对应用权限和服务主体(service principals)的定期审计。

最后的思考

滥用 Entra ID 应用程序权限非常有力,因为它会利用合法的平台能力,使恶意活动与正常自动化融为一体。防御策略应将预防性控制(最小特权、密钥/机密保护、同意治理)、检测(Graph 监控、对应用生命周期事件的告警)以及快速响应(凭据撤销、移除同意)结合起来。采用编程化、持续性的应用权限审计方法,并配合对谁可以给予同意或注册应用的严格运维控制,将能显著降低攻击面。

常见问题解答

分享到