T1555.006 CrowdStrike LogScale · LogScale

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

CrowdStrike LogScale (LogScale)
cql
#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)
high severity medium confidence

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

AWS CloudTrail logs ingested into CrowdStrike LogScale cloud_audit repositoryAzure Monitor / Activity Logs ingested into CrowdStrike LogScale cloud_audit repositoryGCP Cloud Audit Logs ingested into CrowdStrike LogScale cloud_audit repository

Required Tables

cloud_audit (LogScale repository)

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
Download portable Sigma rule (.yml)

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.

  1. 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.

  2. 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.

  3. 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.

Unlock Pro Content

Get the full detection package for T1555.006 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections