本出版物汇集了针对 Microsoft Entra ID(原 Azure Active Directory)的各种常见攻击场景,以及如何缓解或检测这些攻击。
本出版物汇集了针对 Microsoft Entra 的各种常见攻击场景以及如何缓解或检测这些攻击。 所有包含的场景、见解和评论均基于贡献者在攻击模拟、实际操作或真实世界场景中的经验。
本文档应被视为一份持续更新的文档,将随着实践的发展以及攻击与防御技术的变化而更新。 我们邀请社区中的身份或安全专家共同参与本文档的编写,贡献更新、反馈、评论或进一步的补充。
在所有章节中,我们都遵循相同的章节结构准则。阅读时,您可以预期找到:
以下部分包含您在“Entra ID 攻击与防御手册”中可以找到的每个章节的简短描述。
创建“Azure AD 攻击与防御手册”的最初想法来自 Thomas Naunheim。我们的第一次 Teams 通话是在 2020 年秋季的某个时候,Thomas 提出了这个想法,并立即得到了认可。
第一章是关于“密码喷射”攻击的,我们重点研究了 Entra ID Protection(以前称为 Azure AD Identity Protection)的检测机制,以检测“密码喷射”类型的攻击。在第一章期间,我们了解到,由于研究的复杂性和研究的不同角度,完成研究所需的日历时间可能比预期长得多。与任何项目类工作一样,范围界定极其重要。
在最新的章节中,我们有幸邀请到其他社区成员参与该项目,例如 Joosua Santasalo、Fabian Bader 和 Christopher Brumm 作为切磋伙伴和审阅者。
MITRE ATT&CK Framework 通常用于将对手行动的战术、技术与程序(TTP)映射到全球组织的防御模拟中。在本手册中,我们在所有章节中使用 MITRE ATT&CK 框架 v11,将技术、战术与程序(TTP)映射到攻击场景。这将帮助蓝队为相应的场景构建防御。
根据具体的攻击场景,您可以从各个章节中找到多种检测规则。由于手册包含大量检测规则,我们决定创建一个包含所有攻击场景到 TTP 映射的可视化。同时请记住,每个章节都有针对相应攻击场景的可视化。
攻击场景的检测部分将涵盖 Microsoft 安全产品(Microsoft Defender XDR、Microsoft Sentinel、Azure Entra ID Connect、Microsoft Defender for Cloud)的相关检测能力。为本手册开发的自定义 Microsoft Sentinel 规则模板也已映射到 TTP。检测规则可在此处以 Microsoft Sentinel 规则模板(可立即部署)的 JSON(ARM 模板)格式获取。
附注:我们使用了 Microsoft Sentinel 规则模板和 Microsoft 365 事件关联中现有的 TTP 映射。某些检测并未提供完整的 MITRE ATT&CK 覆盖范围,因此未包含在此可视化中。
通常,一章大约需要 1-2 个月的日历时间,因此将所有四(4)个章节和附录整合在一起需要相当多的精力。在过去两(2)年中,我们对以下场景进行了研究:
“密码喷射攻击是指使用常见密码以统一的暴力破解方式攻击多个用户名,以获取未经授权的访问权限。”
该章节最初创建于 2020 年 11 月,并于 2021 年 11 月更新,包含来自 Microsoft Ignite 2021 的最新安全产品更新。
该章节包含攻击的简要描述以及用于模拟密码喷射类型攻击的工具。在检测部分,使用了多种 Microsoft 安全解决方案,例如 Microsoft Sentinel 和 Defender for Cloud Apps。
在附注中,还包含针对本地环境和 ADFS(如果仍在使用)的一些考虑事项。
“在非法同意授权攻击中,攻击者创建一个 Azure 注册的应用程序,该应用程序请求访问联系人信息、电子邮件或文档等数据。然后,攻击者通过网络钓鱼攻击或将非法代码注入受信任的网站,诱骗最终用户授予该应用程序访问其数据的同意。非法应用程序获得同意后,即可在无需组织帐户的情况下以帐户级权限访问数据。
常规的补救措施(例如重置受损帐户的密码或要求帐户启用多重身份验证(MFA))对此类攻击无效,因为这些是第三方应用程序,且位于组织外部。这些攻击利用的交互模型假定调用信息的实体是自动化程序而非人类。”
该章节包含攻击描述,并解释了为什么保护与监控 Entra ID 同意框架相关的活动至关重要。在检测章节中,我们使用了以下解决方案:
由于主题庞大而复杂,缓解部分包含有关如何减少环境中攻击面的说明和详细信息。
在以下两个攻击场景中,我们重点关注 Azure DevOps(ADO)发布管道中的特权服务主体以及审计中(可能)有限的可见性。
ADO 是一个庞大的主题,在本章中,范围仅限于上述场景。此处遵循相同的路径:
在撰写本章时,我们花费了大量时间在检测技术上,由于 ADO 审计日志模式的原因,这一过程相当复杂。尽管如此,努力工作得到了回报,我们成功实现了既定目标,并在 Microsoft Sentinel 中检测到了攻击。
该章节在缓解部分包含关于如何保护 Azure DevOps 环境的深入信息。
在本文中,我们主要关注以下场景:

