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)
In Kubernetes è abbastanza comune che in qualche modo riesci a entrare in un namespace (rubando alcune credenziali utente o compromettendo un pod). Tuttavia, di solito sarai interessato a escalare a un namespace diverso poiché lì possono essere trovate cose più interessanti.
Ecco alcune tecniche che puoi provare per fuggire a un namespace diverso:
Ovviamente, se l'account che hai rubato ha privilegi sensibili sul namespace a cui puoi escalare, puoi abusare di azioni come creare pod con account di servizio nel NS, eseguire una shell in un pod già esistente all'interno del ns, o leggere i secret SA token.
Per ulteriori informazioni sui privilegi che puoi abusare, leggi:
Abusing Roles/ClusterRoles in KubernetesSe riesci a fuggire al nodo, sia perché hai compromesso un pod e puoi fuggire, sia perché puoi creare un pod privilegiato e fuggire, potresti fare diverse cose per rubare altri token SA:
Controlla i token SA montati in altri container docker in esecuzione nel nodo
Controlla i nuovi file kubeconfig nel nodo con permessi extra dati al nodo
Se abilitato (o abilitalo tu stesso), prova a creare pod speculari di altri namespace poiché potresti ottenere accesso agli account token predefiniti di quei namespace (non l'ho ancora testato)
Tutte queste tecniche sono spiegate in:
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)