网络安全研究人员在 Amazon Web Services (AWS) 产品中发现了多个严重漏洞,如果成功利用这些漏洞,可能会导致严重后果。
“这些漏洞的影响范围包括远程代码执行(RCE)、全方位服务用户接管(可能提供强大的管理访问权限)、操纵人工智能模块、暴露敏感数据、数据泄露和拒绝服务,”云安全公司Aqua在与The Hacker News分享的一份详细报告中说。
在 2024 年 2 月负责任地披露后,亚马逊在 3 月至 6 月的几个月内解决了这些缺点。研究结果在 2024 年美国黑帽大会上公布。
该问题的核心被称为“桶垄断”,是一种称为“影子资源”的攻击向量,在本例中,它指的是在使用 CloudFormation、Glue、EMR、SageMaker、ServiceCatalog 和 CodeStar 等服务时自动创建 AWS S3 存储桶。
以这种方式创建的 S3 存储桶名称既是唯一的,又遵循预定义的命名约定(例如,“cf-templates-{Hash}-{Region}”)。攻击者可利用此行为在未使用的 AWS 区域中设置存储桶,并等待合法的 AWS 客户使用易受攻击的服务之一来秘密访问 S3 存储桶的内容。
根据授予对手控制的 S3 存储桶的权限,该方法可用于升级以触发 DoS 条件,或执行代码、操纵或窃取数据,甚至在用户不知情的情况下完全控制受害者账户。
为了最大限度地提高成功的机会,使用 Bucket Monopoly,攻击者可以在所有可用区域提前创建无人认领的存储桶,并在存储桶中存储恶意代码。当目标组织首次在新区域中启用其中一项易受攻击的服务时,恶意代码将在不知不觉中被执行,从而可能导致创建可以向攻击者授予控制权的管理员用户。
但是,重要的是要考虑到,攻击者必须等待受害者首次在新区域部署新的 CloudFormation 堆栈才能成功发起攻击。修改 S3 存储桶中的 CloudFormation 模板文件以创建流氓管理员用户还取决于受害者账户是否具有管理 IAM 角色的权限。
Aqua 表示,它发现其他五项 AWS 服务依赖于类似的 S3 存储桶命名方法——{服务前缀}-{AWS 账户 ID}-{区域}——从而使它们暴露于影子资源攻击,并最终允许威胁行为者提升权限并执行恶意操作,包括 DoS、信息泄露、数据操纵和任意代码执行 –
- AWS Glue:aws-glue-assets-{账户 ID}-{区域}
- AWS Elastic MapReduce (EMR):aws-emr-studio -{Account-ID}-{Region}
- AWS SageMaker:sagemaker-{区域}-{账户ID}
- AWS CodeStar:aws-codestar-{区域}-{账户 ID}
- AWS 服务目录:cf-templates-{Hash}-{Region}
该公司还指出,AWS账户ID应该被视为秘密,这与亚马逊在其文档中所说的相反,因为它们可能被用来发动类似的攻击。
此外,可以使用 GitHub 正则表达式搜索或 Sourcegraph 来发现用于 AWS 账户的哈希值,或者通过抓取未解决的问题来发现,从而即使在没有直接从账户 ID 或任何其他账户相关元数据计算哈希值的情况下,也可以将 S3 存储桶名称拼凑在一起。
Aqua 说:“这种攻击媒介不仅影响 AWS 服务,还影响组织用来在其 AWS 环境中部署资源的许多开源项目。“许多开源项目会自动创建 S3 存储桶作为其功能的一部分,或者指示其用户部署 S3 存储桶。”
“建议为每个区域和账户生成唯一的哈希或随机标识符,并将此值合并到 S3 存储桶名称中,而不是在存储桶名称中使用可预测或静态标识符。这种方法有助于防止攻击者过早地认领您的存储桶。
发表评论
您还未登录,请先登录。
登录