• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

微软Azure Automation被发现存在高危账户未授权访问漏洞


Recommended Posts

AutoWarp是Azure automation service中的一个关键漏洞,它允许未经授权的用户使用该服务访问其他Azure客户帐户。这种攻击可能意味着完全控制属于目标帐户的资源和数据,具体取决于客户分配的权限。

研究表明,许多大公司正在使用这项服务,并可能被访问,导致数十亿美元的损失。研究人员直接向微软报告了这个漏洞,现在已经修复,并通知了所有受影响的客户。

在修复此漏洞之前,如果您已经使用了Azure Automation service或者在您的Automation帐户中启用了托管身份功能(默认情况下是启用的),则您容易受到AutoWarp攻击。

1.png

发现自动扭曲的时间表

2021年12月6日:研究人员已经开始研究,发现了该漏洞,并向微软报告。

2021年12月7日:研究人员发现大公司面临风险(包括一家全球电信公司、两家汽车制造商、一家银行集团、四大会计公司等。).

2021年12月10日:微软修复了漏洞,并开始寻找这种攻击的其他变种。

2022年3月7日:微软调查结论公布。

微软的声明如下:“研究人员要感谢Orca Security Company的Yanir Tsarimi,他报告了这个漏洞,并在协调漏洞披露(CVD)下与微软安全响应中心(MSRC)合作,帮助维护微软客户的安全。”

什么是 Microsoft Azure自动化服务?

Microsoft Azure Automation Services允许客户以托管方式执行自动化代码。可以布置作业,提供输入输出等。每个客户的自动化代码运行在一个沙箱中,与在同一虚拟机上执行的其他客户的代码相隔离。

AutoWarp:Azure自动化安全漏洞

研究人员发现了一个严重的漏洞,允许研究人员与管理其他客户端沙箱的内部服务器进行交互。研究人员设法通过这台服务器获得了其他客户账户的认证令牌。怀有恶意的人可能会不断获取令牌,并通过每个令牌将攻击范围扩大到更多的Azure客户。

通过浏览Azure服务列表,研究人员可以找到下一个要研究的服务。看到“管理与治理”类别下的“自动化账户”,我有些措手不及。我以为是某种服务让我自动控制我的Azure账户。

在创建了我的第一个自动化账户后,我意识到Azure automation是一个非常标准的自动化脚本服务。你可以上传你的Python或者PowerShell脚本在Azure上执行。

研究人员做的第一件事是探索文件系统,看看他们能找到什么有趣的东西。我从我的自动化脚本中启动了一个反向shell,这使得服务器的工作更加流畅。

用Python设置反向shell没有漏洞。但是,当我执行一些常见的命令时,比如tasklist,我得到一个错误消息,说我找不到它们。显然,负责定义操作系统应该尝试执行哪些文件扩展名的PathExt环境变量被设置为一个奇怪的值。通常,它包含。exe文件扩展名,但在我们的示例中却没有。只有。CPL存在,是Windows控制面板项目的文件扩展名。即使我试图用tasklist.exe列出正在运行的进程,它也给了我一个从未见过的信息。看起来好像发生了什么事.

2.png

当我查看C:\ drive时,首先引起我注意的是“Orchestrator”和“temp”目录。Orchestrator目录包含许多dll和exe。我看到文件名带有“沙盒”,直觉上我明白这个目录包含了我们正在运行的沙盒。该目录临时包含另一个名为“diags”的目录和一个“trace.log”文件。

3.png

日志非常适合研究。在许多情况下,日志提供了非常简洁和重要的信息。基本上,你有机会窥探到开发人员在你的日记中认为重要的内容。幸运的是,这是一个非常好的日志文件。这很早就出现在第7行:

c="https://img.4hou.com/uploads/ueditor/php/upload/image/20220308/1646722807656931.png" title="1646722807656931.png" alt="4.png"/>

