MITRE ATT&CKsub-technique
T1098.001 Additional Cloud Credentials
- Domain
- enterprise
- Tactics
- Persistence, Privilege Escalation
- Platforms
- IaaS, Identity Provider, SaaS
- Version
- 2.8
- Created
- 2020-01-19
Description
Adversaries may add adversary-controlled credentials to a cloud account to maintain persistent access to victim accounts and instances within the environment.
For example, adversaries may add credentials for Service Principals and Applications in addition to existing legitimate credentials in Azure / Entra ID. These credentials include both x509 keys and passwords. With sufficient permissions, there are a variety of ways to add credentials including the Azure Portal, Azure command line interface, and Azure or Az PowerShell modules.
In infrastructure-as-a-service (IaaS) environments, after gaining access through Cloud Accounts, adversaries may generate or import their own SSH keys using either the CreateKeyPair or ImportKeyPair API in AWS or the gcloud compute os-login ssh-keys add command in GCP. This allows persistent access to instances within the cloud environment without further usage of the compromised cloud accounts.
Adversaries may also use the CreateAccessKey API in AWS or the gcloud iam service-accounts keys create command in GCP to add access keys to an account. Alternatively, they may use the CreateLoginProfile API in AWS to add a password that can be used to log into the AWS Management Console for Cloud Service Dashboard. If the target account has different permissions from the requesting account, the adversary may also be able to escalate their privileges in the environment (i.e. Cloud Accounts). For example, in Entra ID environments, an adversary with the Application Administrator role can add a new set of credentials to their application's service principal. In doing so the adversary would be able to access the service principal’s roles and permissions, which may be different from those of the Application Administrator.
In AWS environments, adversaries with the appropriate permissions may also use the `sts:GetFederationToken` API call to create a temporary set of credentials to Forge Web Credentials tied to the permissions of the original user account. These temporary credentials may remain valid for the duration of their lifetime even if the original account’s API credentials are deactivated.
In Entra ID environments with the app password feature enabled, adversaries may be able to add an app password to a user account. As app passwords are intended to be used with legacy devices that do not support multi-factor authentication (MFA), adding an app password can allow an adversary to bypass MFA requirements. Additionally, app passwords may remain valid even if the user’s primary password is reset.
Related
Subtechnique of · MITRE ATT&CK (1)
- T1098 Account Manipulation technique
Referenced by MITRE ATT&CK · mitigates (5)
Referenced by MITRE ATT&CK · uses (4)
Referenced by Compliance · mitigates (18)
- CIS-16.8 Separate Production and Non-Production Systems CIS Safeguard v8.1
- CIS-6.5 Require MFA for Administrative Access CIS Safeguard v8.1
- CIS-6.8 Define and Maintain Role-Based Access Control CIS Safeguard v8.1
- NIST-AC-2 Account Management NIST 800-53 control
- NIST-AC-20 Use of External Systems NIST 800-53 control
- NIST-AC-3 Access Enforcement NIST 800-53 control
- NIST-AC-4 Information Flow Enforcement NIST 800-53 control
- NIST-AC-5 Separation of Duties NIST 800-53 control
- NIST-AC-6 Least Privilege NIST 800-53 control
- NIST-CM-5 Access Restrictions for Change NIST 800-53 control
- NIST-CM-6 Configuration Settings NIST 800-53 control
- NIST-CM-7 Least Functionality NIST 800-53 control
- NIST-IA-2 Identification and Authentication (Organizational Users) NIST 800-53 control
- NIST-IA-5 Authenticator Management NIST 800-53 control
- NIST-SC-46 Cross Domain Policy Enforcement NIST 800-53 control
- NIST-SC-7 Boundary Protection NIST 800-53 control
- NIST-SI-4 System Monitoring NIST 800-53 control
- NIST-SI-7 Software, Firmware, and Information Integrity NIST 800-53 control
References
- https://www.crowdstrike.com/blog/how-adversaries-persist-with-aws-user-federation/ Crowdstrike AWS User Federation Persistence
- https://expel.io/blog/finding-evil-in-aws/ Expel IO Evil in AWS
- https://posts.specterops.io/azure-privilege-escalation-via-service-principal-abuse-210ae2be2a5 SpecterOps Azure Privilege Escalation
- https://nedinthecloud.com/2019/07/16/demystifying-azure-ad-service-principals/ Demystifying Azure AD Service Principals
- https://www.lacework.com/blog/detecting-ai-resource-hijacking-with-composite-alerts Lacework AI Resource Hijacking 2024
- https://cloud.google.com/sdk/gcloud/reference/compute/os-login/ssh-keys/add GCP SSH Key Add
- https://permiso.io/blog/lucr-3-scattered-spider-getting-saas-y-in-the-cloud Permiso Scattered Spider 2023
- https://www.youtube.com/watch?v=wQ1CuAPnrLM&feature=youtu.be&t=2815 Blue Cloud of Death Video
- https://speakerdeck.com/tweekfawkes/blue-cloud-of-death-red-teaming-azure-1 Blue Cloud of Death
- https://learn.microsoft.com/en-us/entra/identity/authentication/howto-mfa-app-passwords Microsoft Entra ID App Passwords
- https://msrc-blog.microsoft.com/2020/12/13/customer-guidance-on-recent-nation-state-cyber-attacks/ Microsoft SolarWinds Customer Guidance
- https://cloud.google.com/blog/topics/threat-intelligence/untangling-iran-apt42-operations Mandiant APT42-untangling
- https://expel.io/blog/behind-the-scenes-expel-soc-alert-aws/ Expel Behind the Scenes
- https://sysdig.com/blog/scarleteel-2-0/ Sysdig ScarletEel 2.0
- https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/ Rhino Security Labs AWS Privilege Escalation