Detection rules › Sigma

Cmd Launched with Hidden Start Flags to Suspicious Targets

Status
experimental
Severity
medium
Log source
product windows, category process_creation
Author
Vladan Sekulic, Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects cmd.exe executing commands with the "start" utility using "/b" (no window) or "/min" (minimized) flags. To reduce false positives from standard background tasks, detection is restricted to scenarios where the target is a known script extension or located in suspicious temporary/public directories. This technique was observed in Chaos, DarkSide, and Emotet malware campaigns.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: Cmd Launched with Hidden Start Flags to Suspicious Targets
id: 5a6b7c8d-9e0f-1a2b-3c4d-5e6f7a8b9c0d
status: experimental
description: |
    Detects cmd.exe executing commands with the "start" utility using "/b" (no window) or "/min" (minimized) flags.
    To reduce false positives from standard background tasks, detection is restricted to scenarios where the target is a known script extension or located in suspicious temporary/public directories.
    This technique was observed in Chaos, DarkSide, and Emotet malware campaigns.
references:
    - https://www.fortinet.com/blog/threat-research/evolution-of-chaos-ransomware-faster-smarter-and-more-dangerous
    - https://www.fortinet.com/blog/threat-research/newly-discovered-function-in-darkside-ransomware-variant-targets-disk-partitions
    - https://www.fortinet.com/blog/threat-research/ms-office-files-involved-in-emotet-trojan-campaign-pt-one
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/start
tags:
    - attack.stealth
    - attack.t1564.003
author: Vladan Sekulic, Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-01-24
logsource:
    category: process_creation
    product: windows
detection:
    selection_cmd_img:
        - Image|endswith: '\cmd.exe'
        - OriginalFileName: 'Cmd.Exe'
    selection_cmd_hidden_start_1:
        CommandLine|contains|windash:
            - 'start '
            - 'start/b'
            - 'start/min'
    selection_cmd_hidden_start_2:
        CommandLine|contains|windash:
            - '/b '
            - '/b"'
            - '/min '
            - '/min"'
    selection_cli_uncommon_location:
        CommandLine|contains:
            - ':\Perflogs\'
            - ':\Temp\'
            - ':\Users\Default\'
            - ':\Windows\Temp\'
            - '\AppData\Roaming\'
            - '\Contacts\'
            - '\Documents\'
            - '\Downloads\'
            - '\Favorites\'
            - '\Favourites\'
            - '\inetpub\'
            - '\Music\'
            - '\Photos\'
            - '\Temporary Internet\'
            - '\Users\Public\'
            - '\Videos\'
    selection_cli_susp_extension:
        CommandLine|contains:
            - '.bat'
            - '.cmd'
            - '.cpl'
            - '.hta'
            - '.js'
            - '.ps1'
            - '.scr'
            - '.vbe'
            - '.vbs'
    selection_cli_susp_pattern:
        CommandLine|contains:
            - ' -nop '
            - ' -sta '
            - '.downloadfile(' # PowerShell download command
            - '.downloadstring(' # PowerShell download command
            - '-noni '
            - '-w hidden '
    condition: all of selection_cmd_* and 1 of selection_cli_*
falsepositives:
    - Legitimate administrative scripts running from temporary folders.
    - Niche software updaters utilizing hidden batch files in ProgramData.
level: medium # Can be increased after an initial baseline and tuning
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_cmd_launched_with_hidden_start_flag/info.yml

Stages and Predicates

Stage 0: condition

all of selection_cmd_* and 1 of selection_cli_*

Stage 1: selection_cmd_img

selection_cmd_img:
    - Image|endswith: '\cmd.exe'
    - OriginalFileName: 'Cmd.Exe'

Stage 2: selection_cmd_hidden_start_1

selection_cmd_hidden_start_1:
    CommandLine|contains|windash:
        - 'start '
        - 'start/b'
        - 'start/min'

Stage 3: selection_cmd_hidden_start_2

selection_cmd_hidden_start_2:
    CommandLine|contains|windash:
        - '/b '
        - '/b"'
        - '/min '
        - '/min"'

Stage 4: selection_cli_uncommon_location

selection_cli_uncommon_location:
    CommandLine|contains:
        - ':\Perflogs\'
        - ':\Temp\'
        - ':\Users\Default\'
        - ':\Windows\Temp\'
        - '\AppData\Roaming\'
        - '\Contacts\'
        - '\Documents\'
        - '\Downloads\'
        - '\Favorites\'
        - '\Favourites\'
        - '\inetpub\'
        - '\Music\'
        - '\Photos\'
        - '\Temporary Internet\'
        - '\Users\Public\'
        - '\Videos\'

Stage 5: selection_cli_susp_extension

selection_cli_susp_extension:
    CommandLine|contains:
        - '.bat'
        - '.cmd'
        - '.cpl'
        - '.hta'
        - '.js'
        - '.ps1'
        - '.scr'
        - '.vbe'
        - '.vbs'

Stage 6: selection_cli_susp_pattern

selection_cli_susp_pattern:
    CommandLine|contains:
        - ' -nop '
        - ' -sta '
        - '.downloadfile('
        - '.downloadstring('
        - '-noni '
        - '-w hidden '

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
  • -nop corpus 3 (sigma 3)
  • -sta
  • -noni
  • -w hidden
  • .bat corpus 11 (sigma 9, elastic 1, kusto 1)
  • .cmd corpus 6 (sigma 5, elastic 1)
  • .cpl corpus 3 (sigma 3)
  • .downloadfile( corpus 8 (sigma 7, chronicle 1)
  • .downloadstring( corpus 8 (sigma 7, chronicle 1)
  • .hta corpus 6 (sigma 6)
  • .js corpus 9 (sigma 9)
  • .ps1 corpus 4 (sigma 3, elastic 1)
  • .scr corpus 5 (sigma 5)
  • .vbe corpus 5 (sigma 5)
  • .vbs corpus 7 (sigma 7)
  • /b transforms: windash
  • /b" transforms: windash
  • /min transforms: windash
  • /min" transforms: windash
  • :\Perflogs\ corpus 11 (sigma 11)
  • :\Temp\ corpus 14 (sigma 14)
  • :\Users\Default\ corpus 3 (sigma 3)
  • :\Windows\Temp\ corpus 16 (sigma 16)
  • \AppData\Roaming\ corpus 16 (sigma 16)
  • \Contacts\ corpus 6 (sigma 6)
  • \Documents\ corpus 2 (sigma 2)
  • \Downloads\ corpus 14 (sigma 14)
  • \Favorites\ corpus 6 (sigma 6)
  • \Favourites\ corpus 6 (sigma 6)
  • \Music\ corpus 3 (sigma 3)
  • \Photos\
  • \Temporary Internet\
  • \Users\Public\ corpus 17 (sigma 17)
  • \Videos\ corpus 3 (sigma 3)
  • \inetpub\
  • start transforms: windash
  • start/b transforms: windash
  • start/min transforms: windash
Imageends_with
  • \cmd.exe corpus 130 (sigma 130)
OriginalFileNameeq
  • Cmd.Exe corpus 65 (sigma 43, splunk 17, elastic 5)