Cross-source coverage
T1098.003 / ATT&CK
Account Manipulation: Additional Cloud Roles
91 rules across 7 sources.
1 deprecated hidden · include
From MITRE ATT&CK 19.2
An adversary may add additional roles or permissions to an adversary-controlled cloud account to maintain persistent access to a tenant. For example, adversaries may update IAM policies in cloud-based environments or add a new global administrator in Office 365 environments. With sufficient permissions, a compromised account can gain almost unlimited access to data and settings (including the ability to reset the passwords of other admins).
This account modification may immediately follow Create Account or other malicious account activity. Adversaries may also modify existing Valid Accounts that they have compromised. This could lead to privilege escalation, particularly if the roles added allow for lateral movement to additional accounts.
For example, in AWS environments, an adversary with appropriate permissions may be able to use the CreatePolicyVersion API to define a new version of an IAM policy or the AttachUserPolicy API to attach an IAM policy with additional or distinct permissions to a compromised user account.
In some cases, adversaries may add roles to adversary-controlled accounts outside the victim cloud tenant. This allows these external accounts to perform actions inside the victim tenant without requiring the adversary to Create Account or modify a victim-owned account.
- Tactics
- Persistence · Privilege Escalation
- Platforms
- IaaS · Identity Provider · Office Suite · SaaS
- Telemetry
-
AWS:CloudTrailm365:auditm365:unified
How MITRE says to detect it DET0277
Detection Strategy for Role Addition to Cloud Accounts
IaaS Analytic 0771
Detection of new IAM roles or policies attached to a user/service in AWS/GCP/Azure outside normal patterns or hours, often following account compromise.
AWS:CloudTrailAttachUserPolicy, CreatePolicyVersion, PutRolePolicy
Identity Provider Analytic 0772
Behavioral chain of a user being granted elevated privileges or roles in Entra ID or Okta following suspicious login or account creation activity.
m365:auditAdd member to role, Add app role assignment
Office Suite Analytic 0773
Detection of new admin or role assignment actions within Microsoft 365/O365 environments to elevate access for persistence or lateral movement.
m365:unifiedAdd member to role, Set-Mailbox
elastic/detection-rules
29 rules| Detection | Severity | Format |
|---|---|---|
| AWS IAM AdministratorAccess Policy Attached to User | High | Elastic TOML |
| AWS IAM Roles Anywhere Profile Creation | High | Elastic TOML |
| AWS Sensitive IAM Operations Performed via CloudShell | High | Elastic TOML |
| AWS STS AssumeRoot by Rare User and Member Account | High | Elastic TOML |
| Azure RBAC Built-In Administrator Roles Assigned | High | Elastic TOML |
| Entra ID Elevated Access to User Access Administrator | High | Elastic TOML |
| Entra ID Global Administrator Role Assigned | High | Elastic TOML |
| Entra ID Global Administrator Role Assigned (PIM User) | High | Elastic TOML |
| GCP IAM Custom Role Creation | High | Elastic TOML |
| Google Workspace Admin Role Assigned to a User or Group | High | Elastic TOML |
+ 19 more from elastic/detection-rules → showing the 10 highest-severity
splunk/security_content
19 rules| Detection | Severity | Format |
|---|---|---|
| Azure AD Admin Consent Bypassed by Service Principal | Undefined | SPL |
| Azure AD Application Administrator Role Assigned | Undefined | SPL |
| Azure AD FullAccessAsApp Permission Assigned | Undefined | SPL |
| Azure AD Global Administrator Role Assigned | Undefined | SPL |
| Azure AD PIM Role Assigned | Undefined | SPL |
| Azure AD PIM Role Assignment Activated | Undefined | SPL |
| Azure AD Privileged Role Assigned | Undefined | SPL |
| Azure AD Privileged Role Assigned to Service Principal | Undefined | SPL |
| Azure AD Service Principal Privilege Escalation | Undefined | SPL |
| Azure AD Tenant Wide Admin Consent Granted | Undefined | SPL |
+ 9 more from splunk/security_content → showing the 10 highest-severity
panther-labs/panther-analysis
11 rules| Detection | Severity | Format |
|---|---|---|
| Anthropic Primary Owner Transferred | High | Panther Python |
| Azure User Elevated to User Access Administrator Role | High | Panther Python |
| Crowdstrike New Admin User Created | High | Panther Python |
| GCP Inbound SSO Profile Created | High | Panther Python |
| GCP Workforce Pool Created or Updated | High | Panther Python |
| GCP Workload Identity Pool Created or Updated | High | Panther Python |
| OpenAI Admin Role Assignment | High | Panther Python |
| Slack User Privilege Escalation | High | Panther Python |
| Azure Privileged or Elevated Role Assignment | Medium | Panther Python |
| Crowdstrike Admin Role Assigned | Medium | Panther Python |
+ 1 more from panther-labs/panther-analysis → showing the 10 highest-severity
Azure/Azure-Sentinel
10 rules| Detection | Severity | Format |
|---|---|---|
| Bulk role assignments performed by the same actor in a short window | Undefined | KQL |
| Entra ID account performs privileged operation shortly after admin password reset | Undefined | KQL |
| Guest account initiating privileged Entra ID operation | Undefined | KQL |
| Guest or external account added to a privileged Entra ID role | Undefined | KQL |
| High-privilege application role assigned to service principal | Undefined | KQL |
| Member or owner added to a role-assignable group within 24 hours of its creation | Undefined | KQL |
| New service principal granted admin consent within one hour of creation | Undefined | KQL |
| Privileged directory role assigned outside PIM workflow | Undefined | KQL |
| Privileged role assigned to newly created account | Undefined | KQL |
| Role-assignable group created | Undefined | KQL |
chronicle/detection-rules
9 rules| Detection | Severity | Format |
|---|---|---|
| entra_id_recently_created_user_assigned_entra_id_roles | High | YARA-L |
| google_workspace_admin_role_assignment | High | YARA-L |
| google_workspace_custom_admin_role_created | High | YARA-L |
| google_workspace_user_ou_changed | High | YARA-L |
| entra_id_add_user_outside_pim | Medium | YARA-L |
| entra_id_add_user_to_admin_role | Medium | YARA-L |
| o365_add_user_to_admin_role | Medium | YARA-L |
| o365_recently_created_entra_id_user_assigned_roles | Medium | YARA-L |
| gcp_admin_privileged_roles_added_to_service_accounts | Low | YARA-L |
SigmaHQ/sigma
7 rules| Detection | Severity | Format |
|---|---|---|
| App Granted Privileged Delegated Or App Permissions | High | Sigma |
| App Assigned To Azure RBAC/Microsoft Entra Role | Medium | Sigma |
| Github Outside Collaborator Detected | Medium | Sigma |
| Google Workspace Application Access Level Modified | Medium | Sigma |
| Granting Of Permissions To An Account | Medium | Sigma |
| Okta Admin Role Assigned to an User or Group | Medium | Sigma |
| User Added to an Administrator's Azure AD Role | Medium | Sigma |