Detection rules › Sigma

Potentially Suspicious Execution Of PDQDeployRunner

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

Detects suspicious execution of "PDQDeployRunner" which is part of the PDQDeploy service stack that is responsible for executing commands and packages on a remote machines

MITRE ATT&CK coverage

TacticTechniques
ExecutionNo specific technique

Event coverage

Rule body yaml

title: Potentially Suspicious Execution Of PDQDeployRunner
id: 12b8e9f5-96b2-41e1-9a42-8c6779a5c184
related:
    - id: d679950c-abb7-43a6-80fb-2a480c4fc450
      type: similar
status: test
description: Detects suspicious execution of "PDQDeployRunner" which is part of the PDQDeploy service stack that is responsible for executing commands and packages on a remote machines
references:
    - https://twitter.com/malmoeb/status/1550483085472432128
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-22
modified: 2024-05-02
tags:
    - attack.execution
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|contains: '\PDQDeployRunner-'
    selection_child:
        # Improve this section by adding other suspicious processes, commandlines or paths
        - Image|endswith:
              # If you use any of the following processes legitimately comment them out
              - '\bash.exe'
              - '\certutil.exe'
              - '\cmd.exe'
              - '\csc.exe'
              - '\cscript.exe'
              - '\dllhost.exe'
              - '\mshta.exe'
              - '\msiexec.exe'
              - '\regsvr32.exe'
              - '\rundll32.exe'
              - '\scriptrunner.exe'
              - '\wmic.exe'
              - '\wscript.exe'
              - '\wsl.exe'
        - Image|contains:
              - ':\ProgramData\'
              - ':\Users\Public\'
              - ':\Windows\TEMP\'
              - '\AppData\Local\Temp'
        - CommandLine|contains:
              - ' -decode '
              - ' -enc '
              - ' -encodedcommand '
              - ' -w hidden'
              - 'DownloadString'
              - 'FromBase64String'
              - 'http'
              - 'iex '
              - 'Invoke-'
    condition: all of selection_*
falsepositives:
    - Legitimate use of the PDQDeploy tool to execute these commands
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_parent

selection_parent:
    ParentImage|contains: '\PDQDeployRunner-'

Stage 2: selection_child

selection_child:
    - Image|endswith:
          - '\bash.exe'
          - '\certutil.exe'
          - '\cmd.exe'
          - '\csc.exe'
          - '\cscript.exe'
          - '\dllhost.exe'
          - '\mshta.exe'
          - '\msiexec.exe'
          - '\regsvr32.exe'
          - '\rundll32.exe'
          - '\scriptrunner.exe'
          - '\wmic.exe'
          - '\wscript.exe'
          - '\wsl.exe'
    - Image|contains:
          - ':\ProgramData\'
          - ':\Users\Public\'
          - ':\Windows\TEMP\'
          - '\AppData\Local\Temp'
    - CommandLine|contains:
          - ' -decode '
          - ' -enc '
          - ' -encodedcommand '
          - ' -w hidden'
          - 'DownloadString'
          - 'FromBase64String'
          - 'http'
          - 'iex '
          - 'Invoke-'

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
  • -decode corpus 4 (sigma 4)
  • -enc corpus 6 (sigma 6)
  • -encodedcommand corpus 2 (sigma 2)
  • -w hidden
  • DownloadString corpus 8 (sigma 7, kusto 1)
  • FromBase64String corpus 12 (sigma 9, splunk 2, elastic 1)
  • Invoke- corpus 6 (sigma 6)
  • http corpus 39 (sigma 34, elastic 2, chronicle 2, splunk 1)
  • iex corpus 6 (sigma 6)
Imageends_with
  • \bash.exe corpus 22 (sigma 22)
  • \certutil.exe corpus 43 (sigma 43)
  • \cmd.exe corpus 130 (sigma 130)
  • \csc.exe corpus 9 (sigma 9)
  • \cscript.exe corpus 73 (sigma 73)
  • \dllhost.exe corpus 11 (sigma 11)
  • \mshta.exe corpus 67 (sigma 67)
  • \msiexec.exe corpus 21 (sigma 21)
  • \regsvr32.exe corpus 65 (sigma 65)
  • \rundll32.exe corpus 95 (sigma 95)
  • \scriptrunner.exe corpus 12 (sigma 12)
  • \wmic.exe corpus 60 (sigma 60)
  • \wscript.exe corpus 75 (sigma 75)
  • \wsl.exe corpus 11 (sigma 11)
Imagematch
  • :\ProgramData\ corpus 3 (sigma 3)
  • :\Users\Public\ corpus 15 (sigma 15)
  • :\Windows\TEMP\ corpus 9 (sigma 9)
  • \AppData\Local\Temp
ParentImagematch
  • \PDQDeployRunner-