原文链接:https://www.inversecos.com/2021/09/backdooring-office-365-and-active.html?m=1
后门可以绕过组织制定的所有 MFA 要求。今年早些时候,我与一个对客户的 Office 365 环境非常感兴趣的 APT 小组合作,该小组找到了绕过身份验证控制来访问环境的方法。鉴于大多数客户端要么设置了混合身份验证模型,要么完全在云中——我认为大多数蓝队/防御者/猎人都知道威胁参与者针对 Azure AD 使用的各种技术是很重要的。
破坏 AD FS 服务器令牌签名证书可能导致攻击者访问 Azure/Office365 环境。默认情况下,此证书有效期为一年,并且允许攻击者以 AD 中的任何用户身份登录 Azure/Office365,而无需考虑任何密码重置和 MFA。这意味着,攻击者保持持久性并有办法重新进入环境,逃避检测。
这篇博文将介绍攻击者用来从本地迁移到 Office 365/Azure 的 Golden SAML 攻击。在接下来的博文中,我将把 Azure AD 中恶意/后门应用程序的检测分解为另一种后门机制。
攻击流程如何工作
简而言之,这种攻击被 APT 组织所利用——一个值得注意的例子是在 SolarWinds 攻击期间。该攻击通过攻击者劫持或获得对 AD FS 服务器的访问权限、提取机密(SAML 令牌)并使用它来访问 Office365 Azure AD 环境来进行。
请记住,不同的攻击者可能会发生变化,但原理是相同的——攻击者想要劫持 AD FS 并收集 SAML 令牌。SAML 令牌将授予攻击者访问权限:
- Azure / Azure AD
- Office 365
- Azure 应用程序(他们可以进一步后门)
- Defender Security Center
第 1 步:攻击者破坏本地域
为了使这种攻击起作用,攻击者已经获得了对凭据的访问权限,并且位于域内的服务器/工作站上。这可以通过许多不同的方式发生。
第 2 步:枚举
在此步骤中,攻击者将使用枚举工具枚举 AD FS 服务器管理员和进程所有者用户名。此详细信息至关重要,因为此“流程所有者”帐户具有“收集”SAML 令牌的权限。SAML 令牌是用于对 Office365/Azure 环境中的用户进行身份验证的令牌。
步骤 3:收集 AD FS 进程所有者帐户的凭据
一旦知道 AD FS 进程所有者帐户,就可以使用凭据转储工具来收集该帐户的 NTLM 散列密码。这可以通过使用 Mimikatz 或任何其他等效工具来实现。
第 4 步:横向移动到 AD FS 服务器
使用 AD FS 进程所有者帐户的收集凭据,下一步是登录到 AD FS 服务器。这通常使用传递哈希来完成,但也可以使用其他技术来完成。这将因演员而异。第 5 步:从 AD FS 服务器获取令牌签名证书AD FS 服务器使用 SAML 令牌执行用户身份验证。当用户向 Office 365 进行身份验证时,Microsoft 通过验证令牌未过期、令牌 ImmutableID 与 Azure AD 中存在的用户匹配以及令牌的签名是否有效来验证 SAML 令牌。
此攻击的目的是获取 AD FS 用于对 AD FS 颁发的 SAML 令牌进行签名以进行身份验证的令牌签名证书和私钥。一旦攻击者获得此权限,他们基本上可以以任何 AD 用户身份登录、验证和访问 Azure AD 和 Office 365。无论用户是否重置其 AD 密码,这都将允许身份验证。要以任何用户身份登录,攻击者只需访问每个用户的 ImmutableID – 这是与 Azure AD 中的每个用户关联的唯一标识符。无论权限如何,只要用户是 Azure AD 或本地 AD 的一部分,任何用户都可以获取和查看此 ImmutableID。
有多种不同的方法可以获取下面列出的威胁参与者使用的此证书:
第 6 步:获得 DKM
令牌签名证书默认是加密的,需要一个“DKM”,它是一个分布式密钥管理器才能解密。为了让攻击者使用它,他们需要获得 DKM 来解密证书。在攻击的这个阶段,攻击者获取 DKM 的访问权限并不难。这可以通过使用 Powershell 查询 DKM 证书容器,然后将这些详细信息传递给 Adfind.exe 等通用工具来提取 DKM 来完成。
第 7 步:解密令牌签名证书
有多种在线工具允许攻击者使用 DKM 解密令牌签名证书。
第 8 步:生成 SAML 令牌
鉴于攻击者现在拥有密钥/证书对,他们可以生成签名的安全令牌,允许攻击者以用户身份登录 Office365。这可以通过将 SAML 令牌作为 POST 请求传递到 Burpsuite 来完成。