Kubernetes Namespace Escalation

Apoie o HackTricks

No Kubernetes, é bastante comum que de alguma forma você consiga acessar um namespace (roubando algumas credenciais de usuário ou comprometendo um pod). No entanto, geralmente você estará interessado em escalar para um namespace diferente, pois coisas mais interessantes podem ser encontradas lá.

Aqui estão algumas técnicas que você pode tentar para escapar para um namespace diferente:

Abusar de privilégios do K8s

Obviamente, se a conta que você roubou tiver privilégios sensíveis sobre o namespace para o qual deseja escalar, você pode abusar de ações como criar pods com contas de serviço no NS, executar um shell em um pod já existente dentro do ns, ou ler os tokens secretos SA.

Para mais informações sobre quais privilégios você pode abusar, leia:

Abusing Roles/ClusterRoles in Kubernetes

Escapar para o nó

Se você puder escapar para o nó, seja porque comprometeu um pod e pode escapar ou porque pode criar um pod privilegiado e escapar, você poderia fazer várias coisas para roubar outros tokens de SA:

  • Verifique os tokens de SA montados em outros containers docker em execução no nó

  • Verifique novos arquivos kubeconfig no nó com permissões extras concedidas ao nó

  • Se habilitado (ou habilite você mesmo), tente criar pods espelhados de outros namespaces, pois você pode obter acesso às contas de token padrão desses namespaces (ainda não testei isso)

Todas essas técnicas são explicadas em:

Attacking Kubernetes from inside a Pod
Apoie o HackTricks

Last updated