Academia  /  Cloud · AWS
☁ Seguridad en la nube · Rojo & Azul

Cloud / AWS: el fallo casi nunca es un exploit — es la configuración

La mayoría de brechas cloud son malas configuraciones y permisos excesivos, no exploits. Aquí entiendes el modelo de responsabilidad compartida, IAM/S3/roles, cómo se usa awscli y los fallos que de verdad se explotan (S3 público, credenciales filtradas, SSRF→IMDS, IAM) — con 2 labs gratis y 4 retos para practicarlo sin gastar un euro.

☁La nube no es “el ordenador de otro”: es un modelo de responsabilidad compartida

El error mental nº1 en cloud. AWS/Azure/GCP protegen la infraestructura; tú eres responsable de cómo la configuras. La mayoría de brechas cloud no son "hackeos a AWS": son fallos de configuración del cliente.

De AWS (la nube)hardware, red física, hipervisor, servicios gestionados. No es tu problema.
Tuyo (en la nube)permisos IAM, buckets públicos, security groups, cifrado, secretos, parcheo de tus instancias.
Dónde se rompeS3 público, credenciales en código/repos, IAM demasiado amplio, IMDS sin proteger, security groups abiertos a 0.0.0.0/0.

Regla: en cloud casi nunca atacas un exploit; atacas una mala configuración y unos permisos excesivos.

🔑El vocabulario que necesitas (IAM, S3, roles, STS)

IAMquién puede hacer qué. Usuarios, grupos, roles y políticas (JSON con Allow/Deny).
Clave de accesoAKIA... (usuario) o ASIA... (temporal, de rol/STS) + secret key. Si se filtran, es acceso directo.
Rolidentidad que asume una máquina o servicio para obtener credenciales temporales sin guardar claves.
S3almacenamiento de objetos (buckets). El servicio que más datos filtra por dejarlo público.
STS / sts:get-caller-identityel whoami de AWS: te dice qué identidad eres con unas credenciales.
SSM / Secrets Managerdonde se guardan parámetros y secretos. Objetivo típico tras conseguir credenciales.
aws sts get-caller-identity # ¿quién soy con estas creds? aws s3 ls # buckets que puedo ver aws iam list-attached-user-policies --user-name X # ¿qué permisos tengo?

🧰awscli: tu herramienta principal (y el truco del endpoint)

Todo se hace con aws. El truco para practicar gratis y sin cuenta: apuntar el CLI a un AWS emulado en local (moto/LocalStack) con --endpoint-url. La sintaxis es idéntica a la real.

# contra AWS de verdad: aws s3 ls # contra tu lab local (gratis): aws --endpoint-url=http://localhost:4566 s3 ls aws --endpoint-url=http://localhost:4566 --no-sign-request s3 ls s3://bucket/ # anónimo

El --no-sign-request = "sin credenciales". Si eso te lista o descarga algo, el bucket está público — el fallo cloud más común del mundo.

⚔Los fallos que vas a explotar (y ver en la vida real)

S3 público / listable
buckets con public-read o ACL abierta: cualquiera lista y descarga. Enuméralo con --no-sign-request.
Credenciales filtradas
claves AKIA... en código, repos, buckets, variables, histórico de git. Con ellas entras como ese usuario.
SSRF → IMDS (caso Capital One)
si una web con SSRF corre en una instancia, puede pedir http://169.254.169.254/... y robar las credenciales del rol. Mitiga con IMDSv2.
IAM excesivo / escalada
políticas con *, iam:PassRole, iam:CreatePolicyVersion... permiten escalar a admin. Enuméralo antes de atacar.
Secretos en SSM/Secrets Manager accesibles
una vez tienes unas credenciales, ssm get-parameter y secretsmanager get-secret-value suelen soltar oro.
Security groups abiertos
puertos de admin (22, 3389, 5432...) abiertos a 0.0.0.0/0: superficie directa a internet.

🔧El arsenal cloud

awscliel CLI oficial. Todo pasa por aquí: S3, IAM, SSM, STS. Con --endpoint-url para los labs.
ScoutSuiteaudita una cuenta entera (multi-cloud) y saca un informe HTML de malas configuraciones.
Prowlercientos de checks de seguridad y cumplimiento (CIS) sobre AWS/Azure/GCP.
Pacuel 'Metasploit de AWS': framework de explotación y escalada de privilegios post-credencial.
cloud_enum / S3Scannerbuscan buckets y recursos públicos por nombre de empresa.
moto / LocalStackemulan AWS en local para practicar gratis (moto es 100% libre).

🎯🎯 Labs puntuables: Cloud roto

Dos laboratorios gratis y locales (AWS emulado con moto, 0 €) y 4 retos · 150 puntos:

Lab 1 · Bucket → creds → SSMenumeras un S3 público sin credenciales, sacas unas claves filtradas y pivotas al secreto de producción en SSM.
Lab 2 · SSRF → IMDS → S3la cadena de Capital One: SSRF en una web → robas las credenciales del rol en el metadato → lees el bucket de secretos.

⬇ Pack Lab 1 (cloud-s3) ⬇ Pack Lab 2 (cloud-ssrf) ▶ A los retos · categoría “Cloud · AWS”

Necesitas awscli (ya lo lleva el Kali de la academia) y Docker. Cada lab se levanta con docker-compose up -d y se apaga con docker-compose down.

⚑ Recuerda enviar la flag. Cuando saques la FLAG, envíala en su reto para que cuente en tu progreso y en el marcador. Si no la envías, no puntúa.
Ir a los retos
🔎 No memorices comandos. Ten el Arsenal abierto en otra pestaña y busca ahí el comando exacto cuando lo necesites. Entiende el POR QUÉ aquí; el COMANDO lo copias del Arsenal.
Abrir Arsenal