Secrets Manager and SSM Parameter Store Enumeration
Secrets Manager and SSM Parameter Store are the intended places to store secrets in AWS. Gaining secretsmanager:GetSecretValue or ssm:GetParameter with the right resource scope dumps credentials directly.
Secrets Manager
List all secrets (names and metadata only):
Retrieve the value of a specific secret:
{
"Name": "prod/myapp/db",
"SecretString": "{\"username\":\"admin\",\"password\":\"Sup3rS3cret!\",\"host\":\"mydb.cluster.us-east-1.rds.amazonaws.com\"}"
}
Dump all secret values at once:
SSM Parameter Store
List all parameters:
SecureString parameters are encrypted with KMS. String and StringList are plaintext.
Retrieve a specific parameter (SecureString is automatically decrypted with --with-decryption):
Warning
get-parameters-by-path on / returns everything in the account. In large environments this may be thousands of parameters. Narrow the path if possible: /prod/, /app/myapp/, etc.
Common Secret Naming Patterns
After listing, prioritise secrets matching:
*password*
*secret*
*key*
*token*
*credential*
*db*
*rds*
*database*
*api*
*access*
*slack*
*github*
KMS Key Check
SecureString parameters and Secrets Manager values use KMS for encryption. If you have kms:Decrypt on the relevant key, --with-decryption works automatically. If not, you see:
An error occurred (AccessDeniedException): ... is not authorized to perform: kms:Decrypt
Was this helpful?
Your feedback helps improve this page.