Cyber Security Academy · Lección

Modelo de amenazas de Kubernetes

Descubra dónde pueden atacarse los clústeres.

Lección 1 de 413 pasos

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 pods

Punto 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/pods

Escape 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 sh

etcd: 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-only

Movimiento 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 node

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

Gratis para empezar

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

  1. Modelo de amenazas de Kubernetes
  2. RBAC y cuentas de servicio
  3. Seguridad de pods y políticas de red
  4. Protección de la cadena de suministro y secretos
← Volver a Cyber Security Academy