Modelo de amenazas de Kubernetes
Descubra dónde pueden atacarse los clústeres.
Modelo de amenazas de Kubernetes es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.
Por qué Kubernetes es un objetivo
Kubernetes coordina contenedores en muchos nodos. Centraliza los secretos, las redes y el cómputo, por lo que comprometer el clúster puede significar comprometer todas las cargas de trabajo que ejecuta.
- Un único servidor de API controla todo el clúster.
- Los nodos ejecutan cargas de trabajo de varios inquilinos una junto a otra.
- Las configuraciones incorrectas son mucho más frecuentes que las CVE del núcleo.
Repaso de la arquitectura del clúster
Para modelar las amenazas, debe conocer los componentes.
- Plano de control: servidor de API, etcd, scheduler, controller-manager.
- Nodos: kubelet, runtime de contenedores, kube-proxy, pods.
- etcd almacena todo el estado del clúster y los secretos.
El servidor de API es el único punto de entrada; etcd es la joya de la corona de los datos.
Mapa de la superficie de ataque
Los ataques se dirigen a capas diferenciadas.
- Externa: servidor de API, dashboards e ingress expuestos.
- Carga de trabajo: una aplicación comprometida dentro de un pod.
- Identidad: tokens de cuentas de servicio y RBAC.
- Nodo: API del kubelet, escape del contenedor al host.
- Cadena de suministro: imágenes y dependencias maliciosas.
Plano de control expuesto
Un servidor de API o kubelet accesible desde Internet con una autenticación débil es una vía directa para tomar el control del clúster.
- Acceso anónimo habilitado en el servidor de API.
- API de lectura/escritura del kubelet (puerto 10250) expuesta.
- Un dashboard de Kubernetes abierto con una vinculación de administrador.
# Probe an exposed kubelet for running pods
curl -sk https://NODE_IP:10250/pods
# Test anonymous API access
kubectl --insecure-skip-tls-verify --server https://API:6443 get podsPunto de apoyo dentro del pod
El punto de partida más común es una RCE en una aplicación que se ejecuta en un pod. Desde dentro de un pod, los atacantes encuentran:
- Un token de cuenta de servicio montado en
/var/run/secrets/.... - Servicios internos accesibles (sin política de red).
- El servidor de API, que suele resolverse como
kubernetes.default.
# From inside a pod: read the mounted SA token
cat /var/run/secrets/kubernetes.io/serviceaccount/token
# Use it against the API
curl -sk -H "Authorization: Bearer $(cat .../token)" https://kubernetes.default/api/v1/namespaces/default/podsEscape del contenedor
Salir de un contenedor hacia el nodo proporciona acceso a todas las cargas de trabajo de ese host.
- Los contenedores privilegiados pueden acceder a dispositivos del host y escapar.
- Los montajes de hostPID/hostNetwork/hostPath amplían el radio de impacto.
- Un socket de Docker montado permite iniciar un contenedor privilegiado.
- Las capacidades peligrosas (
SYS_ADMIN) permiten escapar.
# A privileged pod can mount the host filesystem and chroot to it
mount /dev/sda1 /mnt && chroot /mnt shetcd: el almacén de secretos
etcd contiene todo el estado del clúster, incluidos los Secrets, que de forma predeterminada solo están codificados en base64. El acceso directo a etcd (a menudo sin autenticación en clústeres mal configurados) filtra todos los secretos.
# Read all secrets from an exposed etcd
etcdctl --endpoints=https://NODE:2379 get / --prefix --keys-onlyMovimiento lateral en clústeres
Una vez dentro, los atacantes pivotan mediante la identidad y las redes del clúster.
- Una cuenta de servicio permisiva permite crear pods privilegiados.
- Las redes planas de pods (sin NetworkPolicy) permiten acceder a cualquier servicio.
- Programar un pod en un nodo objetivo permite comprometer el nodo.
Metadatos de la nube desde los pods
En los clústeres administrados (EKS/GKE/AKS), los pods pueden acceder al servicio de metadatos de la nube del nodo y robar las credenciales IAM/del rol del nodo, conectando el compromiso del clúster con la cuenta de nube.
Las defensas incluyen IMDSv2, bloquear los metadatos en la capa de red y usar la identidad de carga de trabajo en lugar de roles de nodo.
Mapeo con herramientas
Las herramientas automatizan la evaluación de amenazas del clúster.
- kube-hunter sondea los componentes expuestos.
- kube-bench comprueba el cumplimiento del estándar de referencia CIS.
- Peirates / kubeletctl ponen a prueba vías de ataque dentro del clúster.
# Assess attack surface
kube-hunter --remote API_IP
# CIS benchmark check on a node
kube-bench run --targets nodePrioridades defensivas
El modelo de amenazas señala prioridades defensivas claras: proteger el servidor de API, restringir RBAC, aislar los pods, reforzar los nodos y proteger la cadena de suministro. Las próximas lecciones profundizan en cada una.
Al realizar pruebas, ataque únicamente clústeres para los que tenga autorización y evite desestabilizar las cargas de trabajo de producción.
Comprobación rápida
Confirme sus conocimientos básicos sobre el modelo de amenazas de Kubernetes.
Resumen
Ha identificado dónde se atacan los clústeres de Kubernetes.
- El servidor de API y etcd son los objetivos centrales y de mayor valor.
- Los puntos de apoyo dentro de los pods aprovechan tokens de cuentas de servicio montados y redes planas.
- Los pods privilegiados o con hostPath permiten escapar del contenedor al nodo.
- Los clústeres administrados están expuestos a un posible salto a la nube mediante metadatos.
Siguiente tema: RBAC y cuentas de servicio.
Aprende Cyber Security Academy con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 76
- Lecciones
- 303
Preguntas frecuentes
¿La lección «Modelo de amenazas de Kubernetes» es gratis?
Sí — el texto completo de «Modelo de amenazas de Kubernetes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Modelo de amenazas de Kubernetes»?
Descubra dónde pueden atacarse los clústeres. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cyber Security Academy?
No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Modelo de amenazas de Kubernetes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?
Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Modelo de amenazas de Kubernetes
- RBAC y cuentas de servicio
- Seguridad de pods y políticas de red
- Protección de la cadena de suministro y secretos