> For the complete documentation index, see [llms.txt](https://blog.s1rn3tz.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.s1rn3tz.ovh/pentest-cloud/aws/enumeration.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://blog.s1rn3tz.ovh/pentest-cloud/aws/enumeration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
