AWS Security Token Service AWS-sts

9 operations, identified by eventName in the audit log.

eventNameDescription
_catch_allCatch-all entry for AWS-sts rules that match the service but not a specific eventName.
AssumeRoleReturns temporary security credentials for an IAM role that the caller is authorized to assume.
AssumeRoleWithSAMLReturns temporary security credentials for users authenticated via a SAML 2.0 assertion.
AssumeRoleWithWebIdentityReturns temporary security credentials for users authenticated via a web identity token, such as an OIDC provider.
AssumeRootReturns temporary credentials to perform privileged actions on a member account in an AWS organization using the root user context.
GetCallerIdentityReturns details about the IAM user or role whose credentials are used to call the operation.
GetFederationTokenReturns temporary credentials for a federated user, scoped by the caller-supplied policy.
GetSessionTokenReturns temporary credentials for an IAM user, optionally requiring MFA authentication.
UpdateSAMLProviderUpdates the metadata document for an existing SAML provider resource in IAM.

_catch_all: AWS-sts (catch-all)

#
Service
AWS-sts

Description

Catch-all entry for AWS-sts rules that match the service but not a specific eventName.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.

AssumeRole

#
Service
AWS-sts

Description

Returns temporary security credentials for an IAM role that the caller is authorized to assume.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.

Common Indicators #

Field/value combinations most frequently checked by detection rules targeting this event, derived from cross-vendor predicate analysis.

FieldKindValueRulesVendors
Provider_Nameeqsts.amazonaws.com4 ruleselastic
event.outcomeeqsuccess4 ruleselastic
EventTypeeqAssumeRole3 ruleselastic
aws::userIdentity.typeeqAWSService1 ruleelastic, panther
aws::userIdentity.typeeqIAMUser1 ruleelastic, panther, sigma

Detection Rules #

View all rules referencing this event →

Elastic #

  • AWS STS AssumeRole with New MFA Device source low: Identifies when a user has assumed a role using a new MFA device. Users can assume a role to obtain temporary credentials and access AWS resources using the AssumeRole API of AWS Security Token Service (STS). While a new MFA device is not always indicative of malicious behavior it should be verified as adversaries can use this technique for persistence and privilege escalation.↳ also matches AssumeRoleWithSAML, AssumeRoleWithWebIdentity
  • AWS STS Role Assumption by Service source low: Identifies when a service has assumed a role in AWS Security Token Service (STS). Services can assume a role to obtain temporary credentials and access AWS resources. Adversaries can use this technique for credential access and privilege escalation. This is a New Terms rule that identifies when a service assumes a role in AWS Security Token Service (STS) to obtain temporary credentials and access AWS resources. While often legitimate, adversaries may use this technique for unauthorized access, privilege escalation, or lateral movement within an AWS environment.
  • AWS STS Role Assumption by User source low: Identifies when a user or role has assumed a role in AWS Security Token Service (STS). Users can assume a role to obtain temporary credentials and access AWS resources. Adversaries can use this technique for credential access and privilege escalation. This is a New Terms rule that identifies when a user assumes a role in AWS Security Token Service (STS) to obtain temporary credentials and access AWS resources. While often legitimate, adversaries may use this technique for unauthorized access, privilege escalation, or lateral movement within an AWS environment.
Show 1 more (4 total)
  • AWS STS Role Chaining source medium: Identifies role chaining activity. Role chaining is when you use one assumed role to assume a second role through the AWS CLI or API. While this a recognized functionality in AWS, role chaining can be abused for privilege escalation if the subsequent assumed role provides additional privileges. Role chaining can also be used as a persistence mechanism as each AssumeRole action results in a refreshed session token with a 1 hour maximum duration. This is a new terms rule that looks for the first occurance of one role (aws.cloudtrail.user_identity.session_context.session_issuer.arn) assuming another (aws.cloudtrail.resources.arn).

AssumeRoleWithSAML

#
Service
AWS-sts

Description

Returns temporary security credentials for users authenticated via a SAML 2.0 assertion.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.

Common Indicators #

Field/value combinations most frequently checked by detection rules targeting this event, derived from cross-vendor predicate analysis.

FieldKindValueRulesVendors
Provider_Nameeqsts.amazonaws.com1 ruleelastic

Detection Rules #

View all rules referencing this event →

