Skip to content

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

Siemphony’s repertoire

Payload reassembly or password-protected archive extraction

Matches three Windows utilities being used to turn staged content back into a usable payload, which is the part of AN0767 not already held elsewhere in this corpus: cmd.exe concatenating fragments with `copy /b`, expand.exe pulling a named member out of a cabinet with `-F:`, and an archiver handed a password on the command line with `-p`. The certutil `-decode` and PowerShell `FromBase64String` shapes the analytic lists first are deliberately absent — the T1027.013 rule already selects on exactly those two, and a second copy would add alerts without adding coverage. The `copy /b` leg has a structural limit worth knowing before relying on it: `copy` is a cmd built-in rather than a binary, so it produces a process-creation event only when cmd.exe is started with the command already on its command line, as a dropper or a one-liner does; the same command typed into a console that is already running, or reached from inside a .bat file, creates no process and is invisible here. The `type` command MITRE mentions alongside it is not selectable at all, because the word is far too common in command lines to gate on. The utility and archiver lists populate MITRE's `ToolName` and `FileExtensionFilter` knobs and are authored here, not taken from MITRE; the `TimeWindow` knob that would tie the decode to the download preceding it needs a cross-event join lib/sigma does not model, and the analytic's other two log sources, Sysmon EventID 11 and EventID 10, carry no command line for any of this to be read from. Only the Windows analytic is covered — the Linux and macOS analytics in this strategy are separate log sources and would need their own rules. This rule is written in the Sysmon EventID 1 process_creation vocabulary (`Image`, `CommandLine`), and Sysmon is not present in a default install, so with no agent deployed the rule returns zero rows, which reads as quiet when it means blind. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0275, 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: Payload reassembly or password-protected archive extractionid: 3d94e8c7-3a23-42f9-9601-823eb5512a7estatus: experimentaldescription: |  Matches three Windows utilities being used to turn staged content back into a  usable payload, which is the part of AN0767 not already held elsewhere in  this corpus: cmd.exe concatenating fragments with `copy /b`, expand.exe  pulling a named member out of a cabinet with `-F:`, and an archiver handed a  password on the command line with `-p`. The certutil `-decode` and PowerShell  `FromBase64String` shapes the analytic lists first are deliberately absent —  the T1027.013 rule already selects on exactly those two, and a second copy  would add alerts without adding coverage. The `copy /b` leg has a structural  limit worth knowing before relying on it: `copy` is a cmd built-in rather  than a binary, so it produces a process-creation event only when cmd.exe is  started with the command already on its command line, as a dropper or a  one-liner does; the same command typed into a console that is already  running, or reached from inside a .bat file, creates no process and is  invisible here. The `type` command MITRE mentions alongside it is not  selectable at all, because the word is far too common in command lines to  gate on. The utility and archiver lists populate MITRE's `ToolName` and  `FileExtensionFilter` knobs and are authored here, not taken from MITRE; the  `TimeWindow` knob that would tie the decode to the download preceding it  needs a cross-event join lib/sigma does not model, and the analytic's other  two log sources, Sysmon EventID 11 and EventID 10, carry no command line for  any of this to be read from. Only the Windows analytic is covered — the Linux  and macOS analytics in this strategy are separate log sources and would need  their own rules. This rule is written in the Sysmon EventID 1  process_creation vocabulary (`Image`, `CommandLine`), and Sysmon is not  present in a default install, so with no agent deployed the rule returns zero  rows, which reads as quiet when it means blind.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0275, 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/T1140  - https://attack.mitre.org/detectionstrategies/DET0275author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags:  - attack.defense-evasion  - attack.t1140logsource:  category: process_creation  product: windowsdetection:  selection_concat:    Image|endswith: '\cmd.exe'    CommandLine|contains: 'copy /b'  selection_expand:    Image|endswith: '\expand.exe'    CommandLine|contains|windash: '-f:'  selection_archive_password:    Image|endswith:      - '\7z.exe'      - '\7za.exe'      - '\rar.exe'      - '\unrar.exe'      - '\winrar.exe'    CommandLine|contains: ' -p'  condition: 1 of selection_*falsepositives:  - "Driver and update servicing, which is where expand with -F: is normally typed. Extracting a single .inf, .sys or .dll from a Windows Update or vendor driver cabinet is routine work on imaging, build and helpdesk hosts, and on those machines it is the loudest source of matches by a wide margin."  - "Backup, diagnostics and vendor support tooling that unpacks a password-protected archive non-interactively and therefore has to pass the password with -p so the job does not block on a prompt. Encrypted backup sets and support log bundles are both handled this way on a schedule."  - "Build and packaging scripts that concatenate files with copy /b — joining cabinet parts, appending a payload to a self-extracting stub, or assembling a firmware image — which is the documented purpose of the flag and long predates its adoption by adversaries."  - "Helpdesk and end-user extraction of a password-protected archive received by mail or from a supplier portal, when it is done from a command line or a script rather than through the archiver's own window."level: medium

