Parte: 10 — Seguridad en la nube y contenedores · Fuente: MITRE ATT&CK for Cloud (IaaS matrix) y Rhino Security Labs — AWS Pentesting research ⏱️ Duración estimada: 150 min · Nivel: Avanzado
⚠️ Aviso ético. Esta clase enseña técnicas ofensivas. Practícalas únicamente en tu propia cuenta de laboratorio o con autorización escrita y explícita del propietario. El pentest de la nube además requiere respetar las políticas de pruebas del proveedor. Atacar recursos ajenos es ilegal.
Aprender la metodología de pentest en la nube: reconocimiento, enumeración de recursos e IAM, explotación de misconfiguraciones (credenciales expuestas, buckets, metadatos, roles), escalada de privilegios, movimiento lateral y persistencia, todo mapeado a MITRE ATT&CK for Cloud.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | Reconocimiento externo | OSINT, buckets y subdominios expuestos |
| 2 | Credenciales filtradas | Vector de entrada más común |
| 3 | Enumeración IAM | Descubrir qué se puede hacer con lo que hay |
| 4 | Abuso de metadatos (IMDS/SSRF) | Robo de credenciales de rol de instancia |
| 5 | Escalada de privilegios | De acceso limitado a administrador |
| 6 | Movimiento lateral y persistencia | Mantener acceso y expandirse |
| 7 | Mapeo a MITRE ATT&CK Cloud | Lenguaje común para reporte |
169.254.169.254 que entrega credenciales del rol de la instancia. Clave: IMDSv2 con tokens mitiga el abuso por SSRF.iam:SimulatePrincipalPolicy o fuerza bruta de APIs. Clave: define el mapa de ataque.# Desplegar un escenario vulnerable de laboratorio
python3 cloudgoat.py create iam_privesc_by_rollback
# Enumerar permisos de una credencial obtenida (en laboratorio)
enumerate-iam --access-key AKIA... --secret-key ...
Todo se ejecuta en tu cuenta de laboratorio con CloudGoat. No apuntes a infraestructura ajena.
iam_privesc_by_rollback de CloudGoat; recibirás credenciales de acceso limitado.enumerate-iam y aws iam get-user, mapea qué permisos tienes.iam:CreatePolicyVersion con --set-as-default) que permite reescribir una política.*:* y márcala por defecto; verifica que ahora eres admin.ec2_ssrf: explota una app con SSRF para leer http://169.254.169.254/latest/meta-data/iam/security-credentials/ y roba las credenciales del rol.cloudgoat destroy para no dejar recursos ni coste.Resuelve de principio a fin un escenario de CloudGoat que empiece con acceso limitado y termine en administrador, documentando el camino y luego aplicando las remediaciones que lo cierren.
Criterio de aceptación: el informe incluye cada paso con el comando usado, la técnica ATT&CK correspondiente y la evidencia; tras aplicar las remediaciones, reejecutar el ataque falla en el punto de escalada.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
AccessDenied al enumerar |
Permisos realmente mínimos; prueba rutas indirectas (assume-role, passrole). |
| Metadatos devuelven 401 | IMDSv2 activo; necesitas un token PUT primero, o el ataque está mitigado. |
| Recursos de CloudGoat siguen facturando | Olvidaste cloudgoat destroy; destrúyelos siempre al terminar. |
| El proveedor bloquea el escaneo | Actividad marcada como abuso; respeta la política de pentest del proveedor. |
| No hay evidencia para el informe | No se registró la salida; captura comandos y respuestas desde el inicio. |
❓ ¿Necesito permiso del proveedor para hacer pentest en la nube? Depende. Muchas pruebas a tus propios recursos están permitidas sin aviso previo, pero ciertas actividades (p. ej. stress/DoS) requieren autorización. Revisa siempre la política de pruebas del proveedor y ten permiso escrito del dueño de la cuenta.
❓ ¿Por qué el robo de credenciales de instancia es tan crítico? Porque el rol de la instancia suele tener permisos amplios; con esas credenciales el atacante actúa como el servicio legítimo, sin contraseña que romper. Por eso IMDSv2 y roles mínimos son clave.
❓ ¿CloudGoat es seguro para practicar? Sí, despliega recursos vulnerables en tu propia cuenta de forma intencionada y reproducible. Aun así, aíslalos y destrúyelos al terminar para evitar exposición y coste.
Clase 225 — Seguridad en Google Cloud Platform