Kubernetes Namespace Escalation

Apoie o HackTricks e obtenha benefícios!

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:

Abuso 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 obter mais informações sobre quais privilégios você pode abusar, leia:

pageAbusing 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, poderá fazer várias coisas para roubar outros tokens SA:

  • Verifique se há tokens SA montados em outros contêineres Docker em execução no nó

  • Verifique se há 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:

pageAttacking Kubernetes from inside a Pod
Apoie o HackTricks e obtenha benefícios!

Última actualización