Skip to content

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

Siemphony’s repertoire

Packet flood tool launched with a continuous-send argument

Siemphony@siemphonymediumT1498.001unverified
Matches the launch of a raw-packet generator either whose only purpose is saturation traffic, or which was given an argument that requests continuous or rate-driven transmission — `hping3 --flood`, `nping --rate`, `ping -f` — which is the only part of AN0970 that a single event can carry. It does not detect a flood, and should not be read as though it did: Sigma has no aggregation, so MITRE's SyscallBurstCount and packet-rate knobs cannot be expressed at all, and a match means only that a tool capable of flooding was started with flooding options, never that outbound volume actually became abnormal. Coverage is correspondingly weak in the other direction too — a flood driven by a compiled dropper, a shell loop around a socket, or a botnet in which each host sends very little produces no matching command line, so silence from this rule is no evidence that the estate is not being used as a source. Written against the `process_creation` category for Linux, whose `CommandLine` field is a normalised join of the auditd SYSCALL and EXECVE records; a raw auditd feed keeps the arguments in a separate EXECVE record and needs that mapping applied before any of the argument selections can match. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0343, 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 "/t50" or FolderPath endswith "/mz" or FolderPath endswith "/mausezahn" or FolderPath endswith "/slowhttptest" or FolderPath endswith "/hyenae") or ((FolderPath endswith "/hping" or FolderPath endswith "/hping2" or FolderPath endswith "/hping3" or FolderPath endswith "/nping") and (ProcessCommandLine contains "--flood" or ProcessCommandLine contains "--rand-source" or ProcessCommandLine contains "--faster" or ProcessCommandLine contains "--rate " or ProcessCommandLine contains " -i u"))) or ((FolderPath endswith "/ping" or FolderPath endswith "/ping6") and ProcessCommandLine contains " -f "))

Splunk · SPL

Run this as a search.

index=* (((Image="*/t50" OR Image="*/mz" OR Image="*/mausezahn" OR Image="*/slowhttptest" OR Image="*/hyenae") OR ((Image="*/hping" OR Image="*/hping2" OR Image="*/hping3" OR Image="*/nping") AND (CommandLine="*--flood*" OR CommandLine="*--rand-source*" OR CommandLine="*--faster*" OR CommandLine="*--rate *" OR CommandLine="* -i u*"))) OR ((Image="*/ping" OR Image="*/ping6") AND CommandLine="* -f *"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (((TO_LOWER(process.executable) LIKE "*/t50" OR TO_LOWER(process.executable) LIKE "*/mz" OR TO_LOWER(process.executable) LIKE "*/mausezahn" OR TO_LOWER(process.executable) LIKE "*/slowhttptest" OR TO_LOWER(process.executable) LIKE "*/hyenae") OR ((TO_LOWER(process.executable) LIKE "*/hping" OR TO_LOWER(process.executable) LIKE "*/hping2" OR TO_LOWER(process.executable) LIKE "*/hping3" OR TO_LOWER(process.executable) LIKE "*/nping") AND (TO_LOWER(process.command_line) LIKE "*--flood*" OR TO_LOWER(process.command_line) LIKE "*--rand-source*" OR TO_LOWER(process.command_line) LIKE "*--faster*" OR TO_LOWER(process.command_line) LIKE "*--rate *" OR TO_LOWER(process.command_line) LIKE "* -i u*"))) OR ((TO_LOWER(process.executable) LIKE "*/ping" OR TO_LOWER(process.executable) LIKE "*/ping6") AND TO_LOWER(process.command_line) LIKE "* -f *"))

Wazuh · XML rule

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

<group name="sigma,linux,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 linux so this only evaluates relevant events. -->    <field name="Image" type="pcre2">(?i)(/t50$|/mz$|/mausezahn$|/slowhttptest$|/hyenae$)</field>    <description>Packet flood tool launched with a continuous-send argument (1/3)</description>    <mitre>      <id>T1498.001</id>    </mitre>  </rule>   <rule id="100001" level="7">    <!-- Set <if_sid> to the decoder/base rule for linux so this only evaluates relevant events. -->    <field name="Image" type="pcre2">(?i)(/hping$|/hping2$|/hping3$|/nping$)</field>    <field name="CommandLine" type="pcre2">(?i)(--flood|--rand-source|--faster|--rate | -i u)</field>    <description>Packet flood tool launched with a continuous-send argument (2/3)</description>    <mitre>      <id>T1498.001</id>    </mitre>  </rule>   <rule id="100002" level="7">    <!-- Set <if_sid> to the decoder/base rule for linux so this only evaluates relevant events. -->    <field name="Image" type="pcre2">(?i)(/ping$|/ping6$)</field>    <field name="CommandLine" type="pcre2">(?i) -f </field>    <description>Packet flood tool launched with a continuous-send argument (3/3)</description>    <mitre>      <id>T1498.001</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.