# AWS - Secrets Manager Enum

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

## AWS Secrets Manager

AWS Secrets Manager je dizajniran da **eliminira korišćenje hard-kodiranih tajni u aplikacijama zamenjujući ih API pozivom**. Ova usluga služi kao **centralizovani repozitorijum za sve vaše tajne**, osiguravajući da se njima upravlja uniformno kroz sve aplikacije.

Menadžer pojednostavljuje **proces rotacije tajni**, značajno poboljšavajući bezbednosni položaj osetljivih podataka kao što su kredencijali za baze podataka. Pored toga, tajne poput API ključeva mogu se automatski rotirati integracijom lambda funkcija.

Pristup tajnama je strogo kontrolisan kroz detaljne IAM politike zasnovane na identitetu i politike zasnovane na resursima.

Za dodeljivanje pristupa tajnama korisniku iz drugog AWS naloga, potrebno je:

1. Ovlastiti korisnika da pristupi tajni.
2. Dodeliti dozvolu korisniku da dekriptuje tajnu koristeći KMS.
3. Izmeniti politiku ključa da omogući spoljnjem korisniku da je koristi.

**AWS Secrets Manager se integriše sa AWS KMS za enkripciju vaših tajni unutar AWS Secrets Manager.**

### **Enumeration**
```bash
aws secretsmanager list-secrets #Get metadata of all secrets
aws secretsmanager list-secret-version-ids --secret-id <secret_name> # Get versions
aws secretsmanager describe-secret --secret-id <secret_name> # Get metadata
aws secretsmanager get-secret-value --secret-id <secret_name> # Get value
aws secretsmanager get-secret-value --secret-id <secret_name> --version-id <version-id> # Get value of a different version
aws secretsmanager get-resource-policy --secret-id --secret-id <secret_name>
```
### Privesc

{{#ref}}
../aws-privilege-escalation/aws-secrets-manager-privesc.md
{{#endref}}

### Post Exploitation

{{#ref}}
../aws-post-exploitation/aws-secrets-manager-post-exploitation.md
{{#endref}}

### Persistence

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

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