# Permiso IAM:PassRole\*

El permiso `iam:PassRole` en AWS IAM es una herramienta potente que permite a los usuarios delegar roles a servicios de AWS, habilitando así a estos servicios a actuar en nombre del usuario para realizar tareas específicas. Esta capacidad es fundamental en la arquitectura de AWS para facilitar operaciones complejas y automatizadas, especialmente en entornos donde las aplicaciones necesitan interactuar con varios recursos de AWS.

## <mark style="color:orange;">Profundización en</mark> `iam:PassRole`

* <mark style="color:orange;">**Funcionalidad y Uso**</mark><mark style="color:orange;">:</mark> `iam:PassRole` es crucial cuando se configuran servicios de AWS para ejecutar acciones que requieren acceso a recursos. Por ejemplo, al desplegar una función de AWS Lambda que necesita acceder a un bucket de Amazon S3, se puede pasar un rol IAM a la función Lambda que posee los permisos necesarios para acceder a dicho bucket. Este enfoque garantiza que los servicios de AWS tengan los permisos adecuados sin necesidad de almacenar credenciales directamente en el código o la configuración.
* <mark style="color:orange;">**Riesgos de Seguridad**</mark><mark style="color:orange;">:</mark> La flexibilidad de `iam:PassRole` también introduce riesgos significativos de seguridad si no se maneja correctamente. Un permiso mal configurado, especialmente uno que utiliza comodines (`iam:PassRole:*`), brinda a los usuarios la capacidad de pasar cualquier rol dentro de la cuenta de AWS. Esto puede ser explotado para escalar privilegios, permitiendo a un usuario o servicio asumir roles con amplios permisos y realizar acciones no autorizadas.

## <mark style="color:orange;">Tecnicas de escalacion de privilegios con iam:PassRole</mark>

{% hint style="info" %}
Todas las técnicas que abusan del permiso `iam:PassRole` requieren de un conocimiento sobre otros servicios de AWS y por lo tanto serán explicadas en los módulos posteriores.
{% endhint %}

* [CreateEC2WithExistingIP](/cpna/tecnicas-ofensivas-contra-ec2/vectores-de-escalacion-de-privilegios/createec2withexistingip.md)
* [PassExistingRoleToNewLambdaThenInvoke](/cpna/tecnicas-ofensivas-contra-lambda/vectores-de-escalacion-de-privilegios/passexistingroletonewlambdatheninvoke.md)
* [PassRoleToNewLambdaThenTriggerWithNewDynamo](/cpna/tecnicas-ofensivas-contra-lambda/vectores-de-escalacion-de-privilegios/passroletonewlambdathentriggerwithnewdynamo.md)
* [EditExistingLambdaFunctionWithRole](/cpna/tecnicas-ofensivas-contra-lambda/vectores-de-escalacion-de-privilegios/editexistinglambdafunctionwithrole.md)
* [PassExistingRoleToNewGlueDevEndpoint](/cpna/tecnicas-ofensivas-contra-ec2/vectores-de-escalacion-de-privilegios/passexistingroletonewgluedevendpoint.md)
* [PassExistingRoleToCloudFormation](/cpna/material-extra/passexistingroletocloudformation.md)
* [PassExistingRoleToNewDataPipeline](/cpna/material-extra/passexistingroletonewdatapipeline.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://books.spartan-cybersec.com/cpna/escalacion-de-privilegios-en-iam/permiso-iam-passrole.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
