Detection rules › Sigma

NTLM downgrade attack (Reg via SYSMON)

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

Detects scenarios where an attacker modifies the registry configuration in order to enable or downgrade NTLM protocol version, to later on perform relay attacks.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 13RegistryEvent (Value Set)

Rule body yaml

title: NTLM downgrade attack (Reg via SYSMON)
description: Detects scenarios where an attacker modifies the registry configuration in order to enable or downgrade NTLM protocol version, to later on perform relay attacks.
references:
- https://www.trustedsec.com/blog/practical-attacks-against-ntlmv1/
- https://learn.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/network-security-lan-manager-authentication-level
- https://www.praetorian.com/blog/ntlmv1-vs-ntlmv2/
tags:
- attack.defense_evasion
- attack.t1562.010 # Impair Defenses: Downgrade Attack 
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: registry_set
detection:
  selection:
    TargetObject|endswith: '\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel'
    Details|contains:
      - '0x00000000' # Send LM & NTLM responses
      - '0x00000001' # Send LM & NTLM – use NTLMv2 session security if negotiated
      - '0x00000002' # Send NTLM response only
  condition: selection
falsepositives:
- VPN software
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  TargetObject|endswith: '\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel'
  Details|contains:
    - '0x00000000'
    - '0x00000001'
    - '0x00000002'

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
Detailsmatch
  • 0x00000000
  • 0x00000001 corpus 4 (sigma 4)
  • 0x00000002
TargetObjectends_with
  • \SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel