AWS - ECS Post Exploitation
ECS
有关更多信息,请查看:
AWS - ECS Enum主机IAM角色
在ECS中,IAM角色可以分配给运行在容器内的任务。如果任务在EC2实例内运行,则EC2实例将附加另一个IAM角色。 这意味着如果您设法入侵ECS实例,则可能获取与ECR和EC2实例关联的IAM角色。有关如何获取这些凭据的更多信息,请查看:
请注意,如果EC2实例正在强制执行IMDSv2,根据文档,PUT请求的响应将具有1个跳数限制,这将使得无法从EC2实例内的容器访问EC2元数据。
提升权限到节点以窃取其他容器的凭据和机密信息
此外,EC2使用docker来运行ECS任务,因此如果您可以逃逸到节点或访问docker套接字,您可以检查正在运行的其他容器,甚至进入其中并窃取它们的IAM角色。
使容器在当前主机上运行
此外,EC2实例角色通常具有足够的权限来更新用作节点的EC2实例的容器实例状态。攻击者可以修改实例的状态为DRAINING,然后ECS将从中删除所有任务,并且作为REPLICA运行的任务将在不同的实例中运行,可能在攻击者实例内部,以便他可以窃取它们的IAM角色和容器内的潜在敏感信息。
同样的技术可以通过从集群中注销 EC2 实例来实现。这可能不够隐蔽,但会强制任务在其他实例上运行:
一个强制重新执行任务的最终技术是告诉 ECS 任务或容器已停止。有三个潜在的 API 可以实现这一点:
从 ECR 容器中窃取敏感信息
EC2 实例可能还具有权限 ecr:GetAuthorizationToken
,允许其下载镜像(您可以在其中搜索敏感信息)。
Last updated