Elastic #

  • AWS STS AssumeRole with New MFA Device source low: Identifies when a user has assumed a role using a new MFA device. Users can assume a role to obtain temporary credentials and access AWS resources using the AssumeRole API of AWS Security Token Service (STS). While a new MFA device is not always indicative of malicious behavior it should be verified as adversaries can use this technique for persistence and privilege escalation.↳ also matches AssumeRole, AssumeRoleWithWebIdentity

AssumeRoleWithWebIdentity

#
Service
AWS-sts

Description

Returns temporary security credentials for users authenticated via a web identity token, such as an OIDC provider.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.

Common Indicators #

Field/value combinations most frequently checked by detection rules targeting this event, derived from cross-vendor predicate analysis.

FieldKindValueRulesVendors
Provider_Nameeqsts.amazonaws.com2 ruleselastic
EventTypeeqAssumeRoleWithWebIdentity1 ruleelastic
source.as.organization.nameis_not_null1 ruleelastic
userstarts_withsystem\:serviceaccount\:1 ruleelastic

Detection Rules #

View all rules referencing this event →

Elastic #

  • AWS AssumeRoleWithWebIdentity from Kubernetes SA and External ASN source high: Detects successful AssumeRoleWithWebIdentity where the caller identity is a Kubernetes service account and the source autonomous system organization is present but not Amazon.com, Inc. EKS workloads that obtain IAM credentials via IAM Roles for Service Accounts (IRSA) normally reach STS from AWS-managed or AWS-associated networks; the same identity from a clearly external ASN can indicate a stolen or misused projected service-account token being exchanged for IAM credentials off-cluster.
  • AWS STS AssumeRole with New MFA Device source low: Identifies when a user has assumed a role using a new MFA device. Users can assume a role to obtain temporary credentials and access AWS resources using the AssumeRole API of AWS Security Token Service (STS). While a new MFA device is not always indicative of malicious behavior it should be verified as adversaries can use this technique for persistence and privilege escalation.↳ also matches AssumeRole, AssumeRoleWithSAML

AssumeRoot

#
Service
AWS-sts

Description

Returns temporary credentials to perform privileged actions on a member account in an AWS organization using the root user context.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.

Common Indicators #

Field/value combinations most frequently checked by detection rules targeting this event, derived from cross-vendor predicate analysis.

FieldKindValueRulesVendors
Provider_Nameeqsts.amazonaws.com1 ruleelastic

Detection Rules #

View all rules referencing this event →

Elastic #

  • AWS STS AssumeRoot by Rare User and Member Account source medium: Identifies when the STS AssumeRoot action is performed by a rare user in AWS. The AssumeRoot action allows users to assume the root member account role, granting elevated but specific permissions based on the task policy specified. Adversaries who have compromised user credentials can use this technique to escalate privileges and gain unauthorized access to AWS resources. This is a New Terms rule that identifies when the STS AssumeRoot action is performed by a user that rarely assumes this role against a specific member account.

GetCallerIdentity

#
Service
AWS-sts

Description

Returns details about the IAM user or role whose credentials are used to call the operation.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.

Common Indicators #

Field/value combinations most frequently checked by detection rules targeting this event, derived from cross-vendor predicate analysis.

FieldKindValueRulesVendors
EventTypeeqGetCallerIdentity2 ruleselastic
Provider_Nameeqsts.amazonaws.com2 ruleselastic
aws::eventNameeqGetCallerIdentity1 rulekusto, panther, sigma
aws::eventSourceeqsts.amazonaws.com1 rulepanther, sigma
aws::userIdentity.typeeqAssumedRole1 ruleelastic, kusto, panther, sigma
source.as.organization.nameis_not_null1 ruleelastic
user.idcontains\:i-1 ruleelastic
userAgentcontainstrufflehog1 rulepanther, sigma

Detection Rules #

View all rules referencing this event →

Sigma #

  • AWS STS GetCallerIdentity Enumeration Via TruffleHog source medium: Detects the use of TruffleHog for AWS credential validation by identifying GetCallerIdentity API calls where the userAgent indicates TruffleHog. Threat actors leverage TruffleHog to enumerate and validate exposed AWS keys. Successful exploitation allows threat actors to confirm the validity of compromised AWS credentials, facilitating further unauthorized access and actions within the AWS environment.

