Kubernetes Namespace Escalation

Support HackTricks

Dans Kubernetes, il est assez courant que d'une manière ou d'une autre vous parveniez à entrer dans un namespace (en volant des identifiants d'utilisateur ou en compromettant un pod). Cependant, vous serez généralement intéressé par l'escalade vers un autre namespace car des choses plus intéressantes peuvent y être trouvées.

Voici quelques techniques que vous pouvez essayer pour échapper à un autre namespace :

Abuser des privilèges K8s

Évidemment, si le compte que vous avez volé a des privilèges sensibles sur le namespace vers lequel vous pouvez escalader, vous pouvez abuser d'actions telles que créer des pods avec des comptes de service dans le NS, exécuter un shell dans un pod déjà existant à l'intérieur du ns, ou lire les secrets des jetons SA.

Pour plus d'informations sur les privilèges que vous pouvez abuser, lisez :

Échapper au nœud

Si vous pouvez échapper au nœud soit parce que vous avez compromis un pod et que vous pouvez échapper, soit parce que vous pouvez créer un pod privilégié et échapper, vous pourriez faire plusieurs choses pour voler d'autres jetons SA :

  • Vérifiez les jetons SA montés dans d'autres conteneurs docker exécutés dans le nœud

  • Vérifiez les nouveaux fichiers kubeconfig dans le nœud avec des permissions supplémentaires accordées au nœud

  • Si activé (ou activez-le vous-même), essayez de créer des pods miroirs d'autres namespaces car vous pourriez obtenir accès aux comptes de jetons par défaut de ces namespaces (je n'ai pas encore testé cela)

Toutes ces techniques sont expliquées dans :

Support HackTricks

Last updated