没有什么比发现你的目标暴露了一个web服务更令人兴奋的了。特别是当它是本地的,并且是在一个看似随机的高端口上。

这只是向我发出了危险信号。这就是我通常所说的“掩护”——为掩盖某些技术限制而做出的软件决策。为什么会选择这么高的随机端口?因为其他端口被占用。

我使用 cURL 向 URL 发出了 HTTP 请求。虽然它起作用了,但没有提供太多关于正在发生的事情的信息。我还尝试访问下一个端口(40009、40010等)。他们中的一些人对我做出了回应,这立即证实了我的怀疑。日志清楚地表明,Web 服务是由我之前看到的协调器管理的,所以我必须了解发生了什么。这个web服务是什么?

深入了解 Azure 自动化代码

下载了orchestrator的文件后,我启动了 ILSpy(.NET 反编译器)并开始寻找他们称之为“资产检索 Web 服务”的代码。我查看了设置HTTP路由的方法,真正弹出的是“/oauth2/token”和“/metadata/identity/oauth2/token”映射到一个名为“MSIController”的控制器。我当时不知道的是,MSI 是“Managed Service Identity”的首字母缩写。很有趣,对吧?

5.png

我之前没有接触过 .NET Web 开发或研究,所以我从代码中推断这些路由映射到“MSIController”类,如果你熟悉 MVC(Model-View)的概念,这非常简单。值得注意的是,在检查源代码时,一些软件开发经验会有很大的帮助,它有助于在更复杂的情况下操作。

6.png

我开始向 /oauth2/token 发出 HTTP 请求,我将请求调整为看起来像元数据请求(添加“Metadata: True”HTTP 标头)并添加资源参数。我希望令牌可供 Azure 管理 API 使用,因此我使用了“resource=https://managment.azure.com/”。该请求仅返回一个 JWT(JSON Web 令牌)。

这个令牌背后的使用者是谁?为此,我解码了令牌并看到了我的订阅 ID、租户 ID 和我的自动化帐户资源 ID。我在网上查了“Azure 自动化标识”,发现每个自动化账户都有一个“系统分配的托管标识”,这基本上意味着你可以为你的自动化脚本分配角色,并且该标识由服务管理。所以我想测试一下我的令牌是不是真的。我使用 Azure CLI 发出一个简单的请求来获取我的所有 VM(“az vm list”)并截获该请求并交换令牌。我收到一个错误提示,提示我没有足够的权限。我没有为我的托管身份分配任何角色。分配兼容角色后,令牌起作用了。该令牌实际上与我的托管身份相关联!

因此,与托管身份相关联的令牌本身并不是漏洞。你应该能够为自己的托管身份获取令牌。但是,如果你一直在关注,则可以在本地访问其他端口。每次我运行自动化作业时,我都会看到端口发生变化,但仍保持在相同的范围内。

我编写了一个快速的 Python 脚本来向从 40000 开始的 20 个端口发出 HTTP 请求。这样做很简单:

7.png

随机端口给了我 JWT 令牌。我又执行了几次脚本,不同的端口给了我不同的令牌!很明显,我实际上是在访问其他人的身份端口。我已经证明,如果给予足够的权限,这些令牌可以用于管理 Azure 帐户,因此无需访问其他租户的数据。

8.png

研究人员想要了解这个简单的漏洞攻击力有多大。通过使用Azure Automation的调度功能,尝试从几百个端口中获取令牌,并查看哪些租户出现了。研究人员没有存储令牌,只提取了有关租户的元数据(租户 ID 和自动化帐户资源 ID)。

在这个漏洞被修复之前,研究人员看到了许多独特的租户,包括几家非常知名的公司。如果研究人员连续运行,很可能捕获了更多。

总的来说,这是一个相当简单的漏洞,表现为一个非常有趣的漏洞。目前还不清楚这里缺少什么,验证端口可能需要某种形式的身份验证(该服务器上的其他终端肯定需要)。

Link to comment
Share on other sites