# Enumeration

## IAM

### Users

```bash
aws iam list-users

# Lister les groupes auxquels appartient l'utilisateur X
aws iam list-groups-for-user --user-name X

# Lister les managed policies associées à l'utilisateur X
aws iam list-attached-user-policies --user-name X

# Lister les inlines policies associées à l'utilisateur X
aws iam list-user-policies --user-name X
```

### Groupes

<pre class="language-bash"><code class="lang-bash">aws iam list-groups

# Lister les utilisateurs du groupe X
aws iam get-group --group-name X

# Lister les managed policies associées au groupe X
aws iam list-attached-group-policies --group-name X

<strong># Lister les inlines policies associées au groupe X
</strong>aws iam list-group-policies --group-name X
</code></pre>

### Roles

```bash
aws iam list-roles

# Lister les managed policies associées au role X
aws iam list-attached-role-policies --role-name X

# Lister les inlines policies associées au role X
aws iam list-role-policies --role-name X
```

### Politiques

```bash
aws iam list-policies

# Afficher des informations à propos de la policy X
aws iam get-policy --policy-arn arn:aws:iam:.../X

# Afficher des informations à propos des versions de la policy X
aws iam get-policy-versions --policy-arn arn:aws:iam:.../X

# Afficher les permissions de la politique X version vX
aws iam get-policy-version --policy-arn arn:aws:iam:.../X --version-id vX 

# Afficher les permission de l'inline policy X associée à la ressource IAM
aws iam get-user-policy --user-name X --policy-name X
aws iam get-group-policy --group-name X --policy-name X
aws iam get-role-policy --role-name X --policy-name X
```

{% hint style="info" %}
Comment différencier une customer managed policy d'une AWS managed policy ?

L'ARN contiendra un identifiant de compte spécifique pour une customer policy alors qu'une AWS managed policy n'en contiendra pas car elle s'applique à tous les comptes
{% endhint %}

{% hint style="warning" %}
Il est important de vérifier toutes les permissions de toutes les versions d'une même politique car dans certains cas, les administrateur ont tendance à accorder d'avantage de permissions puis de les affiner dans les versions futur ce qui peut entraîner des élévations de privilèges dans un scénario ou l'attaquant a la capacité de remplacer la version de politique utilisée par défaut.
{% endhint %}

## Services

### EC2

```
aws ec2 describe-instances 
```

{% hint style="success" %}
**Points d'attention**: Vérifier si l'instance a une IP publique.
{% endhint %}


---

# 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://blog.s1rn3tz.ovh/pentest-cloud/aws/enumeration.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.
