> 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 %}
