Detect Cloud Secrets Management Stores in Google Chronicle
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/
YARA-L Detection Query
rule t1555_006_cloud_secrets_excessive_access {
meta:
author = "Detection Engineering"
description = "Detects excessive access to cloud secrets management APIs across AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager within a one-hour window, consistent with bulk credential harvesting by threat actors including HAFNIUM, Storm-0501, and Scattered Spider."
mitre_attack_tactic = "Credential Access"
mitre_attack_technique = "T1555.006"
severity = "HIGH"
confidence = "MEDIUM"
reference = "https://attack.mitre.org/techniques/T1555/006/"
created = "2025-01-01"
version = "1.0"
events:
(
(
$e.metadata.vendor_name = "Amazon Web Services" and
$e.metadata.product_event_type in (
"GetSecretValue",
"ListSecrets",
"DescribeSecret",
"BatchGetSecretValue"
)
) or
(
$e.metadata.vendor_name = "Microsoft Azure" and
$e.metadata.product_event_type in (
"SecretGet",
"SecretList",
"VaultGet"
)
) or
(
$e.metadata.vendor_name = "Google Cloud Platform" and
re.regex(
$e.metadata.product_event_type,
`google\.cloud\.secretmanager\.v1\.SecretManagerService\.(AccessSecretVersion|ListSecrets)`
)
)
)
$user = $e.principal.user.userid
$ip = $e.principal.ip
match:
$user, $ip over 1h
condition:
#e > 10
} Chronicle YARA-L 2.0 rule that correlates secrets management API events in the UDM stream across all three major cloud providers. The match section groups by principal user ID and IP address over a one-hour sliding window; the condition fires when more than 10 qualifying events are observed for the same actor, providing a low-noise signal for automated credential harvesting distinct from routine application use.
Data Sources
Required Tables
False Positives & Tuning
- Kubernetes secret-sync operators (External Secrets Operator, Secrets Store CSI Driver) reconciling a large number of Kubernetes secrets from cloud vaults during cluster bootstrap or rapid pod autoscaling events — these identities have predictable naming conventions and cluster source IPs
- Multi-cloud observability and APM platforms authenticating to multiple secrets stores at startup to retrieve instrumentation credentials, producing a burst of access events from a single service account during deployment windows
- Authorised penetration testing or red team exercises operating within scope against the organisation's cloud environment — cross-reference principal.user.userid against approved testing accounts and change management records before escalating
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.