Kubernetes Namespace Escalation

Sostieni HackTricks

In Kubernetes è abbastanza comune che in qualche modo tu riesca ad entrare in un namespace (rubando alcune credenziali utente o compromettendo un pod). Tuttavia, di solito sarai interessato a scalare verso un namespace diverso poiché lì potrebbero essere presenti cose più interessanti.

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

Abuso dei privilegi di K8s

Ovviamente, se l'account che hai rubato ha privilegi sensibili sul namespace a cui vuoi scalare, 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 o 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 specchiati 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
Sostieni HackTricks

Last updated