Detect Cloud Secrets Management Stores in CrowdStrike LogScale
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/
LogScale Detection Query
#repo=cloud_audit
(
EventName in ["GetSecretValue", "ListSecrets", "DescribeSecret", "BatchGetSecretValue"]
OR operationName = /KeyVault.*Secret|SecretGet|SecretList/i
OR protoPayload.methodName = /AccessSecretVersion|SecretManagerService.*ListSecrets/
)
| cloud_provider := case {
test(EventName) | "AWS";
test(operationName) | "Azure";
* | "GCP"
}
| identity := coalesce(
userIdentity.arn,
claims.upn,
protoPayload.authenticationInfo.principalEmail,
"unknown"
)
| source_ip := coalesce(
sourceIPAddress,
callerIpAddress,
protoPayload.requestMetadata.callerIp,
"unknown"
)
| secret_name := coalesce(
requestParameters.secretId,
resourceName,
properties.id,
"unknown"
)
| groupBy(
[identity, source_ip, cloud_provider],
function=[
count(as=SecretAccessCount),
count(secret_name, distinct=true, as=UniqueSecrets),
min(@timestamp, as=FirstAccess),
max(@timestamp, as=LastAccess)
]
)
| where SecretAccessCount > 10 OR UniqueSecrets > 5
| sort(SecretAccessCount, order=desc) LogScale CQL query against the cloud_audit repository that identifies principals making excessive calls to secrets management APIs across AWS, Azure, and GCP. Field existence checks via test() disambiguate cloud provider; coalesce() normalises identity and IP fields across differing log schemas. Groups by identity and source IP, flagging actors with more than 10 total operations or 5 distinct secret names — thresholds consistent with credential enumeration rather than normal application behaviour.
Data Sources
Required Tables
False Positives & Tuning
- Distributed batch processing jobs that resolve fresh database credentials from Secrets Manager at the start of each task across a large compute cluster — generates high per-identity counts during peak job execution correlated with job scheduler telemetry
- Cloud cost optimisation and asset inventory platforms (CloudHealth, Apptio Cloudability, Turbot) enumerating vault contents as part of resource tagging or compliance reporting workflows — identifiable by known vendor IP ranges and service account naming
- Blue-green or canary deployment strategies where both old and new application versions simultaneously fetch secrets during the traffic-shifting window, transiently doubling normal access rates from the same identity for the duration of the cutover
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.