Microsoft Azure低代码工具曝权限漏洞,非特权用户可访问敏感数据

安全研究员发现Microsoft Azure的API Connections功能存在严重漏洞,允许非特权用户访问其他客户的敏感数据,包括数据库和密钥库,微软已修复但未公开细节。

Microsoft Azure低代码工具允许非特权访问

通过Azure Logic Apps的API Connections功能,一名安全研究员发现未经身份验证的用户可以访问其他客户的敏感数据。

根据下周在拉斯维加斯Black Hat USA会议上准备的一份演示,通过其API Connections功能连接到Azure的应用程序可能在微软今年早些修复问题之前向未经身份验证或低权限用户泄露数据。

挪威白盒应用渗透测试公司Binary Security的安全顾问Haakon Gulbrandsrud发现,具有只读权限的用户可以使用API Connections服务访问目标公司Azure基础设施的敏感区域,包括数据库、Jira或Slack等应用程序,以及存储敏感基础设施密钥的数据保险库。许多应用程序设置的连接允许访问过多敏感信息,依赖Azure资源管理(ARM)流程作为严格的看门人。

Gulbrandsrud表示,由于Azure的安全性很大程度上依赖于ARM,它执行所有身份验证,然后使用自己的令牌进行后续交易,其逻辑中的任何缺陷都可能导致安全漏洞。

“每当Azure向后端资源发出请求时,它拥有该请求,您必须信任Azure正确执行[安全]检查,”他说。“我不会说安全模型是临时添加的,因为从一开始就很清楚Azure[工作]的方式……这很好,直到您开始将后端API复制到您的平台中。”

云基础设施中的漏洞和攻击日益普遍

云基础设施中的漏洞和攻击越来越常见。6月,思科警告称,在亚马逊网络服务、Microsoft Azure或Oracle云基础设施(OCI)上部署其身份服务引擎(ISE)会导致在特定云平台上为所有ISE实例创建相同的凭据。4月,网络安全公司Varonis发现,Azure Entra ID使用的两个关键身份验证cookie可用于绕过多因素身份验证。2月,网络安全公司watchTowr警告称,废弃的云存储可用于对尝试使用先前托管在这些服务器上的库的开发人员发起供应链攻击。

Azure上的安全松懈

在最新的云弱点中,Gulbrandsrud发现对云服务器具有只读权限的用户可以访问敏感数据。读取权限通常允许用户执行GET请求——用于从HTTP服务器获取信息——但不能执行任何可能更改服务器上信息的请求,例如POST请求。然而,虽然ARM将读取者限制为GET请求,但连接的API可能不遵循安全模型,他说。在这种情况下,Azure租户中的任何低权限用户都可以完全控制API连接中使用的身份验证。

本质上,“如果您曾经想在Logic应用中向Salesforce发布某些内容,那么突然之间,您租户中的每个低权限用户都可以读取您Salesforce中的所有内容,”他说。

另一个问题是API连接的创建不是显式的,而是在用户设置附加到Logic App的操作时在后台执行的。“即使您以前从未听说过它们,很可能有很多连接挂在您的租户中,”Gulbrandsrud在关于原始问题的博客文章中表示。

从读取者和API连接之外

当Gulbrandsrud向微软报告原始问题时,公司声称已经知道该问题并正在修复。因此他进行了更深入的挖掘。

在他的Black Hat演示中,Gulbrandsrud计划讨论他如何扩展该问题,以允许未经身份验证的用户访问另一个租户基础设施中的敏感数据。

“如果您以正确的方式设置,您可以从您设置的API连接遍历到其他人的,”他说。“这很有趣,因为当然,您不需要特权API连接[来访问,例如]密钥库中的所有密钥……那是Azure中最安全或最安全关键的资源。”

微软没有为初始漏洞提供奖金——声称已经发现——但他们确实为Gulbrandsrud随后发现的更严重问题提供了40,000美元的奖金。然而,研究员指出,由于它是云服务,修复是静默的,微软客户不知道他们的环境在修复之前是否被入侵。

“如果它没有成为大型演示或热门博客文章,那么没有人知道它,实际上,这些是旧资源,人们可能早就发现了这个漏洞,”他说。“如果您系统地查看资源,这并不是特别困难,而且无法知道您是否被它利用。”

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