Azure AD Pentesting -- Part I
Azure Active Directory (Azure AD) 是Microsoft基于Azure云的身份验证和访问管理服务,用户通过Azure AD可以连接本地Windows AD和Office 365,SharePoint,Teams等在线应用。
这个系列将会介绍Azure AD以及对其的攻击思路,需要说明的是,对Azure AD的攻击并不会基于其本身的安全漏洞,而是针对Azure AD用户使用的安全策略和不安全的配置。
Part1主要介绍Azure AD的基本概念,术语和身份认证功能。
0x00 Azure AD 概述
根据Microsoft提供的官方文档https://docs.microsoft.com/en-gb/azure/active-directory/fundamentals/active-directory-whatis
Azure Active Directory (Azure AD) is Microsoft’s cloud-based identity and access management service, which helps your employees sign in and access resources in:
- External resources, such as Microsoft 365, the Azure portal, and thousands of other SaaS applications.
- Internal resources, such as apps on your corporate network and intranet, along with any cloud apps developed by your own organization. For more information about creating a tenant for your organization, see Quickstart: Create a new tenant in Azure Active Directory.
尽管Azure AD的名字很具有误导性,但是不能简单地把它理解为运行在Azure上的Active Directory,两种服务之间的大致的对应关系如下图:
将本地AD域与Azure AD集成的方法主要有三种:PHS、PTA、ADFS。其中PHS(密码哈希同步)和PTA(传递身份认证)都存在相关的潜在攻击路径。
0x01 Azure AD Connect
PHS
PHS是用于实现混合标识登陆的一种方法。通过Azure AD Connect 可将本地AD用户的密码哈希同步到Azure AD上,这种方式的好处是减少密码管理的工作量,用户可以在Azure AD服务和本地AD中使用相同的密码。
Azure AD为同步到云上的密码提供了泄露检测,即网络上出现大规模密码泄露事件时,与泄露数据匹配的账户将会被自动标记到高风险区域。
PHS同样可以作为ADFS联合身份验证的一种备用验证方式,所以对PHS进行的攻击同样可以威胁到使用ADFS进行身份验证的应用。
上图为PHS的工作原理,可以看出Azure AD connect将在本地和Azure各创建了一个账户用于同步密码哈希,本地账户通常名为MSOL_test
,Azure AD账户为Sync_sync1_test。
sync1是安装了ad connect的本地服务器主机名,而test是一个跟Azure tenant关联的id。
由于PHS需要操作密码哈希数据,所以这两个账户拥有各自环境的最高权限,在后续的部分中,我们会探讨一种通过ad connect账户攻击AD域的方法。
PTA
对于一些无法将接受密码同步到AD域外所产生风险的用户,Azure AD还提供了另一种身份验证方式PTA(传递身份验证),这种认证方式会将认证请求通过Azure AD Connect转发到AD。例如AD用户在登录到Web端Outlook时,输入的登陆凭据会被Azure加密后传递到本地Agent,本地Agent对其进行解密并将域控(DC)返回的验证结果传回Azure AD,流程如下图:
不难发现,作为凭据传递的中继Agent服务器,有着解密和查看凭据的权限,获得其控制权即可拦截身份验证请求并获得明文的登陆凭证。
0x02 总结
这部分主要介绍了Azure AD,以及Azure AD和Active Directory集成进行身份认证的几种方式和其潜在的安全风险,后面的文章我们会详细探讨一下每种风险的利用方式并通过实验环境进行演示,以及针对Azure AD进行信息收集的主要方向。
参考链接:
https://www.synacktiv.com/en/publications/azure-ad-introduction-for-red-teamers.html
https://docs.microsoft.com/zh-cn/azure/active-directory/hybrid/whatis-phs