Kubernetes Namespace Escalation

¡Apoya a HackTricks y obtén beneficios!

En Kubernetes, es bastante común que de alguna manera logres ingresar a un namespace (robando algunas credenciales de usuario o comprometiendo un pod). Sin embargo, por lo general, estarás interesado en escalar a un namespace diferente, ya que allí se pueden encontrar cosas más interesantes.

Aquí hay algunas técnicas que puedes probar para escapar a un namespace diferente:

Abuso de privilegios de K8s

Obviamente, si la cuenta que has robado tiene privilegios sensibles sobre el namespace al que deseas escalar, puedes abusar de acciones como crear pods con cuentas de servicio en el NS, ejecutar una shell en un pod ya existente dentro del ns, o leer los tokens secretos de SA.

Para obtener más información sobre qué privilegios puedes abusar, lee:

pageAbusing Roles/ClusterRoles in Kubernetes

Escapar al nodo

Si puedes escapar al nodo, ya sea porque has comprometido un pod y puedes escapar o porque puedes crear un pod privilegiado y escapar, podrías hacer varias cosas para robar otros tokens de SA:

  • Verifica los tokens de SA montados en otros contenedores de Docker que se ejecutan en el nodo.

  • Verifica los nuevos archivos kubeconfig en el nodo con permisos adicionales otorgados al nodo.

  • Si está habilitado (o habilitado por ti mismo), intenta crear pods espejo de otros namespaces, ya que podrías obtener acceso a las cuentas de token predeterminadas de esos namespaces (aún no lo he probado).

Todas estas técnicas se explican en:

pageAttacking Kubernetes from inside a Pod
¡Apoya a HackTricks y obtén beneficios!

Última actualización