Azure RBAC Built-In Administrator Roles Assigned
Identifies when a user is assigned a built-in administrator role in Azure RBAC (Role-Based Access Control). These roles provide significant privileges and can be abused by attackers for lateral movement, persistence, or privilege escalation. The privileged built-in administrator roles include Owner, Contributor, User Access Administrator, Azure File Sync Administrator, Reservations Administrator, and Role Based Access Control Administrator.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2025/09/15"
3integration = ["azure"]
4maturity = "production"
5updated_date = "2026/08/26"
6
7[rule]
8author = ["Elastic"]
9description = """
10Identifies when a user is assigned a built-in administrator role in Azure RBAC (Role-Based Access Control). These roles
11provide significant privileges and can be abused by attackers for lateral movement, persistence, or privilege
12escalation. The privileged built-in administrator roles include Owner, Contributor, User Access Administrator, Azure
13File Sync Administrator, Reservations Administrator, and Role Based Access Control Administrator.
14"""
15from = "now-9m"
16index = ["filebeat-*", "logs-azure.activitylogs-*"]
17language = "kuery"
18license = "Elastic License v2"
19name = "Azure RBAC Built-In Administrator Roles Assigned"
20note = """## Triage and analysis
21
22### Investigating Azure RBAC Built-In Administrator Roles Assigned
23
24This rule identifies when a user is assigned a built-in administrator role in Azure RBAC (Role-Based Access Control). These roles provide significant privileges and can be abused by attackers for lateral movement, persistence, or privilege escalation. The privileged built-in administrator roles include Owner, Contributor, User Access Administrator, Azure File Sync Administrator, Reservations Administrator, and Role Based Access Control Administrator. Assignment can be done via the Azure portal, Azure CLI, PowerShell, or through API calls. Monitoring these assignments helps detect potential unauthorized privilege escalations.
25
26#### Privileged Built-In Administrator Roles
27- Contributor: b24988ac-6180-42a0-ab88-20f7382dd24c
28- Owner: 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
29- Azure File Sync Administrator: 92b92042-07d9-4307-87f7-36a593fc5850
30- Reservations Administrator: a8889054-8d42-49c9-bc1c-52486c10e7cd
31- Role Based Access Control Administrator: f58310d9-a9f6-439a-9e8d-f62e7b41a168
32- User Access Administrator: 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9
33
34### Possible investigation steps
35
36- Identify the user who assigned the role and examine their recent activity for any suspicious actions.
37- Review the source IP address and location associated with the role assignment event to assess if it aligns with expected user behavior or if it indicates potential unauthorized access.
38- Check the history of role assignments for the user who was assigned the role to determine if this is a recurring pattern or a one-time event.
39 - Additionally, identify the lifetime of the targeted user account to determine if it is a newly created account or an existing one.
40- Determine if the user assigning the role historically has the necessary permissions to assign such roles and has done so in the past.
41- Investigate any recent changes or activities performed by the newly assigned administrator to identify any suspicious actions or configurations that may have been altered.
42- Correlate with other logs, such as Microsoft Entra ID sign-in logs, to identify any unusual access patterns or behaviors for the user.
43
44### False positive analysis
45
46- Legitimate administrators may assign built-in administrator roles during routine operations, maintenance or as required for onboarding new staff.
47- Azure Kubernetes Service control-plane operations may assign the Contributor role to service principals. Assignments initiated by the Microsoft-owned AzureContainerService application are excluded.
48- Repeated writes for the same role assignment ID by the same initiating principal are suppressed for one hour.
49- Review internal tickets, change logs, or admin activity dashboards for approved operations.
50
51### Response and remediation
52
53- If administrative assignment was not authorized:
54 - Immediately remove the built-in administrator role from the account.
55 - Disable or lock the account and begin credential rotation.
56 - Audit activity performed by the account after elevation, especially changes to role assignments and resource access.
57- If suspicious:
58 - Notify the user and confirm whether they performed the action.
59 - Check for any automation or scripts that could be exploiting unused elevated access paths.
60 - Review conditional access and PIM (Privileged Identity Management) configurations to limit elevation without approval.
61- Strengthen posture:
62 - Require MFA and approval for all privilege escalation actions.
63 - Consider enabling JIT (Just-in-Time) access with expiration.
64"""
65references = [
66 "https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles",
67 "https://orca.security/resources/research-pod/azure-identity-access-management-iam-active-directory-ad/",
68 "https://www.microsoft.com/en-us/security/blog/2025/08/27/storm-0501s-evolving-techniques-lead-to-cloud-based-ransomware/",
69]
70risk_score = 73
71rule_id = "1a1046f4-9257-11f0-9a42-f661ea17fbce"
72severity = "high"
73tags = [
74 "Domain: Cloud",
75 "Domain: Identity",
76 "Data Source: Azure",
77 "Data Source: Azure Activity Logs",
78 "Platform: Azure",
79 "Rule Type: Custom Query (KQL)",
80 "Use Case: Identity and Access Audit",
81 "Tactic: Privilege Escalation",
82 "Tactic: Persistence",
83 "Resources: Investigation Guide",
84]
85timestamp_override = "event.ingested"
86type = "query"
87
88query = '''
89data_stream.dataset: azure.activitylogs and
90 event.action: "MICROSOFT.AUTHORIZATION/ROLEASSIGNMENTS/WRITE" and
91 azure.activitylogs.properties.requestbody.properties.roleDefinitionId:
92 (
93 *18d7d88d-d35e-4fb5-a5c3-7773c20a72d9* or
94 *f58310d9-a9f6-439a-9e8d-f62e7b41a168* or
95 *b24988ac-6180-42a0-ab88-20f7382dd24c* or
96 *8e3af657-a8ff-443c-a75c-2fe8c4bcb635* or
97 *92b92042-07d9-4307-87f7-36a593fc5850* or
98 *a8889054-8d42-49c9-bc1c-52486c10e7cd*
99 ) and not (
100 azure.activitylogs.identity.claims.appid: "7319c514-987d-4e9b-ac3d-d38c4f427f4c" and
101 azure.activitylogs.identity.authorization.evidence.role: "Service Owner role" and
102 azure.activitylogs.identity.authorization.evidence.principal_type: "ServicePrincipal" and
103 azure.activitylogs.properties.requestbody.properties.roleDefinitionId: *b24988ac-6180-42a0-ab88-20f7382dd24c*
104 )
105'''
106
107
108[[rule.threat]]
109framework = "MITRE ATT&CK"
110[[rule.threat.technique]]
111id = "T1098"
112name = "Account Manipulation"
113reference = "https://attack.mitre.org/techniques/T1098/"
114[[rule.threat.technique.subtechnique]]
115id = "T1098.003"
116name = "Additional Cloud Roles"
117reference = "https://attack.mitre.org/techniques/T1098/003/"
118
119
120
121[rule.threat.tactic]
122id = "TA0004"
123name = "Privilege Escalation"
124reference = "https://attack.mitre.org/tactics/TA0004/"
125[[rule.threat]]
126framework = "MITRE ATT&CK"
127[[rule.threat.technique]]
128id = "T1098"
129name = "Account Manipulation"
130reference = "https://attack.mitre.org/techniques/T1098/"
131[[rule.threat.technique.subtechnique]]
132id = "T1098.003"
133name = "Additional Cloud Roles"
134reference = "https://attack.mitre.org/techniques/T1098/003/"
135
136
137
138[rule.threat.tactic]
139id = "TA0003"
140name = "Persistence"
141reference = "https://attack.mitre.org/tactics/TA0003/"
142
143[rule.alert_suppression]
144group_by = [
145 "azure.activitylogs.identity.authorization.evidence.role_assignment_id",
146 "azure.activitylogs.identity.authorization.evidence.principal_id",
147]
148missing_fields_strategy = "doNotSuppress"
149
150[rule.alert_suppression.duration]
151unit = "h"
152value = 1
Triage and analysis
Investigating Azure RBAC Built-In Administrator Roles Assigned
This rule identifies when a user is assigned a built-in administrator role in Azure RBAC (Role-Based Access Control). These roles provide significant privileges and can be abused by attackers for lateral movement, persistence, or privilege escalation. The privileged built-in administrator roles include Owner, Contributor, User Access Administrator, Azure File Sync Administrator, Reservations Administrator, and Role Based Access Control Administrator. Assignment can be done via the Azure portal, Azure CLI, PowerShell, or through API calls. Monitoring these assignments helps detect potential unauthorized privilege escalations.
Privileged Built-In Administrator Roles
- Contributor: b24988ac-6180-42a0-ab88-20f7382dd24c
- Owner: 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
- Azure File Sync Administrator: 92b92042-07d9-4307-87f7-36a593fc5850
- Reservations Administrator: a8889054-8d42-49c9-bc1c-52486c10e7cd
- Role Based Access Control Administrator: f58310d9-a9f6-439a-9e8d-f62e7b41a168
- User Access Administrator: 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9
Possible investigation steps
- Identify the user who assigned the role and examine their recent activity for any suspicious actions.
- Review the source IP address and location associated with the role assignment event to assess if it aligns with expected user behavior or if it indicates potential unauthorized access.
- Check the history of role assignments for the user who was assigned the role to determine if this is a recurring pattern or a one-time event.
- Additionally, identify the lifetime of the targeted user account to determine if it is a newly created account or an existing one.
- Determine if the user assigning the role historically has the necessary permissions to assign such roles and has done so in the past.
- Investigate any recent changes or activities performed by the newly assigned administrator to identify any suspicious actions or configurations that may have been altered.
- Correlate with other logs, such as Microsoft Entra ID sign-in logs, to identify any unusual access patterns or behaviors for the user.
False positive analysis
- Legitimate administrators may assign built-in administrator roles during routine operations, maintenance or as required for onboarding new staff.
- Azure Kubernetes Service control-plane operations may assign the Contributor role to service principals. Assignments initiated by the Microsoft-owned AzureContainerService application are excluded.
- Repeated writes for the same role assignment ID by the same initiating principal are suppressed for one hour.
- Review internal tickets, change logs, or admin activity dashboards for approved operations.
Response and remediation
- If administrative assignment was not authorized:
- Immediately remove the built-in administrator role from the account.
- Disable or lock the account and begin credential rotation.
- Audit activity performed by the account after elevation, especially changes to role assignments and resource access.
- If suspicious:
- Notify the user and confirm whether they performed the action.
- Check for any automation or scripts that could be exploiting unused elevated access paths.
- Review conditional access and PIM (Privileged Identity Management) configurations to limit elevation without approval.
- Strengthen posture:
- Require MFA and approval for all privilege escalation actions.
- Consider enabling JIT (Just-in-Time) access with expiration.
References
Related rules
- Entra ID Federated Identity Credential Issuer Modified
- Entra ID Domain Federation Configuration Change
- Entra ID Device Registration with ROADtools Default OS Build
- Entra ID OAuth Application Redirect URI Modified
- Entra ID Service Principal Federated Credential Authentication by Unusual Client