T1555.006 Microsoft Sentinel · KQL

Detect Cloud Secrets Management Stores in Microsoft Sentinel

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/

KQL Detection Query

Microsoft Sentinel (KQL)
kusto
let AWSSecretOps = dynamic(["GetSecretValue", "ListSecrets", "DescribeSecret", "BatchGetSecretValue"]);
let AzureSecretOps = dynamic(["SecretGet", "SecretList", "Microsoft.KeyVault/vaults/secrets/read", "Microsoft.KeyVault/vaults/secrets/getSecret"]);
let GCPSecretOps = dynamic(["google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion", "google.cloud.secretmanager.v1.SecretManagerService.ListSecrets"]);
CloudAppEvents
| where Timestamp > ago(24h)
| where ActionType has_any (AWSSecretOps) or ActionType has_any (AzureSecretOps) or ActionType has_any (GCPSecretOps)
| summarize SecretAccessCount=count(), UniqueSecrets=dcount(tostring(RawEventData.requestParameters.secretId)),
            FirstAccess=min(Timestamp), LastAccess=max(Timestamp)
            by AccountDisplayName, IPAddress, Application
| where SecretAccessCount > 10 or UniqueSecrets > 5
| sort by SecretAccessCount desc
critical severity medium confidence

Detects bulk or anomalous access to cloud secrets management stores across AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager. Aggregates secret access events by identity and IP, alerting when an account retrieves more than 10 secrets or accesses more than 5 unique secrets in 24 hours — indicating potential credential harvesting by a compromised identity.

Data Sources

Cloud Service: Cloud Service EnumerationApplication Log: Application Log ContentAWS CloudTrailAzure Activity LogGCP Audit Log

Required Tables

CloudAppEvents

False Positives & Tuning

  • CI/CD pipelines that retrieve multiple secrets during deployment operations
  • Application startup routines that batch-load configuration secrets from the secrets manager
  • Secrets rotation automation that accesses all secrets during scheduled rotation cycles
  • Infrastructure-as-Code tools (Terraform, Pulumi) that read secrets during plan/apply operations
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