Skip to content

Siemphony is in beta and still being built. What ships today, and what does not.

Siemphony’s repertoire

PowerShell launched with a hidden window style

Siemphony@siemphonylowT1564.003unverified
This strategy carries three per-platform analytics — AN0360 (Windows), AN0361 (Linux), AN0362 (macOS) — and only the Windows one names a literal, single-event observable: MITRE's own example in the technique description, powershell.exe -WindowStyle Hidden. AN0361 describes X11/Wayland calls and DISPLAY-variable manipulation that leave no trace in the auditd sources the brief lists (EXECVE/SYSCALL argv carries no windowing API), and AN0362 is a plist-modification-plus-correlation pattern spanning multiple events. Both would need invented fields to reach with a single Sigma selection, so only the Windows leg is built here. This rule matches PowerShell or pwsh invoked with -WindowStyle (or the -Win abbreviation PowerShell itself accepts) set to Hidden, using windash so a hyphen- or slash-prefixed switch is caught the same way. MITRE's ParentProcessCorrelation knob — narrowing to unexpected parent processes — is named in the analytic but not applied here, because doing so would mean inventing a parent-process allowlist with no basis in the brief; as written the rule is broader than the technique and flags every hidden PowerShell launch, malicious or administrative alike. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0128, 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

Sentinel · KQL

Run this as a search.

DeviceProcessEvents| where ((FolderPath endswith "\\powershell.exe" or FolderPath endswith "\\pwsh.exe") and (ProcessCommandLine contains "-windowstyle hidden" or ProcessCommandLine contains "/windowstyle hidden" or ProcessCommandLine contains "–windowstyle hidden" or ProcessCommandLine contains "—windowstyle hidden" or ProcessCommandLine contains "―windowstyle hidden" or ProcessCommandLine contains "-windowstyle h" or ProcessCommandLine contains "/windowstyle h" or ProcessCommandLine contains "–windowstyle h" or ProcessCommandLine contains "—windowstyle h" or ProcessCommandLine contains "―windowstyle h" or ProcessCommandLine contains "-win hidden" or ProcessCommandLine contains "/win hidden" or ProcessCommandLine contains "–win hidden" or ProcessCommandLine contains "—win hidden" or ProcessCommandLine contains "―win hidden" or ProcessCommandLine contains "-win h" or ProcessCommandLine contains "/win h" or ProcessCommandLine contains "–win h" or ProcessCommandLine contains "—win h" or ProcessCommandLine contains "―win h"))

Splunk · SPL

Run this as a search.

index=* ((Image="*\\powershell.exe" OR Image="*\\pwsh.exe") AND (CommandLine="*-windowstyle hidden*" OR CommandLine="*/windowstyle hidden*" OR CommandLine="*–windowstyle hidden*" OR CommandLine="*—windowstyle hidden*" OR CommandLine="*―windowstyle hidden*" OR CommandLine="*-windowstyle h*" OR CommandLine="*/windowstyle h*" OR CommandLine="*–windowstyle h*" OR CommandLine="*—windowstyle h*" OR CommandLine="*―windowstyle h*" OR CommandLine="*-win hidden*" OR CommandLine="*/win hidden*" OR CommandLine="*–win hidden*" OR CommandLine="*—win hidden*" OR CommandLine="*―win hidden*" OR CommandLine="*-win h*" OR CommandLine="*/win h*" OR CommandLine="*–win h*" OR CommandLine="*—win h*" OR CommandLine="*―win h*"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(process.executable) LIKE "*\\\\powershell.exe" OR TO_LOWER(process.executable) LIKE "*\\\\pwsh.exe") AND (TO_LOWER(process.command_line) LIKE "*-windowstyle hidden*" OR TO_LOWER(process.command_line) LIKE "*/windowstyle hidden*" OR TO_LOWER(process.command_line) LIKE "*–windowstyle hidden*" OR TO_LOWER(process.command_line) LIKE "*—windowstyle hidden*" OR TO_LOWER(process.command_line) LIKE "*―windowstyle hidden*" OR TO_LOWER(process.command_line) LIKE "*-windowstyle h*" OR TO_LOWER(process.command_line) LIKE "*/windowstyle h*" OR TO_LOWER(process.command_line) LIKE "*–windowstyle h*" OR TO_LOWER(process.command_line) LIKE "*—windowstyle h*" OR TO_LOWER(process.command_line) LIKE "*―windowstyle h*" OR TO_LOWER(process.command_line) LIKE "*-win hidden*" OR TO_LOWER(process.command_line) LIKE "*/win hidden*" OR TO_LOWER(process.command_line) LIKE "*–win hidden*" OR TO_LOWER(process.command_line) LIKE "*—win hidden*" OR TO_LOWER(process.command_line) LIKE "*―win hidden*" OR TO_LOWER(process.command_line) LIKE "*-win h*" OR TO_LOWER(process.command_line) LIKE "*/win h*" OR TO_LOWER(process.command_line) LIKE "*–win h*" OR TO_LOWER(process.command_line) LIKE "*—win h*" OR TO_LOWER(process.command_line) LIKE "*―win h*"))

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="5">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="Image" type="pcre2">(?i)(\\powershell\.exe$|\\pwsh\.exe$)</field>    <field name="CommandLine" type="pcre2">(?i)(-windowstyle hidden|/windowstyle hidden|–windowstyle hidden|—windowstyle hidden|―windowstyle hidden|-windowstyle h|/windowstyle h|–windowstyle h|—windowstyle h|―windowstyle h|-win hidden|/win hidden|–win hidden|—win hidden|―win hidden|-win h|/win h|–win h|—win h|―win h)</field>    <description>PowerShell launched with a hidden window style</description>    <mitre>      <id>T1564.003</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.