Detection rules › Sigma

Potentially Suspicious PowerShell Child Processes

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

Detects potentially suspicious child processes spawned by PowerShell. Use this rule to hunt for potential anomalies initiating from PowerShell scripts and commands.

Known false positives

  • False positives are to be expected from PowerShell scripts that might make use of additional binaries such as "mshta", "bitsadmin", etc. Apply additional filters for those scripts.

MITRE ATT&CK coverage

Telemetry coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule body

title: Potentially Suspicious PowerShell Child Processes
id: e4b6d2a7-d8a4-4f19-acbd-943c16d90647
status: test
description: |
    Detects potentially suspicious child processes spawned by PowerShell.
    Use this rule to hunt for potential anomalies initiating from PowerShell scripts and commands.
references:
    - https://twitter.com/ankit_anubhav/status/1518835408502620162
author: Florian Roth (Nextron Systems), Tim Shelton
date: 2022-04-26
modified: 2024-07-16
tags:
    - attack.execution
    - attack.t1059.001
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith:
            - '\powershell_ise.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
        Image|endswith:
            - '\bash.exe'
            - '\bitsadmin.exe'
            - '\certutil.exe'
            - '\cscript.exe'
            - '\forfiles.exe'
            - '\hh.exe'
            - '\mshta.exe'
            - '\regsvr32.exe'
            - '\rundll32.exe'
            - '\schtasks.exe'
            - '\scrcons.exe'
            - '\scriptrunner.exe'
            - '\sh.exe'
            - '\wmic.exe'
            - '\wscript.exe'
    filter_optional_amazon:
        ParentCommandLine|contains: '\Program Files\Amazon\WorkspacesConfig\Scripts\'  # AWS Workspaces
        CommandLine|contains: '\Program Files\Amazon\WorkspacesConfig\Scripts\'  # AWS Workspaces
    filter_main_certutil_verify_store:
        Image|endswith: '\certutil.exe'
        CommandLine|contains: '-verifystore '
    filter_main_wmic:
        Image|endswith: '\wmic.exe'
        CommandLine|contains:
            - 'qfe list'
            - 'diskdrive '
            - 'csproduct '
            - 'computersystem '
            - ' os '
            - ''
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - False positives are to be expected from PowerShell scripts that might make use of additional binaries such as "mshta", "bitsadmin", etc. Apply additional filters for those scripts.
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    ParentImage|endswith:
        - '\powershell_ise.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
    Image|endswith:
        - '\bash.exe'
        - '\bitsadmin.exe'
        - '\certutil.exe'
        - '\cscript.exe'
        - '\forfiles.exe'
        - '\hh.exe'
        - '\mshta.exe'
        - '\regsvr32.exe'
        - '\rundll32.exe'
        - '\schtasks.exe'
        - '\scrcons.exe'
        - '\scriptrunner.exe'
        - '\sh.exe'
        - '\wmic.exe'
        - '\wscript.exe'

Stage 2: not filter_main_*

filter_main_certutil_verify_store:
    Image|endswith: '\certutil.exe'
    CommandLine|contains: '-verifystore '
filter_main_wmic:
    Image|endswith: '\wmic.exe'
    CommandLine|contains:
        - 'qfe list'
        - 'diskdrive '
        - 'csproduct '
        - 'computersystem '
        - ' os '
        - ''

Stage 3: not filter_optional_amazon

filter_optional_amazon:
    ParentCommandLine|contains: '\Program Files\Amazon\WorkspacesConfig\Scripts\'
    CommandLine|contains: '\Program Files\Amazon\WorkspacesConfig\Scripts\'

Exclusions

The rule actively suppresses these predicates.

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \bash.exe corpus 21 (sigma 21)
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \certutil.exe corpus 44 (sigma 43, kusto 1)
  • \cscript.exe corpus 72 (sigma 72)
  • \forfiles.exe corpus 11 (sigma 11)
  • \hh.exe corpus 15 (sigma 15)
  • \mshta.exe corpus 66 (sigma 66)
  • \regsvr32.exe corpus 64 (sigma 64)
  • \rundll32.exe corpus 94 (sigma 94)
  • \schtasks.exe corpus 55 (sigma 55)
  • \scrcons.exe corpus 9 (sigma 9)
  • \scriptrunner.exe corpus 12 (sigma 12)
  • \sh.exe corpus 16 (sigma 16)
  • \wmic.exe corpus 62 (sigma 62)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
ParentImageends_with
  • \powershell.exe corpus 24 (sigma 24)
  • \powershell_ise.exe corpus 3 (sigma 3)
  • \pwsh.exe corpus 21 (sigma 21)
field:"ParentImage" kind:ends_with