网络安全研究人员近日披露了一种名为"whoAMI"的新型名称混淆攻击,该攻击允许任何发布特定名称的亚马逊机器镜像(AMI)的用户在亚马逊云服务(AWS)账户内获得代码执行权限。
研究人员在分享给报告中表示:“如果大规模实施,这种攻击手段可被用于获取数千个账户的访问权限,这种易受攻击的模式在许多私人和开源代码库中都能找到。”
该攻击本质上属于供应链攻击的一种,攻击者通过发布恶意资源,诱使配置不当的软件使用这些资源而非合法资源。
攻击的核心在于,任何人都可以将AMI(一种用于启动AWS弹性计算云(EC2)实例的虚拟机镜像)发布到社区目录,而开发人员在通过ec2:DescribeImages API搜索AMI时,可能会忽略指定"--owners"属性。
"whoAMI"攻击需要满足以下三个条件:
-
使用名称过滤器;
-
未指定所有者、所有者别名或所有者ID参数;
-
从返回的匹配镜像列表中获取最近创建的镜像("most_recent=true")。
这种情况下,攻击者可以创建一个名称符合搜索标准的恶意AMI,导致受害者使用攻击者的恶意AMI创建EC2实例。
攻击者只需拥有一个AWS账户,将后门AMI发布到公共社区AMI目录,并选择一个与目标AMI名称匹配的名称。这将导致在实例上获得远程代码执行(RCE)权限,攻击者可进一步实施各种后续攻击。
据Datadog统计,约有1%的被监测组织受到"whoAMI"攻击的影响,且在Python、Go、Java、Terraform、Pulumi和Bash shell中发现了使用易受攻击标准的代码示例。
在2024年9月16日负责任地披露该问题后,亚马逊于三天内进行了修复。AWS表示,未发现该技术在野外被滥用的证据,并建议客户评估并实施新的安全控制——"Allowed AMIs"。
此外,自2023年11月起,HashiCorp Terraform在terraform-provider-aws版本5.77.0中开始对未使用所有者过滤器的"most_recent = true"发出警告,预计该警告诊断将在版本6.0.0中升级为错误。
原文始发于微信公众号(FreeBuf):新型whoAMI攻击利用AWS AMI名称混淆实现远程代码执行
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论