Detect Cloud Secrets Management Stores in Splunk
Adversaries may acquire credentials from cloud-native secret management solutions such as AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, and Terraform Vault. Secrets managers support the secure centralized management of passwords, API keys, and other credential material. If an adversary gains sufficient privileges in a cloud environment, they may request secrets via API calls such as get-secret-value (AWS), gcloud secrets describe (GCP), and az key vault secret show (Azure). This technique has been used by HAFNIUM, Storm-0501, Scattered Spider, and ScarletEel.
MITRE ATT&CK
- Tactic
- Credential Access
- Technique
- T1555 Credentials from Password Stores
- Sub-technique
- T1555.006 Cloud Secrets Management Stores
- Canonical reference
- https://attack.mitre.org/techniques/T1555/006/
SPL Detection Query
(index=aws sourcetype="aws:cloudtrail" eventName IN ("GetSecretValue", "ListSecrets", "DescribeSecret", "BatchGetSecretValue"))
OR (index=azure sourcetype="azure:audit" operationName="*KeyVault*" operationName IN ("SecretGet", "SecretList", "VaultGet"))
OR (index=gcp sourcetype="google:gcp:pubsub:message" data.protoPayload.methodName="google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion")
| eval cloud_provider=case(
sourcetype=="aws:cloudtrail", "AWS",
sourcetype=="azure:audit", "Azure",
sourcetype=="google:gcp:pubsub:message", "GCP",
1=1, "Unknown")
| eval identity=coalesce(userIdentity.arn, claims.upn, data.protoPayload.authenticationInfo.principalEmail)
| eval source_ip=coalesce(sourceIPAddress, callerIpAddress, data.protoPayload.requestMetadata.callerIp)
| eval secret_name=coalesce(requestParameters.secretId, properties.id, data.protoPayload.resourceName)
| stats count as SecretAccessCount, dc(secret_name) as UniqueSecrets, earliest(_time) as FirstAccess, latest(_time) as LastAccess by identity, source_ip, cloud_provider
| where SecretAccessCount > 10 OR UniqueSecrets > 5
| sort - SecretAccessCount Multi-cloud detection for bulk access to secrets management stores. Correlates AWS CloudTrail, Azure Audit, and GCP Audit logs to identify identities retrieving an anomalous number of secrets. Normalizes fields across cloud providers and applies thresholds to detect credential harvesting campaigns like those conducted by ScarletEel and Scattered Spider.
Data Sources
Required Sourcetypes
False Positives & Tuning
- CI/CD pipelines retrieving secrets during deployments
- Application startup routines that batch-load configuration secrets
- Secrets rotation automation during scheduled rotation
- Terraform/Pulumi reading secrets during infrastructure operations
Other platforms for T1555.006
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Enumerate AWS Secrets Manager secrets
Expected signal: AWS CloudTrail: ListSecrets event followed by GetSecretValue event, both with the caller's IAM identity ARN and source IP. Events appear in CloudTrail within 5-15 minutes.
- Test 2Retrieve Azure Key Vault secret
Expected signal: Azure Key Vault diagnostic logs: SecretList and SecretGet operations with caller IP and identity. Azure AD audit log entry for the service principal or user identity.
- Test 3Access GCP Secret Manager secret
Expected signal: GCP Cloud Audit Log: Admin Activity log for ListSecrets, Data Access log for AccessSecretVersion. Both events contain the principal email and source IP.
References (7)
- https://attack.mitre.org/techniques/T1555/006/
- https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html
- https://learn.microsoft.com/en-us/azure/key-vault/secrets/quick-create-cli
- https://cloud.google.com/secret-manager/docs/view-secret-details
- https://sysdig.com/blog/scarleteel-2-0/
- https://permiso.io/blog/lucr-3-scattered-spider-getting-saas-y-in-the-cloud
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1555.006/T1555.006.md
Unlock Pro Content
Get the full detection package for T1555.006 including response playbook, investigation guide, and atomic red team tests.