Microsoft 365 Global Administrator Role Assigned
Identifies when the Microsoft 365 Global Administrator or Company Administrator role is assigned to a user or service principal. The Global Administrator role has extensive privileges across Entra ID and Microsoft 365 services, making it a high-value target for adversaries seeking persistent access. Successful assignments of this role may indicate potential privilege escalation or unauthorized access attempts, especially if performed by accounts that do not typically manage high-privilege roles.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2022/01/06"
3integration = ["o365"]
4maturity = "production"
5updated_date = "2025/11/08"
6
7[rule]
8author = ["Elastic"]
9description = """
10Identifies when the Microsoft 365 Global Administrator or Company Administrator role is assigned to a user or service
11principal. The Global Administrator role has extensive privileges across Entra ID and Microsoft 365 services, making it
12a high-value target for adversaries seeking persistent access. Successful assignments of this role may indicate
13potential privilege escalation or unauthorized access attempts, especially if performed by accounts that do not
14typically manage high-privilege roles.
15"""
16from = "now-9m"
17index = ["logs-o365.audit-*"]
18language = "kuery"
19license = "Elastic License v2"
20name = "Microsoft 365 Global Administrator Role Assigned"
21note = """## Triage and Analysis
22
23### Investigating Microsoft 365 Global Administrator Role Assigned
24
25The Microsoft 365 Global Administrator role grants comprehensive administrative access across Entra ID and services such as Microsoft 365 Defender, Exchange, SharePoint, and Skype for Business. Adversaries who compromise an account may assign this role to themselves or other users to ensure persistent and privileged access. This rule identifies successful assignments of this role by inspecting audit logs from Azure Active Directory (Entra ID) where the role display name matches "Administrator."
26
27### Possible investigation steps
28
29- Review the `user.id` and `user.name` fields to determine who performed the role assignment. Assess whether this user normally has permissions to modify high-privilege roles.
30- Confirm the `event.action` is `"Add member to role."` and that the `Role_DisplayName.NewValue` is `"Global Administrator"` or a similarly privileged role.
31- Review the `user.target.id` and `user.target.name` fields to identify the user or service principal that received the role.
32- Inspect `o365.audit.ExtendedProperties.additionalDetails` for context on how the action was performed (e.g., via Admin Portal, Graph API).
33- Pivot to sign-in logs for the assigning account to check for recent anomalies such as logins from new geolocations, unrecognized devices, or suspicious IP ranges.
34- Investigate if the account assignment occurred outside of known change windows, during non-business hours, or by a user with no change history.
35- Correlate with other role assignments or directory changes to check for broader role abuse or privilege escalation campaigns.
36
37### False positive analysis
38
39- Role assignments by IT administrators as part of routine maintenance or incident response may appear suspicious in environments without change tracking or ticket correlation.
40- PIM (Privileged Identity Management) activations may temporarily elevate accounts to Global Administrator and then revoke the role afterward.
41- Onboarding processes or internal audits may require temporary elevation to Global Administrator for legitimate users.
42- Automation tools and scripts may trigger this alert if misconfigured to assign Global Administrator privileges during provisioning or sync jobs.
43
44### Response and remediation
45
46- If the assignment is unapproved or suspicious, immediately revoke the Global Administrator role from the assigned user or service principal.
47- Reset credentials and initiate containment steps for the assigning account, especially if compromise is suspected.
48- Enable or verify enforcement of MFA for both assigning and assigned accounts.
49- Review Azure AD activity logs for additional signs of privilege misuse or suspicious directory changes.
50- Notify the appropriate identity and security operations teams to investigate further and begin incident response procedures.
51- Limit the number of Global Administrator accounts and enforce role-based access control (RBAC) using least privilege principles.
52- Consider implementing conditional access policies to limit role assignment actions to specific networks, devices, or user groups.
53"""
54references = [
55 "https://docs.microsoft.com/en-us/azure/active-directory/roles/permissions-reference#global-administrator",
56 "https://learn.microsoft.com/en-us/purview/audit-log-activities",
57 "https://www.blackhat.com/us-24/briefings/schedule/#unoauthorized-a-technique-to-privilege-escalation-to-global-administrator-39231"
58]
59risk_score = 47
60rule_id = "88671231-6626-4e1b-abb7-6e361a171fbb"
61severity = "medium"
62tags = [
63 "Domain: Cloud",
64 "Domain: SaaS",
65 "Domain: Identity",
66 "Data Source: Microsoft 365",
67 "Data Source: Microsoft 365 Audit Logs",
68 "Use Case: Identity and Access Audit",
69 "Tactic: Persistence",
70 "Resources: Investigation Guide",
71]
72timestamp_override = "event.ingested"
73type = "query"
74
75query = '''
76event.dataset:o365.audit
77 and event.code:"AzureActiveDirectory"
78 and event.action:"Add member to role."
79 and event.outcome: "success"
80 and o365.audit.ModifiedProperties.Role_DisplayName.NewValue: (
81 "Global Administrator" or "Company Administrator"
82 )
83 and o365.audit.AzureActiveDirectoryEventType: 1
84 and o365.audit.RecordType: 8
85'''
86
87
88[[rule.threat]]
89framework = "MITRE ATT&CK"
90[[rule.threat.technique]]
91id = "T1098"
92name = "Account Manipulation"
93reference = "https://attack.mitre.org/techniques/T1098/"
94[[rule.threat.technique.subtechnique]]
95id = "T1098.003"
96name = "Additional Cloud Roles"
97reference = "https://attack.mitre.org/techniques/T1098/003/"
98
99
100
101[rule.threat.tactic]
102id = "TA0003"
103name = "Persistence"
104reference = "https://attack.mitre.org/tactics/TA0003/"
Triage and Analysis
Investigating Microsoft 365 Global Administrator Role Assigned
The Microsoft 365 Global Administrator role grants comprehensive administrative access across Entra ID and services such as Microsoft 365 Defender, Exchange, SharePoint, and Skype for Business. Adversaries who compromise an account may assign this role to themselves or other users to ensure persistent and privileged access. This rule identifies successful assignments of this role by inspecting audit logs from Azure Active Directory (Entra ID) where the role display name matches "Administrator."
Possible investigation steps
- Review the
user.idanduser.namefields to determine who performed the role assignment. Assess whether this user normally has permissions to modify high-privilege roles. - Confirm the
event.actionis"Add member to role."and that theRole_DisplayName.NewValueis"Global Administrator"or a similarly privileged role. - Review the
user.target.idanduser.target.namefields to identify the user or service principal that received the role. - Inspect
o365.audit.ExtendedProperties.additionalDetailsfor context on how the action was performed (e.g., via Admin Portal, Graph API). - Pivot to sign-in logs for the assigning account to check for recent anomalies such as logins from new geolocations, unrecognized devices, or suspicious IP ranges.
- Investigate if the account assignment occurred outside of known change windows, during non-business hours, or by a user with no change history.
- Correlate with other role assignments or directory changes to check for broader role abuse or privilege escalation campaigns.
False positive analysis
- Role assignments by IT administrators as part of routine maintenance or incident response may appear suspicious in environments without change tracking or ticket correlation.
- PIM (Privileged Identity Management) activations may temporarily elevate accounts to Global Administrator and then revoke the role afterward.
- Onboarding processes or internal audits may require temporary elevation to Global Administrator for legitimate users.
- Automation tools and scripts may trigger this alert if misconfigured to assign Global Administrator privileges during provisioning or sync jobs.
Response and remediation
- If the assignment is unapproved or suspicious, immediately revoke the Global Administrator role from the assigned user or service principal.
- Reset credentials and initiate containment steps for the assigning account, especially if compromise is suspected.
- Enable or verify enforcement of MFA for both assigning and assigned accounts.
- Review Azure AD activity logs for additional signs of privilege misuse or suspicious directory changes.
- Notify the appropriate identity and security operations teams to investigate further and begin incident response procedures.
- Limit the number of Global Administrator accounts and enforce role-based access control (RBAC) using least privilege principles.
- Consider implementing conditional access policies to limit role assignment actions to specific networks, devices, or user groups.
References
Related rules
- M365 Identity Login from Atypical Travel Location
- M365 Identity Login from Impossible Travel Location
- Multiple Microsoft 365 User Account Lockouts in Short Time Window
- Microsoft 365 OAuth Redirect to Device Registration for User Principal
- Suspicious Microsoft 365 UserLoggedIn via OAuth Code