AWS Lateral Movement from Kubernetes SA via AssumeRoleWithWebIdentity
Detects when credentials issued through `AssumeRoleWithWebIdentity` for a Kubernetes service account identity are later used for several distinct AWS control-plane actions on the same session access key. Workloads…
Description
Detects when credentials issued through `AssumeRoleWithWebIdentity` for a Kubernetes service account identity are later used for several distinct AWS control-plane actions on the same session access key. Workloads that use EKS IAM Roles for Service Accounts routinely exchange a projected service-account token for short-lived IAM credentials; this rule highlights sessions where that exchange is followed by a spread of sensitive APIs—reconnaissance, secrets and parameter access, IAM changes, or compute creation—beyond what routine pod traffic usually shows. High-volume S3 object reads and writes are excluded from the correlation set to reduce noise from normal data-plane work.
Detection logic
Its licence does not clear it for publishing here
Sunturai publishes a detection's own text where the licence it arrived under has been reviewed and permits it, and Elastic License 2.0 has not. The query as its source wrote it, its canonical form and the hash that pins this revision are in the workspace record.
Detection requirements
- Platform
- ContainersESXiIaaSIdentity ProviderLinuxmacOSOffice SuiteSaaSWindows
The rule states no platform. This is derived from the 4 ATT&CK techniques it maps to.
Known benign triggers
- In-cluster automation may produce the same pattern: validate `Esql.user_name_values`, workload ownership, and whether `source.ip` / `source.as.organization.name` match expected egress before tuning or allowlisting.
MITRE ATT&CK mappings
0 exclusive techniques.This is coverage no other published rule has; it is not this rule's total technique count.
References
| Reference | Cited by |
|---|---|
| docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html | 2 |
| docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html | 2 |
From the source
- At source
- Open at source
- Upstream identifier
- a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7
- Tagged by the source as
- Data Source: Amazon Web ServicesData Source: AWSData Source: AWS CloudTrailData Source: AWS IAMData Source: AWS STSDomain: CloudNoise: HighPerformance: FastPlatform: AWSProfile: AggressiveResources: Investigation GuideRule Type: ES|QLService: AWS IAMService: AWS STSTactic: Credential AccessTactic: DiscoveryTactic: Lateral MovementUse Case: Threat Detection
Licence
- Published under
- Elastic License 2.0Read the licence
- Attribution
- Required
Authorship
- Written by
- Published
- Sep 20, 2026
- Version
- 4