Skip to content

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

Siemphony’s repertoire

Enumeration of local network connections from the command line

Siemphony@siemphonylowT1049unverified
Matches process creation whose command line names a connection-listing utility — netstat in any path or casing form, the Get-NetTCPConnection and Get-NetUDPEndpoint cmdlets, and net session. The whole test is on CommandLine rather than split between Image and CommandLine because the cmdlet form never appears as an Image: it is an argument of powershell.exe, so one field carries both shapes and no backend has to OR across two. This populates MITRE's CommandPatternList knob; MITRE names the knob, the four patterns are authored here. ATT&CK also names "net use", which is deliberately left out — "net use" is a substring of "net user" (account discovery, T1087), and bare net use is drive mapping on every domain workstation at logon, so including it would swamp the rule with a match it cannot even attribute to the right technique. Two blind spots: a cmdlet typed at an interactive PowerShell prompt spawns no process and is visible only in Script Block Logging (EventID 4104, the brief's other Windows feed, which is off unless Script Block Logging is enabled), and the same cmdlet inside an -EncodedCommand blob does not match at all. The rule is written in the Sysmon EventID 1 vocabulary of the brief's first log source; if the estate feeds Security 4688 into this category instead, CommandLine is populated only when both Audit Process Creation and the separate Include command line in process creation events policy are on, and without them the rule returns zero rows for want of the field rather than for want of the behaviour. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0320, 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 (ProcessCommandLine contains "netstat" or ProcessCommandLine contains "Get-NetTCPConnection" or ProcessCommandLine contains "Get-NetUDPEndpoint" or ProcessCommandLine contains "net session")

Splunk · SPL

Run this as a search.

index=* (CommandLine="*netstat*" OR CommandLine="*Get-NetTCPConnection*" OR CommandLine="*Get-NetUDPEndpoint*" OR CommandLine="*net session*")

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(process.command_line) LIKE "*netstat*" OR TO_LOWER(process.command_line) LIKE "*get-nettcpconnection*" OR TO_LOWER(process.command_line) LIKE "*get-netudpendpoint*" OR TO_LOWER(process.command_line) LIKE "*net session*")

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="CommandLine" type="pcre2">(?i)(netstat|Get-NetTCPConnection|Get-NetUDPEndpoint|net session)</field>    <description>Enumeration of local network connections from the command line</description>    <mitre>      <id>T1049</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.