Kubernetes Namespace Escalation

Support HackTricks

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:

Abuso dei privilegi K8s

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 token SA segreti.

Per ulteriori informazioni sui privilegi che puoi abusare, leggi:

Abusing Roles/ClusterRoles in Kubernetes

Fuga verso il nodo

Se riesci a fuggire verso il 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 contenitori 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 Pod
Support HackTricks

Last updated