Detection rules › Splunk
Windows AD add Self to Group
This analytic detects instances where a user adds themselves to an Active Directory (AD) group. This activity is a common indicator of privilege escalation, where a user attempts to gain unauthorized access to higher privileges or sensitive resources. By monitoring AD logs, this detection identifies such suspicious behavior, which could be part of a larger attack strategy aimed at compromising critical systems and data.
Known false positives
- No false positives have been identified at this time.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Privilege Escalation |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 4728: A member was added to a security-enabled global group. |
Rule body
name: Windows AD add Self to Group
id: 065f2701-b7ea-42f5-9ec4-fbc2261165f9
version: 11
creation_date: '2024-07-01'
modification_date: '2026-06-01'
author: Dean Luxton
status: production
type: TTP
description: This analytic detects instances where a user adds themselves to an Active Directory (AD) group. This activity is a common indicator of privilege escalation, where a user attempts to gain unauthorized access to higher privileges or sensitive resources. By monitoring AD logs, this detection identifies such suspicious behavior, which could be part of a larger attack strategy aimed at compromising critical systems and data.
data_source:
- Windows Event Log Security 4728
search: |-
`wineventlog_security` EventCode IN (4728)
| where lower(user)=lower(src_user)
| stats min(_time) as _time dc(user) as usercount, values(user) as user values(user_category) as user_category values(src_user_category) as src_user_category values(dvc) as dvc
BY signature, Group_Name, src_user,
dest
| `windows_ad_add_self_to_group_filter`
how_to_implement: This analytic requires eventCode 4728 to be ingested.
known_false_positives: No false positives have been identified at this time.
references: []
finding:
title: $user$ added themselves to AD Group $Group_Name$
entity:
field: user
type: user
score: 50
analytic_story:
- Sneaky Active Directory Persistence Tricks
- Medusa Ransomware
- Active Directory Privilege Escalation
asset_type: Endpoint
mitre_attack_id:
- T1098
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
category: endpoint
security_domain: audit
Stages and Predicates
Stage 1: search
`wineventlog_security` EventCode IN (4728)
Stage 2: where
| where lower(user)=lower(src_user)
Stage 3: stats
| stats min(_time) as _time dc(user) as usercount, values(user) as user values(user_category) as user_category values(src_user_category) as src_user_category values(dvc) as dvc
BY signature, Group_Name, src_user,
dest
Stage 4: search
| `windows_ad_add_self_to_group_filter`
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
EventCode | in |
| field:"EventID" kind:in value:"4728" |