Kubernetes Namespace Escalation

支持 HackTricks

在 Kubernetes 中,通常以某种方式进入一个命名空间(通过窃取某些用户凭据或者通过攻击一个 pod)是相当常见的。然而,通常你会对升级到不同的命名空间感兴趣,因为那里可能有更有趣的东西。

以下是一些你可以尝试的技术,用于逃逸到不同的命名空间:

滥用 K8s 权限

显然,如果你窃取的帐户在要升级到的命名空间上拥有敏感权限,你可以滥用像在 NS 中创建带有服务帐户的 pod、在 ns 中执行 shell,或者读取秘密 SA 令牌等操作。

有关可以滥用的权限的更多信息,请阅读:

Abusing Roles/ClusterRoles in Kubernetes

逃逸到节点

如果你可以逃逸到节点,要么是因为你已经攻击了一个 pod 并且可以逃逸,要么是因为你可以创建一个特权 pod 并且逃逸,你可以做一些事情来窃取其他 SA 令牌:

  • 检查运行在节点上的其他 docker 容器中挂载的 SA 令牌

  • 检查节点上具有额外权限的新kubeconfig 文件

  • 如果已启用(或自行启用),尝试创建其他命名空间的镜像 pod,因为你可能会访问到这些命名空间的默认令牌帐户(我还没有测试过)

所有这些技术都在以下链接中有详细说明:

Attacking Kubernetes from inside a Pod
支持 HackTricks

Last updated