不在范围内的是从 AADC 服务器指向 Active Directory 的特权提升和攻击路径(包括滥用 Azure AD DS 连接器帐户)。
于 2022 年 3 月 14 日发布的最新章节完全是关于滥用 Microsoft Entra Connect 同步服务帐户的。准确地说,AAD Connect 帐户负责向 Azure AD 侧执行操作。
该主题和攻击场景对于研究工作来说非常有趣,尽管我过去曾大量使用 Microsoft Entra Connect,但我必须承认,在过去两(2)个月中我学到了很多。我们有一些有趣的发现,这些发现是我们之前没有注意到的。
如果您已经读到这里,我鼓励您查看我们在研究工作中创建的 Microsoft Sentinel KQL 查询。
Microsoft 推出了 Windows 11,并要求使用受信任的平台模块(TPM)芯片。这大大增强了使用 Windows 11 操作系统安全功能的能力,包括为基于云的身份验证场景提供额外的保护层。主刷新令牌(PRT)和其他相关密钥可以由 Windows 11 中的 TPM 很好地保护,Windows 10 以及 2016 及以上版本的 Windows Server 也可以。考虑到这一点,在本文中我们主要关注以下场景:

Entra ID 安全配置分析器的目的是提供一个解决方案,从选定的 Microsoft Graph API 端点提取 Entra ID 安全配置,并将数据摄取到 Log Analytics。Azure Workbook 用于数据可视化,Microsoft Sentinel 可用于在检测到关键配置更改时创建警报/事件。
下图描述了 EIDSCA 解决方案架构、所用解决方案和数据流:
将 EIDSCA 集成为 Microsoft Sentinel 环境一部分的参考架构。数据将被摄取到与 Sentinel 相同的工作区。 是否要集成到专用、运营或现有的 Sentinel 工作区,取决于您的实现和设计。
EIDSCA 控制项也用于 Maester,更多信息请参阅 Maester 文档
不同的令牌在云身份验证中起着至关重要的作用。因此,理解它们的机制以及攻击者如何在它们落入坏人之手时加以利用非常重要。理解这一点有助于构建针对身份攻击的防护。
当攻击者获得访问权限并破坏令牌时,就会发生令牌窃取。一旦被窃取,攻击者可以重放被盗令牌并访问被入侵的帐户。在 AiTM 场景中,攻击者可以绕过 MFA 要求,因为 MFA 声明已包含在令牌中,并且身份验证要求已满足。因此,攻击者可以访问环境。我们将在本文后面详细阐述该场景、检测和缓解措施。
要了解更多关于 Entra ID 安全令牌的信息,请查看以下 Microsoft Learn 资源:
Entra ID 攻击与防御手册章节“从 Azure AD 加入的设备重放主刷新令牌(PRT)及其他已签发令牌”揭示了重放 PRT、访问令牌和刷新令牌:
在本章中,我们重点讨论中间人(AiTM)类型的攻击,即攻击者截获受害者的会话 Cookie,然后在之后重放以访问登录服务。
网络犯罪分子目前使用 AiTM 钓鱼技术大规模绕过多重身份验证(MFA)保护。这些高级技术通过钓鱼即服务(PhaaS)网络犯罪经济模式得到普及和增长,自 2021 年以来催生了多种服务产品。
如今,具备 AiTM 能力的 PhaaS 平台数量在 2023-2024 年持续增长,此前存在的服务在其平台上添加了 AiTM 功能,新创建的服务也原生融入了 AiTM 钓鱼技术。虽然传统的凭据钓鱼形式仍然存在,但 AiTM 钓鱼攻击的数量超过了不具备此能力的攻击。
AiTM 钓鱼的最终目标是窃取用户凭据和会话 Cookie。浏览器存储会话 Cookie,以便用户无需重复身份验证即可访问服务。AiTM 钓鱼以会话 Cookie 和凭据为目标,以绕过传统的 MFA 保护。
关于 PhaaS 的更多信息:
每个现代 Web 服务在用户成功认证后都会与用户建立会话,这样用户就不必在他们访问的每个新页面上都进行认证。 此会话功能通过认证服务在初始认证后颁发的会话 Cookie 来实现。该会话 Cookie 向 Web 服务器证明用户已经通过认证,并在网站上保持活动会话。
在 AiTM 钓鱼攻击中,攻击者截获目标用户的会话 Cookie,随后重放该 Cookie 以访问登录服务。由于该 Cookie 证明了 MFA 检查已经通过(令牌中包含相应声明),因此它满足 MFA 要求,使攻击者能够绕过 MFA 保护并访问被入侵的用户帐户。
在通过反向代理进行的 AiTM 钓鱼中,代理被部署在用户与用户想要访问的合法网站或应用程序(如 Microsoft 登录门户或 LinkedIn)之间。反向代理将用户的请求转发到实际服务,并拦截响应。这种设置使攻击者能够窃取并拦截目标的密码,以及证明其与网站保持已认证会话的会话 Cookie。
在攻击者中流行的钓鱼工具包包括:EvilGinx、Modlishka、Muraena 和 "Office 365" (EvilProxy)。这些钓鱼工具包允许攻击者使用反向代理服务器执行 AiTM 钓鱼攻击。
附注:在许多活动中,Entra ID 日志中的目标应用程序是 OfficeHome。
通过反向代理进行的 AiTM 钓鱼攻击示意图(初始图来自 Microsoft Defender XDR 威胁情报报告)。
另一种 AiTM 方法称为 'AiTM phishing through synchronous relay'。在此类攻击中,会向目标呈现一个登录页面的副本或仿冒版本,这与传统钓鱼攻击中的情况相同。如果用户向该页面提供其凭据,这些凭据将被存储在攻击者控制的服务器上,该服务器上安装了钓鱼工具包实例(包括其管理面板)。从根本上说,这意味着用户的输入会被窃取,包括登录凭据、双因素认证 (MFA) 代码和会话 Cookie。
中继服务器通常由开发背后的攻击者组织以及 PhaaS 平台的责任相关方提供和控制。根据 Microsoft 威胁情报报告,此类组织的一个例子是 Storm-1295,它是 Greatness PhaaS 平台背后的组织。
通过同步中继进行的 AiTM 钓鱼示意图(初始图来自 Microsoft Defender XDR 威胁情报报告)。
更新或新内容(Pull Request): 如前所述,我们希望拥有一份由 Entra 社区驱动的活文档!分享你的成果和见解,作为该项目的一部分!发送拉取请求以将你的内容添加到此项目。
问题/过时内容: 保护功能或工具不断变化。更新过时的内容(作为拉取请求的一部分)或创建 issue 来指出
审阅者: 我们也寻找希望在发布前审阅或讨论现有或新内容的专家!
反馈: 欢迎提出可能对社区有趣的攻防场景建议。我们将把它们添加到待办事项和创意收集中!
这是一个社区驱动的项目,不是官方的解决方案或产品。代码或任何其他查询示例均"按原样"提供,不附带任何形式的明示或默示担保,包括但不限于对适销性和/或特定用途适用性的默示担保。此示例不受任何支持计划或服务的支持。 我们进一步否认所有默示担保,包括但不限于任何适销性或特定用途适用性的默示担保。使用或执行示例和文档的全部风险由您自行承担。在任何情况下,我们、其作者或参与脚本创建、生成或交付的任何其他人均不对任何损害承担责任(包括但不限于业务利润损失、业务中断、业务信息丢失或其他金钱损失),这些损害因使用或无法使用示例或文档而产生,即使 Microsoft 已被告知发生此类损害的可能性。
![]() Sami Lamppu 💬 📖 | ![]() Thomas Naunheim 💬 📖 |
![]() Joosua Santasalo 💬 📖 | ![]() Markus Pitkäranta 💬 📖 | ![]() Christopher Brumm 💬 📖 | ![]() Fabian Bader 💬 📖 | ![]() Nestori Syynimaa 💬 📖 | ![]() Robbe Van den Daele 💬 📖 |