Detection rules › Sigma

Firewall deactivation (modern command)

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

Detects scenarios where an attacker disabled the Windows Firewall to evade defense.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Firewall deactivation (modern command)
description: Detects scenarios where an attacker disabled the Windows Firewall to evade defense.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1562.004-Impair%20Defenses-Disable%20or%20Modify%20System%20Firewall
- https://www.winhelponline.com/blog/enable-and-disable-windows-firewall-quickly-using-command-line/
- https://research.checkpoint.com/2022/check-point-research-detects-crypto-miner-malware-disguised-as-google-translate-desktop-and-other-legitimate-applications/
tags:
- attack.defense_evasion
- attack.t1562.004
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection_event:
    EventID: 4688
    NewProcessName|endswith: '\netsh.exe' # Full path "C:\Windows\system32\netsh.exe"

  selection_command:
    Commandline|contains|all: # full command 'netsh advfirewall set <privateprofile/publicprofile/domainprofile> state off'
      - netsh
      - advfirewall
      - set
      - state
      - 'off'

  selection_obfuscated:
    Commandline|contains|all: # full command 'netsh a s <profile> state off'
      - netsh
      - ' a*' # advfirewall
      - ' s*' # set
      - state
      - 'off'
  condition: selection_event and (selection_command or selection_obfuscated)
falsepositives:
- Administrator activity
level: high

Stages and Predicates

Stage 0: condition

selection_event and (selection_command or selection_obfuscated)

Stage 1: selection_event

selection_event:
  EventID: 4688
  NewProcessName|endswith: '\netsh.exe'

Stage 2: selection_command

selection_command:
  Commandline|contains|all:
    - netsh
    - advfirewall
    - set
    - state
    - 'off'

Stage 3: selection_obfuscated

selection_obfuscated:
  Commandline|contains|all:
    - netsh
    - ' a*'
    - ' s*'
    - state
    - 'off'

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
Commandlinematch
  • a* corpus 2 (sigma 2)
  • s* corpus 2 (sigma 2)
  • advfirewall corpus 7 (sigma 6, kusto 1)
  • netsh corpus 9 (sigma 9)
  • off corpus 4 (sigma 3, splunk 1)
  • set corpus 11 (sigma 10, splunk 1)
  • state corpus 2 (sigma 2)
NewProcessNameends_with
  • \netsh.exe corpus 28 (sigma 28)