Detection rules › Sigma

Computer account modifying Active Directory permissions (PrivExchange)

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

Detects scenarios where an attacker compromise a server with high privileges to perform permissions changes. PrivExchange attack can be detected using this rule.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Computer account modifying Active Directory permissions (PrivExchange)
description: Detects scenarios where an attacker compromise a server with high privileges to perform permissions changes. PrivExchange attack can be detected using this rule.
requirements: auditing SACL "Modify permissions" must be placed on the AD root container using the Active Directory console (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/TA0005-Defense%20Evasion/T1222.001-File%20and%20Directory%20Permissions%20Modification
- https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/
tags:
- attack.defense_evasion
- attack.t1222.001
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 5136
    AttributeLDAPDisplayName: ntSecurityDescriptor
    OperationType: '%%14674' # Value added
    SubjectUserName:  # List of Exchange servers + $
      - srvexchange01$
      - srvexchange02$
      - srvexchange03$
  condition: selection
falsepositives:
- Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 5136
  AttributeLDAPDisplayName: ntSecurityDescriptor
  OperationType: '%%14674'
  SubjectUserName:
    - srvexchange01$
    - srvexchange02$
    - srvexchange03$

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
AttributeLDAPDisplayNameeq
  • ntSecurityDescriptor corpus 7 (sigma 6, elastic 1)
OperationTypeeq
  • %%14674 corpus 17 (sigma 9, elastic 4, splunk 4)
SubjectUserNameeq
  • srvexchange01$
  • srvexchange02$
  • srvexchange03$