Packet flood tool launched with a continuous-send argument
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 descriptionShow less
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: Packet flood tool launched with a continuous-send argumentid: aed598e4-9696-499c-b5ed-e473bd692669status: experimentaldescription: | 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.references: - https://attack.mitre.org/techniques/T1498/001 - https://attack.mitre.org/detectionstrategies/DET0343author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags: - attack.impact - attack.t1498.001logsource: category: process_creation product: linuxdetection: selection_dos_tool: Image|endswith: - '/t50' - '/mz' - '/mausezahn' - '/slowhttptest' - '/hyenae' selection_packet_crafter: Image|endswith: - '/hping' - '/hping2' - '/hping3' - '/nping' selection_flood_arg: CommandLine|contains: - '--flood' - '--rand-source' - '--faster' - '--rate ' - ' -i u' selection_ping: Image|endswith: - '/ping' - '/ping6' selection_ping_flood_arg: CommandLine|contains: ' -f ' condition: selection_dos_tool or (selection_packet_crafter and selection_flood_arg) or (selection_ping and selection_ping_flood_arg)falsepositives: - "Network and platform engineers running ping -f to test link quality, path MTU or NIC throughput during a fault investigation or a hardware burn-in. This is ordinary operations work, it is the highest-volume branch of the rule by a wide margin, and nothing in the event distinguishes it from a deliberate flood." - "Booked load and resilience testing, where a performance team points slowhttptest or nping at the organisation's own service. The command line is identical to an attack launched from the same host and only the schedule and the target separate them." - "Authorised penetration tests and red-team engagements that include availability testing in scope, which is where hping3 --flood is most often seen legitimately." - "Lab, training and CTF hosts, where these packages are installed on purpose and exercised as coursework, so every student produces matches for the duration of a course."level: mediumSentinel · 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.
Nobody has run this in a real environment and said what happened.
Verdicts from engineers who deployed it
0 castNo 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.