Kubernetes Namespace Escalation

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

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

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

Abuse K8s privileges

显然,如果你窃取的账户在你想要升级到的命名空间上具有敏感权限,你可以滥用诸如在NS中创建pod在已存在的pod中执行shell,或读取secret SA令牌等操作。

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

Abusing Roles/ClusterRoles in Kubernetes

Escape to the node

如果你可以逃到节点,无论是因为你攻陷了一个pod并且可以逃脱,还是因为你可以创建一个特权pod并逃脱,你可以做几件事情来窃取其他SA的令牌:

  • 检查节点中运行的其他docker容器中挂载的SA令牌
  • 检查节点中具有额外权限的新kubeconfig文件
  • 如果启用(或自己启用),尝试创建其他命名空间的镜像pod,因为你可能会获得对这些命名空间默认令牌账户的访问(我还没有测试过这个)

所有这些技术在以下内容中有解释:

Attacking Kubernetes from inside a Pod

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks