Kubernetes Namespace Escalation

Soutenez HackTricks et bénéficiez d'avantages !

Dans Kubernetes, il est assez courant que vous parveniez d'une manière ou d'une autre à accéder à un namespace (en volant des informations d'identification 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 vous échapper vers un autre namespace :

Abus de privilèges K8s

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

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

pageAbusing Roles/ClusterRoles in Kubernetes

Échapper au nœud

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

  • Vérifiez les jetons SAs montés dans d'autres conteneurs Docker en cours d'exécution sur le nœud

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

  • Si elle est activée (ou activez-la vous-même), essayez de créer des pods miroirs d'autres namespaces car vous pourriez avoir 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 :

pageAttacking Kubernetes from inside a Pod
Soutenez HackTricks et bénéficiez d'avantages !

Dernière mise à jour