Cross-source coverage
T1552.005 / ATT&CK
Unsecured Credentials: Cloud Instance Metadata API
From MITRE ATT&CK 19.2
Adversaries may attempt to access the Cloud Instance Metadata API to collect credentials and other sensitive data.
Most cloud service providers support a Cloud Instance Metadata API which is a service provided to running virtual instances that allows applications to access information about the running virtual instance. Available information generally includes name, security group, and additional metadata including sensitive data such as credentials and UserData scripts that may contain additional secrets. The Instance Metadata API is provided as a convenience to assist in managing applications and is accessible by anyone who can access the instance. A cloud metadata API has been used in at least one high profile compromise.
If adversaries have a presence on the running virtual instance, they may query the Instance Metadata API directly to identify credentials that grant access to additional resources. Additionally, adversaries may exploit a Server-Side Request Forgery (SSRF) vulnerability in a public facing web proxy that allows them to gain access to the sensitive information via a request to the Instance Metadata API.
The de facto standard across cloud service providers is to host the Instance Metadata API at http[:]//169.254.169.254.
- Tactics
- Credential Access
- Platforms
- IaaS
- Telemetry
-
AWS:VPCFlowLogsAWS:CloudTrailebpf:syscalls
How MITRE says to detect it DET0001
Detect Access to Cloud Instance Metadata API (IaaS)
IaaS Analytic 0001
Detects access attempts to cloud instance metadata endpoints (e.g., 169.254.169.254) from virtual machines or containerized workloads. This includes both direct access and SSRF exploitation patterns.
AWS:VPCFlowLogsOutbound connection to 169.254.169.254 from EC2 workloadAWS:CloudTrailGetInstanceIdentityDocumentebpf:syscallsProcess within container accesses link-local address 169.254.169.254
elastic/detection-rules
17 rules| Detection | Severity | Format |
|---|---|---|
| AWS Bedrock AgentCore Execution Role Used Outside Its Runtime | High | Elastic TOML |
| AWS Bedrock AgentCore Runtime Prompt Targeting Credentials or Instance Metadata | High | Elastic TOML |
| AWS EC2 Instance Console Login via Assumed Role | High | Elastic TOML |
| GKE Pod Exec Cloud Instance Metadata Access | High | Elastic TOML |
| Kubernetes Pod Exec Cloud Instance Metadata Access | High | Elastic TOML |
| AWS EC2 Unauthorized Admin Credential Fetch via Assumed Role | Medium | Elastic TOML |
| AWS EC2 User Data Retrieval for EC2 Instance | Medium | Elastic TOML |
| Azure Event Hub Authorization Rule Created or Updated | Medium | Elastic TOML |
| Cloud Instance Metadata Credential Path HTTP Request | Medium | Elastic TOML |
| Suspicious Instance Metadata Service (IMDS) API Command Line Execution | Medium | Elastic TOML |
+ 7 more from elastic/detection-rules → showing the 10 highest-severity
elastic/protections-artifacts
2 rules · 1 family| Detection | Severity | Format |
|---|---|---|
| Bun Script Attempted to Access IMDS Metadata 2 variants | Undefined | Elastic TOML |
| Bun Script Attempted to Access IMDS Metadata 2 variants | Undefined | Elastic TOML |
falcosecurity/rules
1 rule| Detection | Severity | Format |
|---|---|---|
| Contact EC2 Instance Metadata Service From Container | Low | Falco YAML |
splunk/security_content
1 rule| Detection | Severity | Format |
|---|---|---|
| Cisco Isovalent - Access To Cloud Metadata Service | Undefined | SPL |