HackerNews

HackerNews
亚马逊云服务器 ECScape 存在漏洞,可引发跨任务凭证窃取

亚马逊云服务器 ECScape 存在漏洞,可引发跨任务凭证窃取

给文章评分:

HackerNews 编译,转载请注明出处:

网络安全研究人员在亚马逊弹性容器服务(Amazon Elastic Container Service, ECS)中演示了一种“端到端权限提升链条”攻击方法。攻击者可利用该漏洞进行横向移动、访问敏感数据并控制整个云环境。

该攻击技术被安全研究公司Sweet Security的研究员Naor Haziz命名为“ECScape”,他于今日在拉斯维加斯举行的Black Hat USA安全会议上公布了这一发现。

“我们发现了一种方法,可以滥用一项未记录的ECS内部协议,获取同一EC2实例上其他ECS任务所属的AWS凭证,”Haziz在分享给The Hacker News的报告中说,“一个拥有低权限IAM(身份与访问管理)角色的恶意容器,可以获取在同一主机上运行的更高权限容器的权限。”

Amazon ECS是一项完全托管的容器编排服务,允许用户部署、管理和扩展容器化应用程序,并与Amazon Web Services(AWS)集成以在云中运行容器工作负载。

Sweet Security发现的漏洞本质上允许权限提升:运行在ECS实例上的低权限任务,可以通过窃取凭证劫持同一EC2机器上更高权限容器的IAM权限。

换言之,ECS集群中的恶意应用程序可以伪装成更高权限的任务。这是通过利用在地址169.254.170[.]2运行的元数据服务实现的,该服务暴露了与任务IAM角色关联的临时凭证。

虽然这种方法确保每个任务在运行时获得其IAM角色的凭证,但ECS代理身份的泄露可能允许攻击者冒充该代理并获取主机上任何任务的凭证。完整攻击序列如下:

  1. 获取主机的IAM角色凭证(EC2实例角色)以冒充代理
  2. 发现代理通信的ECS控制平面端点
  3. 收集必要的标识符(集群名称/ARN、容器实例ARN、代理版本信息、Docker版本、ACS协议版本和序列号),使用任务元数据端点和ECS内省API作为代理进行身份验证
  4. 伪造并签署代理通信服务(Agent Communication Service, ACS)WebSocket请求,冒充代理并将“sendCredentials”参数设置为“true”
  5. 收集该实例上所有运行中任务的凭证

“伪造的代理通道也能保持隐蔽,”Haziz表示,“我们的恶意会话模仿了代理的预期行为——确认消息、递增序列号、发送心跳——因此不会显得异常。”

“通过冒充代理的上游连接,ECScape彻底瓦解了该信任模型:一个被攻陷的容器可以被动收集同一EC2实例上所有其他任务的IAM角色凭证,并立即以这些权限行动。”

在共享EC2主机上运行ECS任务时,ECScape可能造成严重后果,因为它为跨任务权限提升、凭证泄露和元数据窃取打开了大门。

在负责任的披露后,亚马逊强调了客户在适用情况下采用更强隔离模型的必要性,并明确在其文档中指出:在EC2中没有任务隔离,“容器可能访问同一容器实例上其他任务的凭证”。

作为缓解措施,建议:

  1. 避免在同一实例上部署高权限任务与不可信或低权限任务
  2. 使用AWS Fargate实现完全隔离
  3. 禁用或限制任务的实例元数据服务(IMDS)访问
  4. 限制ECS代理权限
  5. 设置CloudTrail警报以检测IAM角色的异常使用

核心教训是应将每个容器视为可能被攻陷的对象,并严格限制其爆炸半径,”Haziz说,“AWS便捷的抽象(任务角色、元数据服务等)方便了开发者,但当多个具有不同权限级别的任务共享底层主机时,其安全性仅取决于隔离它们的机制——而这些机制可能存在微妙的弱点。”

此漏洞披露正值近期报告多起云安全漏洞之际,包括:

  1. 谷歌Cloud Build与GitHub集成中的竞争条件漏洞(可能绕过维护者审查执行未审核代码)
  2. Oracle云基础设施(OCI)代码编辑器中的远程代码执行漏洞(可劫持Cloud Shell环境)
  3. 名为“I SPy”的攻击技术(利用Microsoft Entra ID中的服务主体进行权限提升和持久化)
  4. Azure机器学习服务中的权限提升漏洞(允许存储账户访问者执行任意代码)
  5. 旧版AmazonGuardDutyFullAccess策略的范围漏洞(可能导致组织被完全接管)
  6. 滥用Azure Arc进行权限提升和持久化的攻击技术
  7. Azure内置Reader角色权限过高及API漏洞(可被串联利用泄露VPN密钥)
  8. 谷歌Gerrit中的供应链漏洞“GerriScary”(允许向ChromiumOS等关键项目提交未授权代码)
  9. 谷歌云平台配置错误(暴露了互联网交换点内部子网络)
  10. “ConfusedFunction”权限提升漏洞的扩展(可适配AWS和Azure平台)

最有效的缓解策略是确保云环境中所有服务账户(SA)遵循最小权限原则,且没有遗留云SA仍在使用,”Talos表示,“确保所有云服务和依赖项均已应用最新安全补丁。若存在遗留SA,请用最小权限SA替换它们。”

 

 

 


消息来源:thehackernews

本文由 HackerNews.cc 翻译整理,封面来源于网络;

转载请注明“转自 HackerNews.cc”并附上原文