Kubernetes Namespace Escalation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 :
É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 comme 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 tokens SA secrets.
Pour plus d'informations sur les privilèges que vous pouvez abuser, lisez :
Abusing Roles/ClusterRoles in KubernetesSi 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 tokens SAs :
Vérifiez les tokens SAs montés dans d'autres conteneurs docker fonctionnant 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 tokens par défaut de ces namespaces (je n'ai pas encore testé cela)
Toutes ces techniques sont expliquées dans :
Attacking Kubernetes from inside a PodLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)