Detection rules › Sigma

Potential Defense Evasion Via Rename Of Highly Relevant Binaries

Status
test
Severity
high
Log source
product windows, category process_creation
Author
Matthew Green - @mgreen27, Florian Roth (Nextron Systems), frack113
Source
github.com/SigmaHQ/sigma

Detects the execution of a renamed binary often used by attackers or malware leveraging new Sysmon OriginalFileName datapoint.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: Potential Defense Evasion Via Rename Of Highly Relevant Binaries
id: 0ba1da6d-b6ce-4366-828c-18826c9de23e
related:
    - id: 36480ae1-a1cb-4eaa-a0d6-29801d7e9142
      type: similar
    - id: 2569ed8c-1147-498a-9b8c-2ad3656b10ed # Renamed Rundll32 Specific
      type: derived
    - id: a7a7e0e5-1d57-49df-9c58-9fe5bc0346a2 # Renamed PsExec
      type: obsolete
    - id: d178a2d7-129a-4ba4-8ee6-d6e1fecd5d20 # Renamed PowerShell
      type: obsolete
    - id: d4d2574f-ac17-4d9e-b986-aeeae0dc8fe2 # Renamed Rundll32
      type: obsolete
status: test
description: Detects the execution of a renamed binary often used by attackers or malware leveraging new Sysmon OriginalFileName datapoint.
references:
    - https://mgreen27.github.io/posts/2019/05/12/BinaryRename.html
    - https://mgreen27.github.io/posts/2019/05/29/BinaryRename2.html
    - https://www.trendmicro.com/vinfo/hk-en/security/news/cybercrime-and-digital-threats/megacortex-ransomware-spotted-attacking-enterprise-networks
    - https://twitter.com/christophetd/status/1164506034720952320
    - https://threatresearch.ext.hp.com/svcready-a-new-loader-reveals-itself/
    - https://www.huntress.com/blog/malicious-browser-extention-crashfix-kongtuke
author: Matthew Green - @mgreen27, Florian Roth (Nextron Systems), frack113
date: 2019-06-15
modified: 2026-02-12
tags:
    - attack.stealth
    - attack.t1036.003
    - car.2013-05-009
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - Description: 'Execute processes remotely'
        - Product: 'Sysinternals PsExec'
        - Description|startswith:
              - 'Windows PowerShell'
              - 'pwsh'
        - OriginalFileName:
              - 'certutil.exe'
              - 'cmstp.exe'
              - 'cscript.exe'
              - 'IE4UINIT.EXE'
              - 'finger.exe'
              - 'mshta.exe'
              - 'msiexec.exe'
              - 'msxsl.exe'
              - 'powershell_ise.exe'
              - 'powershell.exe'
              - 'psexec.c'        # old versions of psexec (2016 seen)
              - 'psexec.exe'
              - 'psexesvc.exe'
              - 'pwsh.dll'
              - 'reg.exe'
              - 'regsvr32.exe'
              - 'rundll32.exe'
              - 'WerMgr'
              - 'wmic.exe'
              - 'wscript.exe'
    filter:
        Image|endswith:
            - '\certutil.exe'
            - '\cmstp.exe'
            - '\cscript.exe'
            - '\ie4uinit.exe'
            - '\finger.exe'
            - '\mshta.exe'
            - '\msiexec.exe'
            - '\msxsl.exe'
            - '\powershell_ise.exe'
            - '\powershell.exe'
            - '\psexec.exe'
            - '\psexec64.exe'
            - '\PSEXESVC.exe'
            - '\pwsh.exe'
            - '\reg.exe'
            - '\regsvr32.exe'
            - '\rundll32.exe'
            - '\wermgr.exe'
            - '\wmic.exe'
            - '\wscript.exe'
    condition: selection and not filter
