Microsoft 365 admin role member removed

Severity mediumCloud & SaaSSingle eventstablecloud.identity.m365_admin_role_member_removed · v1.0.0

A member was removed from a directory role.

What it detects

A member was removed from a directory role.

The pack already alerts when someone is ADDED to a privileged role; removal is the other half and is not merely its opposite. Stripping the legitimate administrators is how an intruder who has taken over one admin account keeps the others from responding — it is a defensive move against the incident responder, and it lands during the response rather than before it.

Deliberately medium and single-event. Role membership legitimately changes during offboarding and access reviews, so this is a lead to correlate — most valuable when the actor or the target already appears in another finding — rather than a standalone verdict.

MITRE ATT&CK mapping

  • T1531Account Access Removal· Impact
  • T1098Account Manipulation· Persistence

False positives and triage

This is the noisiest rule in the admin-activity set, by design — routine offboarding, access reviews, and role rotations all produce it, so in a healthy tenant most hits are benign and it should be read alongside other findings rather than alone. Escalate on: removal of an account that is not leaving, removal by an actor who does not normally administer roles, removal shortly after a suspicious sign-in by the SAME actor, or several removals clustered in minutes (an access review is paced by a human reading a list). Whether the removed member was a Global Administrator matters more than the count.

The rule

Declarative YAML read by the detection engine — data, never executed. Confidence 50%. Source: rules/cloud/m365_admin_role_member_removed.yaml, licensed under the Apache License 2.0.

id: cloud.identity.m365_admin_role_member_removed
version: 1.0.0
status: stable
severity: medium
confidence: 0.5
platforms: [application]
mitre_techniques: [T1531, T1098]
description: |
  A member was removed from a directory role.

  The pack already alerts when someone is ADDED to a privileged role; removal is
  the other half and is not merely its opposite. Stripping the legitimate
  administrators is how an intruder who has taken over one admin account keeps the
  others from responding — it is a defensive move against the incident responder,
  and it lands during the response rather than before it.

  Deliberately medium and single-event. Role membership legitimately changes during
  offboarding and access reviews, so this is a lead to correlate — most valuable
  when the actor or the target already appears in another finding — rather than a
  standalone verdict.
match:
  provider: Office365
  event_action_any:
    - "Remove member from role."
correlation_keys: [user_name, target_user_name]
false_positive_guidance: |
  This is the noisiest rule in the admin-activity set, by design — routine
  offboarding, access reviews, and role rotations all produce it, so in a healthy
  tenant most hits are benign and it should be read alongside other findings rather
  than alone. Escalate on: removal of an account that is not leaving, removal by an
  actor who does not normally administer roles, removal shortly after a suspicious
  sign-in by the SAME actor, or several removals clustered in minutes (an access
  review is paced by a human reading a list). Whether the removed member was a
  Global Administrator matters more than the count.

Related detections

Run this rule on your own logs — offline

KIROSEC runs this rule and the rest of the library over Windows, Linux, macOS and cloud audit logs on the analyst's own machine. Every alert links to the events that raised it, and nothing leaves the device.

Browse all detections