Kubernetes Namespace Escalation

Reading time: 3 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

In Kubernetes è piuttosto 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ì si possono trovare cose più interessanti.

Ecco alcune tecniche che puoi provare per fuggire a un namespace diverso:

Abuse K8s privileges

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 tokens.

Per ulteriori informazioni sui privilegi che puoi abusare, leggi:

Abusing Roles/ClusterRoles in Kubernetes

Escape to the node

Se 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 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

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks