Kubernetes Namespace Escalation

Support HackTricks

No Kubernetes, é bastante comum que de alguma forma você consiga entrar em 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:

Abuse K8s privileges

Obviamente, se a conta que você roubou tem privilégios sensíveis sobre o namespace para o qual você pode 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 secret tokens de SA.

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

Escape to the node

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ê pode fazer várias coisas para roubar outros tokens de SAs:

  • Verifique os tokens de SAs montados em outros contêineres docker em execução no nó

  • Verifique novos arquivos kubeconfig no nó com permissões extras dadas 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 estão explicadas em:

Support HackTricks

Last updated