Detection rules › Sigma

Massive SAM users/groups enumeration (native)

Status
experimental
Severity
informational
Time window
15m
Log source
product windows, service security
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker attempts to enumerate sensitive domain users/groups settings and membership. Correlate TargetLogonId from ID 4624 with SubjectLogonId from ID 4661 to identify the source of the enumeration.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Massive SAM users/groups enumeration (native)
name: SAM_enumeration_user_group
description: Detects scenarios where an attacker attempts to enumerate sensitive domain users/groups settings and membership. Correlate TargetLogonId from ID 4624 with SubjectLogonId from ID 4661 to identify the source of the enumeration.
requirements: extended rights auditing enabled (https://www.manageengine.com/products/active-directory-audit/active-directory-auditing-configuration-guide-configure-object-level-auditing-manually.html)
references:
  - https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0007-Discovery/T1069-Permission%20Groups%20Discovery
  - https://bitvijays.github.io/LFF-IPS-P3-Exploitation.html
tags:
  - attack.discovery
  - attack.t1069.002
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection: # net group <domain_group> /domain
  selection:
    EventID: 4661
    ProcessName|endswith: '\lsass.exe'
    ObjectServer: "Security Account Manager"
    ObjectName|startswith:
      - S-1-5-32- # refers to builtin domain local groups
      - S-1-5-21- # refers to domain users and groups
    ObjectType:
      - SAM_USER
      - SAM_GROUP
  filter:
    - SubjectUserName|endswith: "$"
    - ObjectName|endswith: # already covered in a separated rule for sensitive user & group enumeration
        - "-500" # local administrator
        - "-512" # Domain Admins
        - "-513" # Domain users (less critical)
  condition: selection and not filter
falsepositives:
  - Administrator activity
level: informational

---
title: Massive SAM users/groups enumeration (native)
status: experimental
correlation:
  type: value_count
  rules:
    - SAM_enumeration_user_group
  group-by:
    - Computer
  timespan: 15m
  condition:
    gte: 30
    field: ObjectName
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4661
  ProcessName|endswith: '\lsass.exe'
  ObjectServer: "Security Account Manager"
  ObjectName|startswith:
    - S-1-5-32-
    - S-1-5-21-
  ObjectType:
    - SAM_USER
    - SAM_GROUP

Stage 2: not filter

filter:
  - SubjectUserName|endswith: "$"
  - ObjectName|endswith:
      - "-500"
      - "-512"
      - "-513"

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
ObjectNameends_with-500
ObjectNameends_with-512
ObjectNameends_with-513
SubjectUserNameends_with$

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
ObjectNamestarts_with
  • S-1-5-21- corpus 5 (sigma 5)
  • S-1-5-32- corpus 3 (sigma 3)
ObjectServereq
  • Security Account Manager corpus 7 (sigma 7)
ObjectTypeeq
  • SAM_GROUP corpus 4 (sigma 4)
  • SAM_USER corpus 5 (sigma 5)
ProcessNameends_with
  • \lsass.exe corpus 7 (sigma 7)