攻击者继续以 Microsoft 身份为目标,以获取对连接的 Microsoft 应用程序和联合 SaaS 应用程序的访问权限。此外,攻击者继续在这些环境中进行攻击,不是通过利用漏洞,而是通过滥用本机 Microsoft 功能来实现其目标。与 SolarWinds 攻击相关的攻击者组织 Nobelium 已被记录使用本机功能,例如创建联合信任,以实现对 Microsoft 租户的持久访问。
本文演示了一个附加的本机功能,当攻击者利用该功能时,可以实现对 Microsoft 云租户的持久访问以及对另一个租户的横向移动功能。此攻击媒介使在受损租户中操作的攻击者能够滥用配置错误的跨租户同步 (CTS) 配置并获取对其他已连接租户的访问权限,或部署恶意 CTS 配置以维持租户内的持久性。Vectra AI 尚未观察到该技术在野外的使用情况,但鉴于历史上类似功能的滥用情况,Vectra AI 为防御者提供了详细信息,以了解攻击将如何呈现以及如何监控其执行。此外,Vectra 攻击信号情报TM。
跨租户同步
CTS 是 Microsoft 的一项新功能,使组织能够同步来自其他源租户的用户和组,并授予他们对目标租户中的资源(Microsoft 和非 Microsoft 应用程序)的访问权限。CTS 功能建立在以前的 B2B 信任配置之上,可实现不同租户之间的自动化和无缝协作,并且是许多组织希望采用的功能。
对于像跨附属公司拥有多个租户的企业集团这样的组织来说,CTS 是一项强大而有用的功能,但如果配置和管理不正确,也会引发不良行为者潜在的侦察、横向移动和持久性攻击。请继续阅读,了解攻击者可以利用 CTS 来滥用从潜在受感染租户到配置了 CTS 信任关系的任何其他租户的信任关系的潜在风险和攻击路径。
- CTS 允许将另一个租户的用户同步(添加)到目标租户中。
- 可以利用松散配置的 CTS 配置从受感染的租户横向移动到相同或不同组织的另一个租户。
- 可以部署恶意 CTS 配置并将其用作后门技术,以维护来自外部对手控制的 Microsoft 租户的访问。
假设妥协!
漏洞利用技术遵循假定妥协哲学。这些漏洞利用中使用的技术假设 Microsoft 云环境中的身份已被泄露。在现实环境中,这可能源于具有 Microsoft 托管标识的 Intune 托管终结点上的浏览器妥协。
术语
源租户 | 同步用户和组的租户 |
目标租户 | 拥有同步用户和组资源的租户 |
资源 | Microsoft 应用程序(Teams、SharePoint 等)和非 Microsoft 应用程序(ServiceNow、Adobe 等) |
CTS | 本文档中引用“跨租户同步”的缩写 |
计算机辅助技术协会 | 本文档中引用“跨租户访问”的缩写 |
账户受损 | 对手初始访问点 |
协调员
有关 CTS 配置的重要信息:
- 新用户通过推送(而非拉取)同步到租户。
- 源租户推送新用户同步到目标租户。
- 自动同意兑换设置。
- 启用此功能后,每次将新用户同步到目标租户时都无需征得同意。
- 同步范围内的用户是在源租户中配置的。
攻击
本文中描述的攻击技术需要某些许可证和特权帐户泄露或权限升级到受感染租户中的某些角色。全局管理员角色可以在租户中执行所有这些操作。
行动 | 来源租户 | 目标租户 |
租户执照 | Azure AD 高级版 P1 或 P2 | Azure AD 高级版 P1 或 P2 |
配置号召性用语 | 安全管理员 | 安全管理员 |
配置CTS | 混合身份管理员 | 不适用 |
将用户分配给 CTS 配置 | 云管理员或应用程序管理员 | 不适用 |
技巧一:横向运动
在受损环境中操作的攻击者可以利用现有的 CTS 配置租户从一个租户横向移动到另一个连接的租户。
图 1:横向移动攻击概述 |
攻击者访问受感染的租户。
攻击者对环境进行侦察,以识别通过部署的跨租户访问策略连接的目标租户。
攻击者检查每个已连接租户的跨租户访问策略配置,以识别启用了“出站同步”的租户。启用出站同步的 CTA 策略允许当前租户中的用户和组同步到目标租户中。
通过CTA策略配置分析,攻击者发现已连接的启用了出站同步的租户,并将该租户设置为横向移动的目标。
然后,攻击者会对受感染的租户进行侦察,以找到运行将用户和组同步到目标租户的作业的 CTS 同步应用程序。
没有直接的方法可以找到链接到目标租户的 CTS 同步应用程序。攻击者可以枚举租户中的服务主体,尝试验证目标租户的凭据,以最终找到将同步作业托管到目标租户的应用程序。它可以通过像这样的简单模块来完成。
识别出 CTS 同步应用程序后,攻击者可以修改其配置,将当前受感染的用户帐户添加到应用程序同步范围中。这会将受损的用户帐户同步到目标租户,并使用最初受损的相同凭据授予攻击者对目标租户的访问权限。
或者,攻击者还可以检查 CTS 同步应用程序配置,以识别配置的同步范围并采取相应行动。
例如,如果同步范围中的对象是一个组,则攻击者可以尝试将受感染的用户帐户直接或间接添加到该组,这将自动允许受感染的帐户同步到目标租户中。
如果没有明确的 CTA 入站条件阻止目标租户中的同步,则受感染的帐户将同步到目标租户中。
攻击者使用最初受损的相同帐户横向移动到目标租户。
场景二:后门
在受感染的租户中操作的攻击者可以部署恶意的跨租户访问配置来维持持久访问。
图2:CTS后门攻击概述 |
-
- 攻击者访问受感染的租户。
- 攻击者尝试在受害租户中部署具有以下属性的新跨租户访问策略。
添加新的 CTA 策略,并将源租户定义为攻击者控制的外部租户。
配置新的 CTA 策略以启用“入站同步”。
为入站用户同步启用“自动用户同意”。
- 同时,攻击者还在其外部租户上配置了CTS。
- 外部租户 CTS 设置超出了本文的范围,因此此处不予介绍。Microsoft在此处明确定义了在源租户中设置 CTS 的过程。
- 攻击者现在可以通过推送到目标受害者租户来同步其租户中的新用户。这允许攻击者将来使用外部控制的帐户访问目标租户上的资源。
防御
- 本文档中的攻击技术遵循假设的妥协。企业必须继续实施和执行安全最佳实践,以降低帐户泄露的风险。
- CTS Target 租户必须:
- 避免实施默认的入站 CTA 配置,该配置允许源租户中的所有用户/组/应用程序同步入站。
- 部署包容性较低的入站 CTA 配置,例如显式定义可以通过 CTS 访问的帐户(如果可能)或组。
- 将 CTA 策略与其他条件访问策略相结合,以防止未经授权的访问。
- CTS Source 租户必须:
- 确保允许通过 CTS 访问其他租户的组(以及一般所有特权组)受到适当的监管和监控。
- 大规模、快速地检测和响应。
威达客户:
Vectra 现有的警报组合能够在了解此操作的含义以及此事件之前将发生的预期操作之前检测到此活动。
事实上,这种技术并没有实际利用漏洞,一旦对手处于具有足够权限的环境中,就更难阻止。然而,Vectra 的人工智能驱动检测旨在检测这些类型的特权滥用场景,而无需依赖签名或已知操作列表。
Vectra 的 Azure AD 权限操作异常监视环境和每个用户中每个操作的潜在价值。人工智能不断创建环境中应发生的操作类型的基线,并识别基于云的特权滥用的情况。通过关注特权滥用行为,Vectra 能够识别新兴技术,例如此处记录的技术。
图 3:在受感染租户中部署跨租户访问策略的受感染帐户 |
图 4:受感染的帐户启用租户入站同步 |
图 5:受感染的帐户启用自动用户同意兑换 |
攻击者在攻击之前发生的操作(例如令牌盗窃或其他形式的帐户泄露后的帐户访问)将通过 Vectra 检测(例如 Azure AD 异常脚本引擎使用、Azure AD 可疑登录或 Azure AD 可疑)发出警报OAuth 应用程序。
微软云安全测试
定期有效地测试环境是对防御网络攻击的能力充满信心的最佳方法。MAAD-Attack Framework是一款开源攻击模拟工具,它结合了最常用的攻击者技术,允许安全团队通过简单的交互式终端在其环境中快速有效地模拟它们。
安全团队可以使用 MAAD-AF 模块“利用跨租户同步”来模拟和测试其环境中的 CTS 利用技术。