falsepositives:
    - Custom applications use renamed binaries adding slight change to binary name. Typically this is easy to spot and add to whitelist
    - PsExec installed via Windows Store doesn't contain original filename field (False negative)
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_renamed_binary_highly_relevant/info.yml

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    - Description: 'Execute processes remotely'
    - Product: 'Sysinternals PsExec'
    - Description|startswith:
          - 'Windows PowerShell'
          - 'pwsh'
    - OriginalFileName:
          - 'certutil.exe'
          - 'cmstp.exe'
          - 'cscript.exe'
          - 'IE4UINIT.EXE'
          - 'finger.exe'
          - 'mshta.exe'
          - 'msiexec.exe'
          - 'msxsl.exe'
          - 'powershell_ise.exe'
          - 'powershell.exe'
          - 'psexec.c'
          - 'psexec.exe'
          - 'psexesvc.exe'
          - 'pwsh.dll'
          - 'reg.exe'
          - 'regsvr32.exe'
          - 'rundll32.exe'
          - 'WerMgr'
          - 'wmic.exe'
          - 'wscript.exe'

Stage 2: not filter

filter:
    Image|endswith:
        - '\certutil.exe'
        - '\cmstp.exe'
        - '\cscript.exe'
        - '\ie4uinit.exe'
        - '\finger.exe'
        - '\mshta.exe'
        - '\msiexec.exe'
        - '\msxsl.exe'
        - '\powershell_ise.exe'
        - '\powershell.exe'
        - '\psexec.exe'
        - '\psexec64.exe'
        - '\PSEXESVC.exe'
        - '\pwsh.exe'
        - '\reg.exe'
        - '\regsvr32.exe'
        - '\rundll32.exe'
        - '\wermgr.exe'
        - '\wmic.exe'
        - '\wscript.exe'

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
Imageends_with\PSEXESVC.exe
Imageends_with\certutil.exe
Imageends_with\cmstp.exe
Imageends_with\cscript.exe
Imageends_with\finger.exe
Imageends_with\ie4uinit.exe
Imageends_with\mshta.exe
Imageends_with\msiexec.exe
Imageends_with\msxsl.exe
Imageends_with\powershell.exe
Imageends_with\powershell_ise.exe
Imageends_with\psexec.exe
Imageends_with\psexec64.exe
Imageends_with\pwsh.exe
Imageends_with\reg.exe
Imageends_with\regsvr32.exe
Imageends_with\rundll32.exe
Imageends_with\wermgr.exe
Imageends_with\wmic.exe
Imageends_with\wscript.exe

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
Descriptioneq
  • Execute processes remotely
Descriptionstarts_with
  • Windows PowerShell
  • pwsh
OriginalFileNameeq
  • IE4UINIT.EXE corpus 2 (sigma 2)
  • WerMgr
  • certutil.exe corpus 21 (sigma 14, splunk 6, elastic 1)
  • cmstp.exe corpus 6 (sigma 5, elastic 1)
  • cscript.exe corpus 19 (sigma 17, elastic 2)
  • finger.exe corpus 2 (sigma 2)
  • mshta.exe corpus 22 (sigma 13, splunk 6, elastic 3)
  • msiexec.exe corpus 10 (sigma 5, splunk 4, elastic 1)
  • msxsl.exe corpus 5 (sigma 3, elastic 2)
  • powershell.exe corpus 120 (sigma 84, splunk 30, elastic 6)
  • powershell_ise.exe corpus 51 (splunk 30, sigma 18, elastic 3)
  • psexec.c corpus 6 (sigma 2, elastic 2, splunk 2)
  • psexec.exe
  • psexesvc.exe corpus 4 (sigma 3, elastic 1)
  • pwsh.dll corpus 112 (sigma 79, splunk 30, elastic 3)
  • reg.exe corpus 42 (sigma 32, splunk 8, elastic 2)
  • regsvr32.exe corpus 26 (sigma 17, splunk 6, elastic 3)
  • rundll32.exe corpus 62 (sigma 35, splunk 21, elastic 6)
  • wmic.exe corpus 61 (sigma 36, splunk 18, elastic 7)
  • wscript.exe corpus 20 (sigma 17, elastic 3)
Producteq
  • Sysinternals PsExec