云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

admin 2024年9月23日16:16:34评论24 views字数 2337阅读7分47秒阅读模式

扫码领资料

获网安教程

云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

Track安全社区投稿~  

千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

人们普遍认为云托管服务比传统服务更安全。由于它在基础设施级别上这个观点可能部分正确,但它们仍然具有可能导致其漏洞的用户控制元素。

接下来将探讨如何利用易受攻击的 Lambda 函数并泄露其 AWS 账户信息。

在我们开始讨论之前,让我们先回顾一下基本术语。

🔥$_AWS_Lambda_函数

Lambda 函数是一项 AWS 无服务器计算服务,旨在仅在需要或触发时执行代码。一旦执行结束,运行代码的计算实例就会自行销毁。您可以根据应用程序需要创建任意数量的函数来处理不同的任务。

与传统 Web 应用程序中检测到的漏洞类似,在无服务器服务上运行的云应用程序也容易出现相同的安全漏洞。

$_命令注入:

操作系统命令注入是攻击者通过 Web 应用程序传递操作系统命令的一种攻击。如果应用程序存在漏洞,它将执行给定的命令并执行特权操作。

在云和无服务器服务(例如 Lambda)的上下文中,操作系统命令注入属于数据事件注入。注入以带有特殊字符串的请求的形式将意外事件传递给易受攻击的函数,该函数将被解释为操作系统级操作。

😈$_Exploiation_Demo:

对于漏洞利用演示,我选择了Pentester Academy:https://www.pentesteracademy.com/的AttackDefense:https://www.attackdefense.com/团队开发的一个示例,以演示易受攻击的 Lambda 函数可能导致的数据泄露。

将 Lambda 上的命令注入漏洞及其不安全的配置链接起来,我们可以获得与正在运行的函数关联的 AWS 帐户信息。

让我们开始……

存在漏洞的应用程序具有通过拖放上传文件的功能。在开始使用 BurpSuite 或 ZAP 代理拦截请求之前,我通常会尝试手动检查应用程序并记下任何有趣且引人注目的细节。

🔎$_我的Checklist:

•-检查所有可见的 URL
•-查看源页面并查找隐藏的注释、API 端点、存储位置
•-检查启用的 HTTP 方法
•-手动模糊应用程序并使用 Burp Suite 仔细观察响应。我通常通过更改、删除或修改值来测试发送到应用程序的每个参数。
•-有意生成错误消息,以查看应用程序是否会显示可见的错误,从而公开一些有助于我们理解其结构的信息。
•-目录、接口扫描。
我们观察到的第一件事是该 URL 泄露了托管基础设施amazonaws.com。它还显示了托管的区域“东南” ,并且它是一个 API。
初步得出结论:我们有一个 API 端点,我们可以用它来上传文件并将其存储在云中的某个位置。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
查看 Firefox 开发人员工具的“调试器”选项卡中的首页代码,我发现该应用程序运行一个 lambda 函数。
此外,还有一个 API 端点“api/file”,其中会发送请求,请求方法为POST 方法。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
此时,我用Burp拦截了请求来检查服务器的响应。我发送的请求返回了 500 内部服务器错误状态代码。响应表明服务器无法将对象放入“ temporary-public-image-store”目录。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
接下来,我转向手动模糊测试部分。我将 HTTP 方法从预期的 POST 更改为 GET,以查看是否可以向服务器发送不同的请求,并让它显示不同的错误消息。不幸的是,我得到的错误是“无效的 HTTP 方法”。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
之后,我开始考虑针对该应用程序的潜在攻击媒介。我在 google 上搜索了针对无服务器架构的一般攻击,特别是针对 AWS lambda 的攻击,并发现了一些有关事件数据注入的资源。
其中之一是 GitHub 上的PureSec:https://github.com/puresec/sas-top-10 — 无服务器应用程序的十大关键风险。他们将操作系统命令注入称为无服务器架构中的常见漏洞之一。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
有了这些知识,我开始使用操作系统注入已知的特殊字符对 URL 进行模糊测试,尝试查看是否有任何字符会生成新错误,从而泄露我们目前没有的其他信息。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
仅列表中的逗号字符返回不同的错误消息; “/bin/sh: -c: line 0: unexpected EOF while looking for matching”。由此我们可以推测在 Lambda 上存在操作系统注入漏洞。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
为了确认这一点,我尝试传递whoami、ls、pwd 和 date等简单命令,看看是否执行并将响应转发给我们。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
通过图片看到的,已经确认有命令注入。💯
现在这一点已经得到证实,让我们看看 Lambda 是否可以读取有关其运行的 AWS 账户的重要信息。
我运行命令“ env”来检索存储的环境变量。Lambda 使用这些变量在本地运行代码并分配给它的权限。
云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

img
如上所示,我们已经检索了 AWS 会话令牌、访问 ID、密钥、node.js 版本和 S3 存储桶信息。
尽管这些是与运行会话相关的临时变量,但它们仍然可以帮助我们进行 AWS 枚举并获取其他信息。
总结:我们通过测试Lambda 函数,发现它容易受到操作系统命令注入的攻击。利用该漏洞,我们检索了会话令牌、访问 ID 和密钥,用于进一步枚举AWS其他信息。
这就是今天的全部内容。感谢您的阅读!
以上内容由白帽子左一翻译并整理。原文:https://medium.com/r3d-buck3t/vulnerable-lambda-leaks-aws-account-information-c613837377ad

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月23日16:16:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   云安全 | 利用易受攻击的 Lambda 函数泄露 AWS 账户信息https://cn-sec.com/archives/3197646.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息