红队视角:通过Azure泄露Active Directory信息的技术分析

本文详细介绍了红队如何利用Azure门户泄露Active Directory信息的技术方法,包括用户、组、应用程序的枚举,以及使用AZ CLI工具进行自动化数据提取,帮助识别云环境中的安全盲点。

红队视角:通过Azure泄露Active Directory信息的技术分析

随着Microsoft技术的广泛采用,许多组织将服务迁移到云端,但这也带来了新的安全盲点。本文从红队角度,探讨如何利用Azure服务泄露Active Directory(AD)信息,无需内部网络访问即可获取关键数据。

Microsoft环境概览

组织通常使用本地Active Directory和Exchange,但迁移到Office 365后,用户可以通过网络凭据进行身份验证,享受Webmail门户、SharePoint和SSO等功能。这种混合或全云部署通过Azure AD Connect或其他同步服务实现集成,但配置不当可能导致安全风险。

问题核心

在云环境中,攻击者仅需一个有效凭据,即可通过Azure门户泄露整个AD结构。具体步骤如下:

  1. 通过Webmail门户(如https://webmail.domain.com/)进行身份验证。
  2. 将浏览器URL更改为https://azure.microsoft.com/。
  3. 从活动会话中选择账户。
  4. 访问Azure Active Directory并导出数据。

这允许攻击者获取用户列表、组信息、设备详情(如操作系统版本)、业务应用程序端点,甚至虚拟资源访问权限。此外,攻击者可以创建“来宾”账户,可能同步到内部网络,进一步扩大攻击面。

红队工具:AZ CLI

通过Web浏览器访问Azure门户虽方便,但数据导出受限。AZ CLI(Azure命令行接口)提供自动化方式与Azure交互,支持Linux环境,使用OAuth进行身份验证,并允许通过JMESPath查询过滤数据。

安装与认证

在Linux上安装AZ CLI:

1
2
3
4
5
AZ_REPO=$(lsb_release -cs)
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list
curl -L https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo apt-get install apt-transport-https
sudo apt-get update && sudo apt-get install azure-cli

认证通过现有凭据创建会话:

1
az login

此命令生成OAuth令牌,打开浏览器进行账户选择。

数据导出示例

  • 导出所有用户
    1
    
    az ad user list --output=table --query='[].{Created:createdDateTime,UPN:userPrincipalName,Name:displayName,Title:jobTitle,Department:department,Email:mail,UserId:mailNickname,Phone:telephoneNumber,Mobile:mobile,Enabled:accountEnabled}'
    
  • 导出特定组成员
    1
    
    az ad group member list --output=json --query='[].{Created:createdDateTime,UPN:userPrincipalName,Name:displayName,Title:jobTitle,Department:department,Email:mail,UserId:mailNickname,Phone:telephoneNumber,Mobile:mobile,Enabled:accountEnabled}' --group='<group name>'
    
  • 导出应用程序和服务主体
    1
    
    az ad app list --output=table --query='[].{Name:displayName,URL:homepage}'
    

缓解措施

建议禁用普通用户的Azure门户访问:

  1. 使用全局管理员账户登录https://portal.azure.com。
  2. 选择“Azure Active Directory” > “用户设置” > “限制访问Azure AD管理门户”。 替代方案是配置条件访问策略。

未来方向

云环境常被忽视,工具如SharpCloud用于捕获云凭据。作者计划发布红队框架CloudBurst,支持与多云提供商交互,实现数据捕获和渗透。

通过本文技术,红队可以高效识别目标,无需内部网络访问,强调云安全配置的重要性。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计