# AWS - IAM Persistence

{{#include ../../../../banners/hacktricks-training.md}}

## IAM

Per maggiori informazioni consulta:

{{#ref}}
../../aws-services/aws-iam-enum.md
{{#endref}}

### Persistenze IAM comuni

- Creare un user
- Aggiungere un controlled user a un privileged group
- Creare access keys (del nuovo user o di tutti gli user)
- Concedere permessi extra a controlled users/groups (attached policies o inline policies)
- Disabilitare MFA / Aggiungere il proprio MFA device
- Creare una situazione Role Chain Juggling (più avanti su STS persistence)

### Backdoor Role Trust Policies

Potresti backdoorare una trust policy in modo che una risorsa esterna controllata da te (o da chiunque) possa 'assume' il ruolo:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": ["*", "arn:aws:iam::123213123123:root"]
},
"Action": "sts:AssumeRole"
}
]
}
```
### Versione della policy Backdoor

Concedere i permessi di Administrator a una policy che non è nell'ultima versione (l'ultima versione dovrebbe sembrare legittima), quindi assegnare quella versione della policy a un utente/gruppo controllato.

### Backdoor / Creazione di Identity Provider

Se l'account si fida già di un identity provider comune (come Github), le condizioni del trust potrebbero essere estese in modo che l'attaccante possa abusarne.

{{#include ../../../../banners/hacktricks-training.md}}
