Techniques
Sample rules
AWS Cognito Unauthenticated Identity Pool Credentials Issued
- source: elastic
- technicques:
- T1078
- T1552
Description
Identifies AWS CloudTrail data events where an unauthenticated identity successfully retrieves temporary AWS credentials from a Cognito Identity Pool via GetCredentialsForIdentity. Cognito Identity Pools can be configured to allow unauthenticated (guest) access, intended for scenarios like anonymous app analytics, but a pool that grants those anonymous identities meaningful IAM permissions becomes a public, unauthenticated path to real AWS credentials. Adversaries who discover an identity pool ID (often embedded in mobile app binaries, web app JavaScript, or public source repositories) can call GetId followed by GetCredentialsForIdentity with no login token at all to obtain temporary credentials, then use them to access whatever the pool’s unauthenticated role permits. This is a New Terms rule that limits alerting to identity pools that have not been observed issuing credentials to an unauthenticated caller before, since some applications intentionally and continuously use guest access as part of normal operation.
Detection logic
data_stream.dataset: "aws.cloudtrail"
and event.provider: "cognito-identity.amazonaws.com"
and event.action: "GetCredentialsForIdentity"
and event.outcome: "success"
and aws.cloudtrail.user_identity.type: "Unknown"