Kubernetes Namespace Escalation
Last updated
Last updated
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
在 Kubernetes 中,你很可能以某种方式进入了一个命名空间(通过窃取某些用户凭证或通过攻陷一个 pod)。然而,通常你会对升级到另一个命名空间感兴趣,因为那里可能会发现更有趣的东西。
以下是一些你可以尝试的逃离到不同命名空间的技术:
显然,如果你窃取的账户在你想要升级到的命名空间上具有敏感权限,你可以滥用诸如在 NS 中创建 pods、在命名空间内已存在的 pod 中执行 shell 或读取 secret SA 令牌等操作。
有关你可以滥用的权限的更多信息,请阅读:
Abusing Roles/ClusterRoles in Kubernetes如果你可以逃离到节点,无论是因为你攻陷了一个 pod 并且可以逃离,还是因为你可以创建一个特权 pod 并逃离,你可以做几件事情来窃取其他 SA 令牌:
检查节点上运行的其他 Docker 容器中挂载的 SA 令牌
检查节点上具有额外权限的新 kubeconfig 文件
如果启用(或自己启用),尝试创建其他命名空间的镜像 pods,因为你可能会获得对这些命名空间默认令牌账户的访问权限(我还没有测试过这个)
所有这些技术在以下内容中都有解释:
Attacking Kubernetes from inside a Pod学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)