Skip to content

Siemphony is in beta and still being built. How a rule earns its badge.

Siemphony’s repertoire

Detect an interpreter launched from the shell with a pasted one-liner

Matches the ClickFix shape described in AN0962: a command interpreter created directly by explorer.exe — the Run dialog, the Start box or a desktop double-click, which is where a socially engineered paste lands — carrying an argument that only a copied one-liner tends to have, such as an encoded command, an inline download-and-execute, a bare URL or a hidden window. Three selections are ANDed because none of them stands alone: the parent alone fires on every interactive launch, and the argument list alone is ordinary scripting noise. AN0962 continues into a file drop under a user-writable path and first egress; those are separate events with no join in Sigma, so the ParentProcessAllowList, WritePaths and OutboundCIDRBlockList knobs are not expressed here. Nothing in the telemetry records that the text was pasted rather than typed, so intent is inferred from the launch context only. The analytic's process source is Security 4688, which needs the Audit Process Creation subcategory enabled and, because every term here sits on the arguments, the separate Include command line in process creation events policy as well — with either one off the rule matches nothing while appearing healthy. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0340, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full description

The detection

The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.

detection.yml

title: Detect an interpreter launched from the shell with a pasted one-linerid: 61894a28-e403-42f2-8c51-ac497c530c55status: experimentaldescription: |  Matches the ClickFix shape described in AN0962: a command interpreter created  directly by explorer.exe — the Run dialog, the Start box or a desktop  double-click, which is where a socially engineered paste lands — carrying an  argument that only a copied one-liner tends to have, such as an encoded  command, an inline download-and-execute, a bare URL or a hidden window. Three  selections are ANDed because none of them stands alone: the parent alone fires  on every interactive launch, and the argument list alone is ordinary scripting  noise. AN0962 continues into a file drop under a user-writable path and first  egress; those are separate events with no join in Sigma, so the  ParentProcessAllowList, WritePaths and OutboundCIDRBlockList knobs are not  expressed here. Nothing in the telemetry records that the text was pasted  rather than typed, so intent is inferred from the launch context only. The  analytic's process source is Security 4688, which needs the Audit Process  Creation subcategory enabled and, because every term here sits on the  arguments, the separate Include command line in process creation events policy  as well — with either one off the rule matches nothing while appearing healthy.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0340, not hand-written and not tested by its author. Any lab result is on this rule's own page.references:  - https://attack.mitre.org/techniques/T1204/004  - https://attack.mitre.org/detectionstrategies/DET0340author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags:  - attack.execution  - attack.t1204.004logsource:  category: process_creation  product: windowsdetection:  selection_shell_parent:    ParentImage|endswith: '\explorer.exe'  selection_interpreter:    Image|endswith:      - '\powershell.exe'      - '\pwsh.exe'      - '\cmd.exe'      - '\conhost.exe'      - '\mshta.exe'      - '\wscript.exe'      - '\cscript.exe'      - '\curl.exe'      - '\msiexec.exe'  selection_paste_markers:    CommandLine|contains:      - ' -enc '      - ' -encodedcommand'      - ' -ec '      - 'frombase64string'      - 'invoke-expression'      - 'iex('      - 'iex '      - 'downloadstring'      - 'invoke-webrequest'      - 'invoke-restmethod'      - '--headless'      - ' -w hidden'      - ' -windowstyle hidden'      - 'http://'      - 'https://'  condition: selection_shell_parent and selection_interpreter and selection_paste_markersfalsepositives:  - "Helpdesk-driven remediation. Support staff routinely tell a user to press Win+R and paste a fix, and the resulting event is indistinguishable from the attack it is modelled on: same parent, same interpreter, same download-and-run argument. Every environment that supports users this way needs the sanctioned commands recorded before this rule is usable."  - "Vendor shortcuts and installer stubs on the desktop or Start menu. A .lnk whose target is powershell.exe with a hidden window style, or msiexec.exe pointed at a package URL, is launched by explorer.exe on double-click and matches all three selections without anything unusual happening."  - "Administrators and developers working interactively, who paste encoded or piped one-liners into the Run box because it is faster than opening a console. MITRE's ParentProcessAllowList knob is aimed at automation rather than at people, so this population has to be scoped by account or host instead."  - "Bare URL terms are the loosest part of the rule: any interactive launch that passes a link to a browser helper, an updater or a documentation shortcut through one of these interpreters will match. Drop the two URL entries first if volume is a problem, accepting the loss of the mshta and curl variants."level: high

Sentinel · KQL

Run this as a search.

