Detection rules › Sigma

Firewall Rule Update Via Netsh.EXE

Status
test
Severity
medium
Log source
category process_creation, product windows
Author
X__Junior (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects execution of netsh with the "advfirewall" and the "set" option in order to set new values for properties of a existing rule

Known false positives

  • Legitimate administration activity
  • Software installations and removal

MITRE ATT&CK coverage

TacticTechniques
Defense ImpairmentNo specific technique

Telemetry coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule body

title: Firewall Rule Update Via Netsh.EXE
id: a70dcb37-3bee-453a-99df-d0c683151be6
status: test
description: Detects execution of netsh with the "advfirewall" and the "set" option in order to set new values for properties of a existing rule
references:
    - https://ss64.com/nt/netsh.html
author: X__Junior (Nextron Systems)
date: 2023-07-18
tags:
    - attack.defense-impairment
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\netsh.exe'
        - OriginalFileName: 'netsh.exe'
    selection_cli:
        CommandLine|contains|all:
            # Example 1: netsh advfirewall firewall set rule "group=\"Network Discovery\" " new enable=Yes"
            # Example 2: netsh advfirewall firewall set rule "group=\"File and Printer Sharing\" " new enable=Yes"
            - ' firewall '
            - ' set '
    condition: all of selection_*
falsepositives:
    - Legitimate administration activity
    - Software installations and removal
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\netsh.exe'
    - OriginalFileName: 'netsh.exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - ' firewall '
        - ' set '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • firewall corpus 3 (sigma 2, splunk 1)
  • set corpus 4 (sigma 4)
field:"CommandLine" kind:match
Imageends_with
  • \netsh.exe corpus 28 (sigma 28)
field:"Image" kind:ends_with value:"\netsh.exe"
OriginalFileNameeq
  • netsh.exe corpus 23 (sigma 14, splunk 7, elastic 2)
field:"OriginalFileName" kind:eq value:"netsh.exe"