Skip to content

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

Siemphony’s repertoire

Packet capture utility executed on a Windows host

Siemphony@siemphonymediumT1040unverified
Matches process creation of the capture engines and built-in tracing tools that put a Windows NIC into capture mode — the ToolNames half of AN0875, populated here with the Wireshark suite, the WinPcap/Npcap command-line ports, NirSoft's sniffer, Microsoft Network Monitor's collector, pktmon and a netsh packet capture. The netsh leg requires capture=yes alongside trace start, because netsh trace start on its own starts an ETW scenario trace and captures no packets — that form is Microsoft's standard troubleshooting step, not this technique. The capture engine is selected rather than the GUI on purpose: wireshark.exe never touches the adapter itself, it spawns dumpcap.exe, so a selector on the GUI name would miss every capture started from a script or from tshark. The brief maps Security EventID 4688 onto Sigma's process_creation category, which is Sysmon-shaped; this rule is written in that vocabulary (Image, CommandLine), so a Sysmon EventID 1 feed matches directly while a 4688 feed needs NewProcessName mapped onto Image first, plus Audit Process Creation enabled and the separate "Include command line in process creation events" policy before the netsh selection can ever match. AN0875's other leg — the capture driver arriving as a service install, System EventID 7045 — is a different log source and cannot be joined into one Sigma rule. A renamed binary, or a tool that links a capture library statically instead of shelling out, produces no match here at all. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0314, 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 "\\dumpcap.exe" or FolderPath endswith "\\tshark.exe" or FolderPath endswith "\\rawshark.exe" or FolderPath endswith "\\windump.exe" or FolderPath endswith "\\tcpdump.exe" or FolderPath endswith "\\rawcap.exe" or FolderPath endswith "\\netcap.exe" or FolderPath endswith "\\nmcap.exe" or FolderPath endswith "\\smsniff.exe" or FolderPath endswith "\\pktmon.exe") or (FolderPath endswith "\\netsh.exe" and (ProcessCommandLine contains "trace start" and ProcessCommandLine contains "capture=yes")))

Splunk · SPL

Run this as a search.

index=* ((Image="*\\dumpcap.exe" OR Image="*\\tshark.exe" OR Image="*\\rawshark.exe" OR Image="*\\windump.exe" OR Image="*\\tcpdump.exe" OR Image="*\\rawcap.exe" OR Image="*\\netcap.exe" OR Image="*\\nmcap.exe" OR Image="*\\smsniff.exe" OR Image="*\\pktmon.exe") OR (Image="*\\netsh.exe" AND (CommandLine="*trace start*" AND CommandLine="*capture=yes*")))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(process.executable) LIKE "*\\\\dumpcap.exe" OR TO_LOWER(process.executable) LIKE "*\\\\tshark.exe" OR TO_LOWER(process.executable) LIKE "*\\\\rawshark.exe" OR TO_LOWER(process.executable) LIKE "*\\\\windump.exe" OR TO_LOWER(process.executable) LIKE "*\\\\tcpdump.exe" OR TO_LOWER(process.executable) LIKE "*\\\\rawcap.exe" OR TO_LOWER(process.executable) LIKE "*\\\\netcap.exe" OR TO_LOWER(process.executable) LIKE "*\\\\nmcap.exe" OR TO_LOWER(process.executable) LIKE "*\\\\smsniff.exe" OR TO_LOWER(process.executable) LIKE "*\\\\pktmon.exe") OR (TO_LOWER(process.executable) LIKE "*\\\\netsh.exe" AND (TO_LOWER(process.command_line) LIKE "*trace start*" AND TO_LOWER(process.command_line) LIKE "*capture=yes*")))

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. -->  <!-- 2 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)(\\dumpcap\.exe$|\\tshark\.exe$|\\rawshark\.exe$|\\windump\.exe$|\\tcpdump\.exe$|\\rawcap\.exe$|\\netcap\.exe$|\\nmcap\.exe$|\\smsniff\.exe$|\\pktmon\.exe$)</field>    <description>Packet capture utility executed on a Windows host (1/2)</description>    <mitre>      <id>T1040</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)\\netsh\.exe$</field>    <field name="CommandLine" type="pcre2">(?i)(?=.*(?:trace start))(?=.*(?:capture=yes)).*</field>    <description>Packet capture utility executed on a Windows host (2/2)</description>    <mitre>      <id>T1040</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.