Azure AD数据通过未认证Microsoft GraphAPI令牌严重暴露

CloudSEK的BeVigil平台发现一个主要航空公司的Azure Active Directory存在严重安全漏洞,超过5万用户数据通过未认证API端点暴露,攻击者可获取完整用户配置文件和访问审查数据。

关键摘要

CloudSEK的BeVigil平台最近发现一个影响主要航空组织的关键安全漏洞,暴露了超过50,000名用户的敏感Azure Active Directory(Azure AD)数据。该漏洞源于一个暴露的JavaScript文件,其中包含一个未经认证的API端点,该端点向Microsoft Graph API颁发提升权限的访问令牌。此暴露使未经授权的用户可以访问详细的员工信息,包括高管级数据,使组织面临身份盗窃、权限提升和针对性钓鱼攻击的重大风险。

受影响的系统和/或应用程序

  • Azure AD服务:作为Microsoft基于云的身份和访问管理解决方案的一部分。暴露的API允许未经授权访问用户配置文件、身份治理数据以及存储在Azure AD中的其他内部目录详细信息。这包括有关员工、角色、访问控制和治理决策的敏感信息。
  • Microsoft Graph:作为与Azure AD和其他Microsoft服务交互的核心API端点。该漏洞直接与暴露的API端点相关,该端点颁发Microsoft Graph的访问令牌。此令牌具有提升的权限,特别是User.Read.All和AccessReview.Read.All,提供了未经授权访问:
    • 完整的用户配置文件、联系详情和组织结构。
    • Microsoft服务内的访问审查配置和身份治理数据。
  • 嵌入组织Web应用程序客户端代码中的JavaScript包:JavaScript文件包含硬编码的端点,该端点无需任何认证即可授予对Microsoft Graph API的访问权限。该文件对公众可访问,意味着攻击者无需任何凭据或认证即可发现和利用该端点。

技术细节

CloudSEK的BeVigil平台发现的漏洞追踪到一个配置错误的面向公众的JavaScript包,该包托管在一个主要航空公司拥有的子域上。经检查,该脚本被发现包含一个硬编码的内部API端点引用。关键的是,该端点无需任何形式的认证或授权即可访问,暴露给任何知道其位置的人。

此未经认证的端点颁发具有提升权限的Microsoft Graph API访问令牌,特别是User.Read.All和AccessReview.All。这些范围允许广泛查看Azure Active Directory(AD),包括完整的用户配置文件、目录结构和访问治理策略。

使用这些令牌,攻击者可以查询Microsoft Graph端点,如/users和/accessReviews,检索超过50,000名Azure AD用户的敏感详细信息。数据包括个人标识符、用户主体名称(UPN)、职位、联系信息、汇报线和访问审查配置——所有这些都未触发任何形式的访问控制。

特别令人担忧的是高管和高权限用户数据的暴露,这显著增加了冒充、鱼叉式网络钓鱼和基于身份的攻击的风险。API继续返回新添加用户的信息,进一步加剧了风险。

根本原因是将敏感逻辑暴露在客户端代码中,以及未对后端服务实施认证或授权。没有速率限制或监控,使得端点极易被利用且难以检测。这反映了安全API设计、身份管理和前后端分离方面的严重失误。

缓解与建议

为缓解与此漏洞相关的风险,应优先采取以下行动:

  • 禁用公共API访问:限制对易受攻击端点的访问,并实施严格的认证控制以防止未经授权的访问。
  • 撤销受损令牌:立即使任何暴露的令牌失效并轮换受影响的凭据,以防止进一步利用。
  • 强制执行最小权限:审查并限制API令牌权限,仅限应用程序功能所需的权限。令牌应遵循最小权限原则。
  • 监控API使用情况:实施日志记录和警报,以检测与Microsoft Graph API相关的任何异常或可疑活动。您可以使用以下KQL监控Azure API的IP过量调用:
    1
    2
    3
    4
    5
    6
    
    let TriggerThreshold = 1000;
    ApiManagementGatewayLogs
    | where ResponseCode == 20
    | where Method == "GET"
    | summarize APICount=count() by CallerIpAddress
    | where APICount > TriggerThreshold
    
  • 保护前端代码:确保敏感的API端点和令牌未嵌入客户端脚本(JavaScript文件)或公开可访问的存储库中。
  • 审核Azure AD角色和权限:执行全面的Azure AD角色和权限审核,确保用户没有超出所需的访问权限。
  • 实施速率限制:使用速率限制和异常检测保护API,以减轻暴力攻击或未经授权访问尝试的风险。

网络融合中心的行动

CFC将继续监控情况,并在需要时发送咨询更新。提到的行动是必要的,以通过限制访问和增强安全监控来缓解潜在利用。此事件突显了保护前端组件并确保敏感后端服务从不直接暴露的重要性。组织必须主动监控其数字基础设施,并实施严格的访问控制,以保护用户数据并保持法规合规性。

参考文献

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