Elastic #

  • AWS STS GetCallerIdentity API Called for the First Time source medium: An adversary with access to a set of compromised credentials may attempt to verify that the credentials are valid and determine what account they are using. This rule looks for the first time an identity has called the STS GetCallerIdentity API, which may be an indicator of compromised credentials. A legitimate user would not need to perform this operation as they should know the account they are using.
  • AWS EC2 Role GetCallerIdentity from New Source AS Organization source medium: Identifies the first time an EC2 instance role session calls AWS STS GetCallerIdentity from a given source autonomous system (AS) organization name within the lookback window. Adversaries who steal instance role credentials often verify them with GetCallerIdentity from infrastructure outside your normal egress paths. Baseline learning on the pairing of identity and source network reduces noise from stable NAT or AWS-classified egress compared to alerting on every call from a non-Amazon ASN.

GetFederationToken

#
Service
AWS-sts

Description

Returns temporary credentials for a federated user, scoped by the caller-supplied policy.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.

Common Indicators #

Field/value combinations most frequently checked by detection rules targeting this event, derived from cross-vendor predicate analysis.

FieldKindValueRulesVendors
EventTypeeqGetFederationToken2 ruleselastic
Provider_Nameeqsts.amazonaws.com2 ruleselastic

Detection Rules #

View all rules referencing this event →

Elastic #

  • AWS First Occurrence of STS GetFederationToken Request by User source medium: Identifies the first occurrence of an AWS Security Token Service (STS) GetFederationToken request made by a user. The GetFederationToken API call allows users to request temporary security credentials to access AWS resources. The maximum expiration period for these tokens is 36 hours and they can be used to create a console signin token even for identities that don't already have one. Adversaries may use this API to obtain temporary credentials for persistence and to bypass IAM API call limitations by gaining console access.
  • AWS STS GetFederationToken with AdministratorAccess in Request source high: Identifies successful calls to AWS STS GetFederationToken where request parameters reference AdministratorAccess. This API returns temporary security credentials for a federated user with permissions bounded by the calling IAM user and any inline session policy passed in the request. Supplying or referencing the AWS managed AdministratorAccess policy (or an equivalent string in the policy payload) can grant broadly privileged temporary credentials and may indicate privilege abuse or dangerous automation.

GetSessionToken

#
Service
AWS-sts

Description

Returns temporary credentials for an IAM user, optionally requiring MFA authentication.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.

Common Indicators #

Field/value combinations most frequently checked by detection rules targeting this event, derived from cross-vendor predicate analysis.

FieldKindValueRulesVendors
Provider_Nameeqsts.amazonaws.com1 ruleelastic
aws::eventNameeqGetSessionToken1 rulepanther, sigma
aws::eventSourceeqsts.amazonaws.com1 rulepanther, sigma
aws::userIdentity.typeeqIAMUser1 ruleelastic, panther, sigma

Detection Rules #

View all rules referencing this event →

Sigma #

  • AWS STS GetSessionToken Misuse source low: Identifies the suspicious use of GetSessionToken. Tokens could be created and used by attackers to move laterally and escalate privileges.

Elastic #

  • AWS STS GetSessionToken Usage source low: Identifies the use of GetSessionToken API calls by IAM users or Root Account. While this is a common and legitimate operation used to obtain temporary credentials, it also provides adversaries with a method to generate short-lived tokens for stealthy activity. Attackers who compromise IAM user access keys may call GetSessionToken to create temporary credentials, which they can then use to move laterally, escalate privileges, or persist after key rotation. This rule is intended as a BBR to establish patterns of typical STS usage and support correlation with higher-fidelity detections.

YARA-L #

UpdateSAMLProvider

#
Service
AWS-sts

Description

Updates the metadata document for an existing SAML provider resource in IAM.

Fields #

NameDescription
eventNameThe name of the API action that was called.
eventSourceThe AWS service endpoint that received the request (e.g. iam.amazonaws.com).
eventTypeCloudTrail event category: AwsApiCall, AwsConsoleSignIn, AwsConsoleAction, AwsServiceEvent, or AwsVpceEvents.
userIdentityThe IAM entity that made the request (type, principalId, arn, accountId, sessionContext).
sourceIPAddressIP address of the caller, or the AWS service principal for service-initiated calls.
awsRegionAWS Region the request was made to.
requestParametersParameters sent with the request. Shape is action-specific; null when none.
responseElementsResponse elements. Shape is action-specific; null for reads or when absent.
errorCodeAWS service error code when the request failed. Absent on success.
errorMessageDescription of the error when errorCode is present.