Cross-source coverage
T1550.001 / ATT&CK
Use Alternate Authentication Material: Application Access Token
From MITRE ATT&CK 19.2
Adversaries may use stolen application access tokens to bypass the typical authentication process and access restricted accounts, information, or services on remote systems. These tokens are typically stolen from users or services and used in lieu of login credentials.
Application access tokens are used to make authorized API requests on behalf of a user or service and are commonly used to access resources in cloud, container-based applications, and software-as-a-service (SaaS).
OAuth is one commonly implemented framework that issues tokens to users for access to systems. These frameworks are used collaboratively to verify the user and determine what actions the user is allowed to perform. Once identity is established, the token allows actions to be authorized, without passing the actual credentials of the user. Therefore, compromise of the token can grant the adversary access to resources of other sites through a malicious application.
For example, with a cloud-based email service, once an OAuth access token is granted to a malicious application, it can potentially gain long-term access to features of the user account if a "refresh" token enabling background access is awarded. With an OAuth access token an adversary can use the user-granted REST API to perform functions such as email searching and contact enumeration.
Compromised access tokens may be used as an initial step in compromising other services. For example, if a token grants access to a victim’s primary email, the adversary may be able to extend access to all other services which the target subscribes by triggering forgotten password routines. In AWS and GCP environments, adversaries can trigger a request for a short-lived access token with the privileges of another user account. The adversary can then use this token to request data or perform actions the original account could not. If permissions for this feature are misconfigured – for example, by allowing all users to request a token for a particular account - an adversary may be able to gain initial access to a Cloud Account or escalate their privileges.
Direct API access through a token negates the effectiveness of a second authentication factor and may be immune to intuitive countermeasures like changing passwords. For example, in AWS environments, an adversary who compromises a user’s AWS API credentials may be able to use the sts:GetFederationToken API call to create a federated user session, which will have the same permissions as the original user but may persist even if the original user credentials are deactivated. Additionally, access abuse over an API channel can be difficult to detect even from the service provider end, as the access can still align well with a legitimate workflow.
- Tactics
- Lateral Movement
- Platforms
- Containers · IaaS · Identity Provider · Office Suite · SaaS
- Telemetry
-
AWS:CloudTrailazure:signinlogsm365:unifiedsaas:googleworkspacesaas:salesforcekubernetes:apiserver
How MITRE says to detect it DET0185
Behavioral Detection Strategy for Use Alternate Authentication Material: Application Access Token (T1550.001)
IaaS Analytic 0526
Use of AWS STS or GCP IAM APIs to request temporary tokens or federation sessions inconsistent with normal account activity, including from unexpected principals or regions.
AWS:CloudTrailAssumeRole, GetFederationToken, GetSessionTokenAWS:CloudTrailsts:GetFederationToken
Identity Provider Analytic 0527
OAuth or SAML access tokens reused across multiple sessions or clients without corresponding MFA or login activity.
azure:signinlogsTokenIssued, RefreshTokenUsedm365:unifiedDelegated permission grants without user login event
SaaS Analytic 0528
Application access tokens used to call APIs (e.g., Google Workspace, Salesforce) without interactive logins, often with unusual scopes or elevated permissions.
saas:googleworkspaceOAuthTokenGranted, APIRequestsaas:salesforceAPI login using access_token without login history
Office Suite Analytic 0529
OAuth token usage for Exchange Online or SharePoint API access without preceding login or from unauthorized clients.
m365:unifiedOAuthTokenIssued, FileAccessed, MailItemsAccessed
Containers Analytic 0530
Compromised service account tokens mounted inside containers and reused for external API calls or lateral movement across services.
kubernetes:apiserverserviceAccount token used in API requests not tied to workload identityAWS:CloudTrailAssumeRoleWithWebIdentity
elastic/detection-rules
39 rules| Detection | Severity | Format |
|---|---|---|
| AWS Credentials Used from GitHub Actions and Non-CI/CD Infrastructure | High | Elastic TOML |
| AWS EC2 Instance Console Login via Assumed Role | High | Elastic TOML |
| AWS First Occurrence of STS GetFederationToken Request by User | High | Elastic TOML |
| AWS Lateral Movement from Kubernetes SA via AssumeRoleWithWebIdentity | High | Elastic TOML |
| AWS STS GetFederationToken with AdministratorAccess in Request | High | Elastic TOML |
| Entra ID AiTM Phishing-Kit Chain Detected | High | Elastic TOML |
| Entra ID Concurrent Sign-in with Suspicious Properties | High | Elastic TOML |
| Entra ID Kali365 Default User-Agent Detected | High | Elastic TOML |
| Entra ID Microsoft Authentication Broker DRS Sign-In from Suspicious ASN | High | Elastic TOML |
| Entra ID Microsoft Authentication Broker Sign-In to Unusual Resource | High | Elastic TOML |
+ 29 more from elastic/detection-rules → showing the 10 highest-severity
panther-labs/panther-analysis
5 rules| Detection | Severity | Format |
|---|---|---|
| Kubernetes Service Account Token Theft from Pod | High | Panther Python |
| AWS Console GetSigninToken Potential Abuse | Medium | Panther Python |
| Azure Device Code Authentication with Broker Client | Medium | Panther Python |
| Azure Microsoft Graph Single Session from Multiple IP Addresses | Medium | Panther Python |
| AWS STS GetSessionToken by IAM User | Low | Panther Python |
SigmaHQ/sigma
4 rules| Detection | Severity | Format |
|---|---|---|
| AWS Console GetSigninToken Potential Abuse | Medium | Sigma |
| AWS Suspicious SAML Activity | Medium | Sigma |
| AWS STS AssumeRole Misuse | Low | Sigma |
| AWS STS GetSessionToken Misuse | Low | Sigma |
chronicle/detection-rules
2 rules| Detection | Severity | Format |
|---|---|---|
| gcp_unauthorized_gke_pod_token_endpoint_usage | Medium | YARA-L |
| entra_id_expired_refresh_token_use | Low | YARA-L |
Azure/Azure-Sentinel
1 rule| Detection | Severity | Format |
|---|---|---|
| Short-window sign-in mismatch between interactive and non-interactive activity | Undefined | KQL |