Sentinel · KQL

Run this as a search.

DeviceProcessEvents| where ((FolderPath endswith "\\cmd.exe" and ProcessCommandLine contains "copy /b") or (FolderPath endswith "\\expand.exe" and (ProcessCommandLine contains "-f:" or ProcessCommandLine contains "/f:" or ProcessCommandLine contains "–f:" or ProcessCommandLine contains "—f:" or ProcessCommandLine contains "―f:")) or ((FolderPath endswith "\\7z.exe" or FolderPath endswith "\\7za.exe" or FolderPath endswith "\\rar.exe" or FolderPath endswith "\\unrar.exe" or FolderPath endswith "\\winrar.exe") and ProcessCommandLine contains " -p"))

Splunk · SPL

Run this as a search.

index=* ((Image="*\\cmd.exe" AND CommandLine="*copy /b*") OR (Image="*\\expand.exe" AND (CommandLine="*-f:*" OR CommandLine="*/f:*" OR CommandLine="*–f:*" OR CommandLine="*—f:*" OR CommandLine="*―f:*")) OR ((Image="*\\7z.exe" OR Image="*\\7za.exe" OR Image="*\\rar.exe" OR Image="*\\unrar.exe" OR Image="*\\winrar.exe") AND CommandLine="* -p*"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(process.executable) LIKE "*\\\\cmd.exe" AND TO_LOWER(process.command_line) LIKE "*copy /b*") OR (TO_LOWER(process.executable) LIKE "*\\\\expand.exe" AND (TO_LOWER(process.command_line) LIKE "*-f:*" OR TO_LOWER(process.command_line) LIKE "*/f:*" OR TO_LOWER(process.command_line) LIKE "*–f:*" OR TO_LOWER(process.command_line) LIKE "*—f:*" OR TO_LOWER(process.command_line) LIKE "*―f:*")) OR ((TO_LOWER(process.executable) LIKE "*\\\\7z.exe" OR TO_LOWER(process.executable) LIKE "*\\\\7za.exe" OR TO_LOWER(process.executable) LIKE "*\\\\rar.exe" OR TO_LOWER(process.executable) LIKE "*\\\\unrar.exe" OR TO_LOWER(process.executable) LIKE "*\\\\winrar.exe") AND TO_LOWER(process.command_line) LIKE "* -p*"))

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. -->  <!-- 3 rules: the Sigma condition ORs across different fields,       which one rule cannot express. Any one matching is a hit. -->  <rule id="100000" level="7">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="Image" type="pcre2">(?i)\\cmd\.exe$</field>    <field name="CommandLine" type="pcre2">(?i)copy /b</field>    <description>Payload reassembly or password-protected archive extraction (1/3)</description>    <mitre>      <id>T1140</id>    </mitre>  </rule>   <rule id="100001" level="7">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="Image" type="pcre2">(?i)\\expand\.exe$</field>    <field name="CommandLine" type="pcre2">(?i)(-f:|/f:|–f:|—f:|―f:)</field>    <description>Payload reassembly or password-protected archive extraction (2/3)</description>    <mitre>      <id>T1140</id>    </mitre>  </rule>   <rule id="100002" level="7">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="Image" type="pcre2">(?i)(\\7z\.exe$|\\7za\.exe$|\\rar\.exe$|\\unrar\.exe$|\\winrar\.exe$)</field>    <field name="CommandLine" type="pcre2">(?i) -p</field>    <description>Payload reassembly or password-protected archive extraction (3/3)</description>    <mitre>      <id>T1140</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.