Detection rules › Sigma

Domain password policy enumeration

Status
experimental
Severity
high
Log source
product windows, service security
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker attempts to enumerate the domain password policy with native commands or tools like CME (--pass-pol).

MITRE ATT&CK coverage

TacticTechniques
DiscoveryT1201 Password Policy Discovery

Event coverage

Rule body yaml

title: Domain password policy enumeration
description: Detects scenarios where an attacker attempts to enumerate the domain password policy with native commands or tools like CME (--pass-pol).
correlation: 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/T1201-Password%20Policy%20Discovery
- https://hideandsec.sh/books/cheatsheets/page/crackmapexec
- https://www.infosecmatter.com/crackmapexec-module-library/
- https://github.com/PSGumshoe/PSGumshoe/blob/master/DirectoryService/PrivateFunctions.ps1
tags:
- attack.discovery
- attack.t1201
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4661
    ProcessName|endswith: '\lsass.exe'
    ObjectServer: 'Security Account Manager'
    ObjectName|startswith: DC=
    ObjectType: SAM_DOMAIN
    Properties|contains|all:
      - 'c7407360-20bf-11d0-a768-00aa006e0529' # Domain-Password property set
      - 'bf9679a4-0de6-11d0-a285-00aa003049e2' # lockOutObservationWindow
      - 'bf9679a5-0de6-11d0-a285-00aa003049e2' # Lockout-Duration
      - 'bf9679a6-0de6-11d0-a285-00aa003049e2' # lockoutThreshold
      - 'bf9679bb-0de6-11d0-a285-00aa003049e2' # Max-Pwd-Age attribute
      - 'bf9679c2-0de6-11d0-a285-00aa003049e2' # Min-Pwd-Age
      - 'bf9679c3-0de6-11d0-a285-00aa003049e2' # Min-Pwd-Length
      - 'bf967a09-0de6-11d0-a285-00aa003049e2' # Pwd-History-Length
      - 'bf967a0b-0de6-11d0-a285-00aa003049e2' # Pwd-Properties
      - 'bf967977-0de6-11d0-a285-00aa003049e2' # Force-Logoff
  filter:
    SubjectUserName|endswith: '$'
  condition: selection and not filter
falsepositives:
- Administrator activity
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: DC=
  ObjectType: SAM_DOMAIN
  Properties|contains|all:
    - 'c7407360-20bf-11d0-a768-00aa006e0529'
    - 'bf9679a4-0de6-11d0-a285-00aa003049e2'
    - 'bf9679a5-0de6-11d0-a285-00aa003049e2'
    - 'bf9679a6-0de6-11d0-a285-00aa003049e2'
    - 'bf9679bb-0de6-11d0-a285-00aa003049e2'
    - 'bf9679c2-0de6-11d0-a285-00aa003049e2'
    - 'bf9679c3-0de6-11d0-a285-00aa003049e2'
    - 'bf967a09-0de6-11d0-a285-00aa003049e2'
    - 'bf967a0b-0de6-11d0-a285-00aa003049e2'
    - 'bf967977-0de6-11d0-a285-00aa003049e2'

Stage 2: not filter

filter:
  SubjectUserName|endswith: '$'

Exclusions

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

FieldKindExcluded values
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
  • DC= corpus 2 (sigma 2)
ObjectServereq
  • Security Account Manager corpus 7 (sigma 7)
ObjectTypeeq
  • SAM_DOMAIN corpus 3 (sigma 3)
ProcessNameends_with
  • \lsass.exe corpus 7 (sigma 7)
Propertiesmatch
  • bf967977-0de6-11d0-a285-00aa003049e2
  • bf9679a4-0de6-11d0-a285-00aa003049e2
  • bf9679a5-0de6-11d0-a285-00aa003049e2
  • bf9679a6-0de6-11d0-a285-00aa003049e2
  • bf9679bb-0de6-11d0-a285-00aa003049e2
  • bf9679c2-0de6-11d0-a285-00aa003049e2
  • bf9679c3-0de6-11d0-a285-00aa003049e2
  • bf967a09-0de6-11d0-a285-00aa003049e2
  • bf967a0b-0de6-11d0-a285-00aa003049e2
  • c7407360-20bf-11d0-a768-00aa006e0529