Detection rules › Splunk

Windows AD Privileged Group Modification

Status
production
Severity
medium
Group by
Group_Name, dest, signature, user
Author
Dean Luxton
Source
github.com/splunk/security_content

This detection identifies when users are added to privileged Active Directory groups by leveraging the Windows Security Event Code 4728 along with a lookup of privileged AD groups provided by Splunk Enterprise Security. Attackers often add user accounts to privileged AD groups to escalate privileges or maintain persistence within an Active Directory environment. Monitoring for modifications to privileged groups can help identify potential security breaches and unauthorized access attempts.

Known false positives

  • No false positives have been identified at this time.

MITRE ATT&CK coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry coverage

Rule body

name: Windows AD Privileged Group Modification
id: 187bf937-c436-4c65-bbcb-7539ffe02da1
version: 11
creation_date: '2024-07-01'
modification_date: '2026-05-13'
author: Dean Luxton
status: production
type: TTP
description: |
    This detection identifies when users are added to privileged Active Directory
    groups by leveraging the Windows Security Event Code 4728 along with a lookup
    of privileged AD groups provided by Splunk Enterprise Security.
    Attackers often add user accounts to privileged AD groups to escalate privileges
    or maintain persistence within an Active Directory environment.
    Monitoring for modifications to privileged groups can help identify potential security breaches
    and unauthorized access attempts.
data_source:
    - Windows Event Log Security 4728
search: |-
    `wineventlog_security` EventCode IN (4728)
      | 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
      | lookup admon_groups_def  cn as Group_Name OUTPUT category
      | where category="privileged"
      | `windows_ad_privileged_group_modification_filter`
how_to_implement: This analytic requires eventCode 4728 to be ingested along with the admon_groups_def lookup being configured to include a list of AD groups along with a category to identify privileged groups. See splunkbase app listed in the references for further details.
known_false_positives: No false positives have been identified at this time.
references:
    - https://splunkbase.splunk.com/app/6853
finding:
    title: $user$ was added to privileged AD Group $Group_Name$ by $src_user$
    entity:
        field: user
        type: user
        score: 50
analytic_story:
    - Active Directory Privilege Escalation
    - Sneaky Active Directory Persistence Tricks
asset_type: Endpoint
mitre_attack_id:
    - T1098
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: identity

Stages and Predicates

Stage 1: search

`wineventlog_security` EventCode IN (4728)

Stage 2: 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 3: lookup

| lookup admon_groups_def  cn as Group_Name OUTPUT category
Lookup table
admon_groups_def
Key field
cn as Group_Name
Output columns
['category', 'category']

Stage 4: where

| where category="privileged"

Stage 5: search

| `windows_ad_privileged_group_modification_filter`

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventCodein
  • 4728 corpus 4 (splunk 3, elastic 1)
field:"EventID" kind:in value:"4728"
categoryeq
  • "privileged"
field:"category" kind:eq