Kubernetes Pentesting
Conceptos básicos de Kubernetes
Si no sabes nada sobre Kubernetes, este es un buen comienzo. Léelo para aprender sobre la arquitectura, componentes y acciones básicas en Kubernetes:
Kubernetes BasicsLaboratorios para practicar y aprender
Reforzamiento de Kubernetes / Herramientas automáticas
Kubernetes HardeningPentest manual de Kubernetes
Desde el exterior
Existen varios servicios de Kubernetes que podrías encontrar expuestos en Internet (o dentro de redes internas). Si los encuentras, sabrás que hay un entorno de Kubernetes allí.
Dependiendo de la configuración y tus privilegios, podrías abusar de ese entorno, para más información:
Pentesting Kubernetes ServicesEnumeración dentro de un Pod
Si logras comprometer un Pod, lee la siguiente página para aprender cómo enumerar e intentar escalar privilegios/escapar:
Attacking Kubernetes from inside a PodEnumerando Kubernetes con Credenciales
Es posible que hayas logrado comprometer credenciales de usuario, un token de usuario o un token de cuenta de servicio. Puedes usarlo para hablar con el servicio de la API de Kubernetes e intentar enumerarlo para aprender más al respecto:
Kubernetes EnumerationOtro detalle importante sobre la enumeración y el abuso de permisos de Kubernetes es el Control de Acceso Basado en Roles (RBAC) de Kubernetes. Si deseas abusar de los permisos, primero debes leer al respecto aquí:
Kubernetes Role-Based Access Control(RBAC)Conocido el RBAC y habiendo enumerado el entorno, ahora puedes intentar abusar de los permisos con:
Abusing Roles/ClusterRoles in KubernetesEscalada de privilegios a un Namespace diferente
Si has comprometido un namespace, potencialmente puedes escapar a otros namespaces con permisos/recursos más interesantes:
Kubernetes Namespace EscalationDe Kubernetes a la Nube
Si has comprometido una cuenta de K8s o un pod, es posible que puedas moverte a otras nubes. Esto se debe a que en nubes como AWS o GCP es posible dar permisos a un SA de K8s sobre la nube.
Kubernetes Pivoting to CloudsLast updated