DeviceProcessEvents| where ((InitiatingProcessFolderPath endswith "\\explorer.exe" and (FolderPath endswith "\\powershell.exe" or FolderPath endswith "\\pwsh.exe" or FolderPath endswith "\\cmd.exe" or FolderPath endswith "\\conhost.exe" or FolderPath endswith "\\mshta.exe" or FolderPath endswith "\\wscript.exe" or FolderPath endswith "\\cscript.exe" or FolderPath endswith "\\curl.exe" or FolderPath endswith "\\msiexec.exe")) and (ProcessCommandLine contains " -enc " or ProcessCommandLine contains " -encodedcommand" or ProcessCommandLine contains " -ec " or ProcessCommandLine contains "frombase64string" or ProcessCommandLine contains "invoke-expression" or ProcessCommandLine contains "iex(" or ProcessCommandLine contains "iex " or ProcessCommandLine contains "downloadstring" or ProcessCommandLine contains "invoke-webrequest" or ProcessCommandLine contains "invoke-restmethod" or ProcessCommandLine contains "--headless" or ProcessCommandLine contains " -w hidden" or ProcessCommandLine contains " -windowstyle hidden" or ProcessCommandLine contains "http://" or ProcessCommandLine contains "https://"))

Splunk · SPL

Run this as a search.

index=* ((ParentImage="*\\explorer.exe" AND (Image="*\\powershell.exe" OR Image="*\\pwsh.exe" OR Image="*\\cmd.exe" OR Image="*\\conhost.exe" OR Image="*\\mshta.exe" OR Image="*\\wscript.exe" OR Image="*\\cscript.exe" OR Image="*\\curl.exe" OR Image="*\\msiexec.exe")) AND (CommandLine="* -enc *" OR CommandLine="* -encodedcommand*" OR CommandLine="* -ec *" OR CommandLine="*frombase64string*" OR CommandLine="*invoke-expression*" OR CommandLine="*iex(*" OR CommandLine="*iex *" OR CommandLine="*downloadstring*" OR CommandLine="*invoke-webrequest*" OR CommandLine="*invoke-restmethod*" OR CommandLine="*--headless*" OR CommandLine="* -w hidden*" OR CommandLine="* -windowstyle hidden*" OR CommandLine="*http://*" OR CommandLine="*https://*"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(process.parent.executable) LIKE "*\\\\explorer.exe" AND (TO_LOWER(process.executable) LIKE "*\\\\powershell.exe" OR TO_LOWER(process.executable) LIKE "*\\\\pwsh.exe" OR TO_LOWER(process.executable) LIKE "*\\\\cmd.exe" OR TO_LOWER(process.executable) LIKE "*\\\\conhost.exe" OR TO_LOWER(process.executable) LIKE "*\\\\mshta.exe" OR TO_LOWER(process.executable) LIKE "*\\\\wscript.exe" OR TO_LOWER(process.executable) LIKE "*\\\\cscript.exe" OR TO_LOWER(process.executable) LIKE "*\\\\curl.exe" OR TO_LOWER(process.executable) LIKE "*\\\\msiexec.exe")) AND (TO_LOWER(process.command_line) LIKE "* -enc *" OR TO_LOWER(process.command_line) LIKE "* -encodedcommand*" OR TO_LOWER(process.command_line) LIKE "* -ec *" OR TO_LOWER(process.command_line) LIKE "*frombase64string*" OR TO_LOWER(process.command_line) LIKE "*invoke-expression*" OR TO_LOWER(process.command_line) LIKE "*iex(*" OR TO_LOWER(process.command_line) LIKE "*iex *" OR TO_LOWER(process.command_line) LIKE "*downloadstring*" OR TO_LOWER(process.command_line) LIKE "*invoke-webrequest*" OR TO_LOWER(process.command_line) LIKE "*invoke-restmethod*" OR TO_LOWER(process.command_line) LIKE "*--headless*" OR TO_LOWER(process.command_line) LIKE "* -w hidden*" OR TO_LOWER(process.command_line) LIKE "* -windowstyle hidden*" OR TO_LOWER(process.command_line) LIKE "*http://*" OR TO_LOWER(process.command_line) LIKE "*https://*"))

Wazuh · XML rule

Deploy to your manager — this is a rule, not a search.

<group name="sigma,windows,process_creation,">  <!-- Rule ids must be unique on your manager; 100000+ is the user range. -->  <rule id="100000" level="12">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="ParentImage" type="pcre2">(?i)\\explorer\.exe$</field>    <field name="Image" type="pcre2">(?i)(\\powershell\.exe$|\\pwsh\.exe$|\\cmd\.exe$|\\conhost\.exe$|\\mshta\.exe$|\\wscript\.exe$|\\cscript\.exe$|\\curl\.exe$|\\msiexec\.exe$)</field>    <field name="CommandLine" type="pcre2">(?i)( -enc | -encodedcommand| -ec |frombase64string|invoke-expression|iex\(|iex |downloadstring|invoke-webrequest|invoke-restmethod|--headless| -w hidden| -windowstyle hidden|http://|https://)</field>    <description>Detect an interpreter launched from the shell with a pasted one-liner</description>    <mitre>      <id>T1204.004</id>    </mitre>  </rule></group>

Verdicts · reactions · comments

Community

Verdicts from engineers who actually deployed it, and the conversation around it.

Log in to react
Not yet reported on

Nobody has run this in a real environment and said what happened.

Verdicts from engineers who deployed it

0 cast

No verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.

Log in to report a verdict.

Log in to join the discussion.

No comments yet. Someone who deploys this will have something to say about it.