<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Eks — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/eks/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 01 Jun 2026 10:09:54 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/eks/feed.xml" rel="self" type="application/rss+xml"/><item><title>AWS AssumeRoleWithWebIdentity from Kubernetes SA and External ASN</title><link>https://feed.craftedsignal.io/briefs/2026-06-aws-assume-role-external-asn/</link><pubDate>Mon, 01 Jun 2026 10:09:54 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-06-aws-assume-role-external-asn/</guid><description>Detects successful AWS AssumeRoleWithWebIdentity where the caller identity is a Kubernetes service account and the source autonomous system organization is not Amazon.com, Inc., potentially indicating a stolen or misused service-account token being used off-cluster.</description><content:encoded><![CDATA[<p>This detection identifies potentially malicious activity related to AWS IAM Roles for Service Accounts (IRSA) in EKS. It focuses on instances where a Kubernetes service account successfully assumes an IAM role using <code>AssumeRoleWithWebIdentity</code>, but the request originates from an autonomous system organization that is not <code>Amazon.com, Inc.</code>. This scenario suggests that a service account token might have been compromised and is being used from outside the expected AWS-managed or associated network. This can occur due to exfiltration of the JWT token, misrouted network traffic, or use of unauthorized operator tooling. The rule aims to detect initial access attempts via misuse of valid cloud accounts, specifically Kubernetes service accounts used to assume IAM roles.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A Kubernetes service account is created within an EKS cluster.</li>
<li>The service account is configured with an IAM role through IRSA, establishing a trust relationship.</li>
<li>An attacker gains access to the service account&rsquo;s projected token, potentially through a vulnerability within the cluster or compromised credentials.</li>
<li>The attacker uses the stolen service account token to call the AWS STS <code>AssumeRoleWithWebIdentity</code> API.</li>
<li>The <code>AssumeRoleWithWebIdentity</code> request originates from an external network, identified by a source ASN that is not associated with Amazon.</li>
<li>AWS STS validates the token and, due to the valid trust relationship, grants temporary IAM credentials.</li>
<li>The attacker uses the temporary IAM credentials to access AWS resources, potentially leading to data exfiltration or further lateral movement within the AWS environment.</li>
<li>The attacker attempts to compromise other workloads within the AWS account or pivot to other cloud environments.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can lead to unauthorized access to AWS resources, data exfiltration, and further compromise of the cloud environment. The impact includes potential data breaches, disruption of services, and financial losses due to unauthorized resource usage. Detecting this activity is crucial as it signifies a breach of trust and a potential compromise of the Kubernetes service account and associated IAM role. A successful attack can compromise critical AWS infrastructure and data.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the following Sigma rules to your SIEM to detect suspicious <code>AssumeRoleWithWebIdentity</code> activity from external ASNs. Tune the rules based on your environment&rsquo;s known egress paths and approved ASNs.</li>
<li>Review and harden the trust policies associated with IAM roles used by Kubernetes service accounts to restrict access based on expected OIDC <code>sub</code> and <code>aud</code> claims, as described in the AWS documentation (<a href="https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html">https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html</a>).</li>
<li>Investigate any alerts generated by the Sigma rules, focusing on validating the source IP, ASN organization, and Kubernetes service account associated with the <code>AssumeRoleWithWebIdentity</code> request, as per the triage steps in the rule documentation.</li>
<li>Monitor AWS CloudTrail logs for <code>AssumeRoleWithWebIdentity</code> events with <code>event.outcome:success</code> and unusual <code>source.ip</code> addresses.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>aws</category><category>cloudtrail</category><category>iam</category><category>eks</category><category>irsa</category><category>initial-access</category></item></channel></rss>