T1078.004 Cloud Accounts
Adversaries may obtain and abuse credentials of a cloud account as a means of gaining Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Cloud accounts are those created and configured by an organization for use by users, remote support, services, or for administration of resources within a cloud service provider or SaaS application. In some cases, cloud accounts may be federated with traditional identity management systems, such as Windows Active Directory.
Compromised credentials for cloud accounts can be used to harvest sensitive data from online storage accounts and databases. Access to cloud accounts can also be abused to gain Initial Access to a network by abusing a Trusted Relationship. Similar to Domain Accounts, compromise of federated cloud accounts may allow adversaries to more easily move laterally within an environment.
Once a cloud account is compromised, an adversary may perform Account Manipulation - for example, by adding Additional Cloud Roles - to maintain persistence and potentially escalate their privileges.
||T1078.001, T1078.002, T1078.003, T1078.004
||TA0005, TA0003, TA0004, TA0001
||Azure AD, Google Workspace, IaaS, Office 365, SaaS
||13 March 2020
||21 March 2023
||APT28 has used compromised Office 365 service accounts with Global Administrator privileges to collect email from user inboxes.
||APT29 has gained access to a global administrator account in Azure AD.
||APT33 has used compromised Office 365 accounts in tandem with Ruler in an attempt to gain control of endpoints.
||Ke3chang has used compromised credentials to sign into victims’ Microsoft 365 accounts.
||LAPSUS$ has used compromised credentials to access cloud assets within a target organization.
||Peirates can use stolen service account tokens to perform its operations.
||ROADTools leverages valid cloud credentials to perform enumeration operations using the internal Azure AD Graph API.
||During the SolarWinds Compromise, APT29 used a compromised O365 administrator account to create a new Service Principal.
||Account Use Policies
||Use conditional access policies to block logins from non-compliant devices or from outside defined organization IP ranges.
||Active Directory Configuration
||Disable legacy authentication, which does not support MFA, and require the use of modern authentication protocols instead.
||Use multi-factor authentication for cloud accounts, especially privileged accounts. This can be implemented in a variety of forms (e.g. hardware, virtual, SMS), and can also be audited using administrative reporting features.
||Ensure that cloud accounts, particularly privileged accounts, have complex, unique passwords across all systems on the network. Passwords and access keys should be rotated regularly. This limits the amount of time credentials can be used to access resources if a credential is compromised without your knowledge. Cloud service providers may track access key age to help audit and identify keys that may need to be rotated.
||Privileged Account Management
||Review privileged cloud account permission levels routinely to look for those that could allow an adversary to gain wide access, such as Global Administrator and Privileged Role Administrator in Azure AD. These reviews should also check if new privileged cloud accounts have been created that were not authorized. For example, in Azure AD environments configure alerts to notify when accounts have gone many days without using privileged roles, as these roles may be able to be removed. Consider using temporary, just-in-time (JIT) privileged access to Azure AD resources rather than permanently assigning privileged roles.
||User Account Management
||Periodically review user accounts and remove those that are inactive or unnecessary. Limit the ability for user accounts to create additional accounts.
||Applications may send push notifications to verify a login as a form of multi-factor authentication (MFA). Train users to only accept valid push notifications and to report suspicious push notifications.