Detection rules › Sigma

User password change without previous password known - SetNTLM (Mimikatz)

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

Detects scenarios where an attacker perform a password reset event. This does not require any knowledge of a user’s current password, but it does require to have the "Reset Password" right. Correlate the event ID 4724, 4624 and 5145 using the "SubjectLogonId" field to identify the source of the reset.

MITRE ATT&CK coverage

TacticTechniques
PersistenceT1098 Account Manipulation

Event coverage

Rule body yaml

title: User password change without previous password known - SetNTLM (Mimikatz)
description: Detects scenarios where an attacker perform a password reset event. This does not require any knowledge of a user’s current password, but it does require to have the "Reset Password" right. Correlate the event ID 4724, 4624 and 5145 using the "SubjectLogonId" field to identify the source of the reset.
references:
  - https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1098.xxx-Account%20manipulation
  - https://stealthbits.com/blog/manipulating-user-passwords-with-mimikatz/
  - https://www.trustedsec.com/blog/azure-account-hijacking-using-mimikatzs-lsadumpsetntlm/
  - https://www.trustedsec.com/blog/manipulating-user-passwords-without-mimikatz/
tags:
  - attack.persistence
  - attack.t1098
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection_reset:
    EventID: 4724 # Non self password reset
    TargetSid|startswith: S-1-5-21-
    SubjectUserSid|startswith: S-1-5-21-

  selection_share:
    EventID: 5145
    ShareName: \\*\IPC$
    RelativeTargetName: samr

  selection_login:
    EventID: 4624
    AuthenticationPackageName: NTLM

  filter:
    IpAddress:
      - "127.0.0.1"
      - "::1"

  condition: (selection_reset and selection_share and selection_login) and not filter
falsepositives:
  - None
level: high

Stages and Predicates

Stage 0: condition

(selection_reset and selection_share and selection_login) and not filter

Stage 1: selection_reset

selection_reset:
  EventID: 4724
  TargetSid|startswith: S-1-5-21-
  SubjectUserSid|startswith: S-1-5-21-

Stage 2: selection_share

selection_share:
  EventID: 5145
  ShareName: \\*\IPC$
  RelativeTargetName: samr

Stage 3: selection_login

selection_login:
  EventID: 4624
  AuthenticationPackageName: NTLM

Stage 4: not filter

filter:
  IpAddress:
    - "127.0.0.1"
    - "::1"

Exclusions

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

FieldKindExcluded values
IpAddresseq127.0.0.1
IpAddresseq::1

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
AuthenticationPackageNameeq
  • NTLM corpus 9 (sigma 5, elastic 2, splunk 1, kusto 1)
RelativeTargetNameeq
  • samr corpus 2 (sigma 2)
ShareNamewildcard
  • \\*\IPC$ corpus 11 (sigma 11)
SubjectUserSidstarts_with
  • S-1-5-21- corpus 5 (sigma 5)
TargetSidstarts_with
  • S-1-5-21- corpus 4 (sigma 4)