Skip to content

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

Siemphony’s repertoire

Saved wireless profiles enumerated or exported in cleartext

Siemphony@siemphonymediumT1016.002unverified
AN1280 describes two things: enumerating the wireless profiles a host has saved, and pulling their pre-shared keys back out in cleartext. Both are driven from the command line through netsh's wlan context, so this rule requires the wlan token and one of the profile, export, network-listing or key=clear actions in the same command line; the pair is what separates discovery from the wireless diagnostics that share the binary. `show interfaces` and `show drivers` are deliberately excluded — they report the adapter's current state, carry neither a profile list nor a key, and are the first commands support staff type at any connectivity complaint. The other half of the analytic, wlanAPI.dll called directly from code, leaves no command line behind and is invisible here, so a quiet result is not evidence that nothing enumerated the wireless profiles. The logic is written in the Sysmon EventID 1 vocabulary the brief names for this category; the brief's other source, the PowerShell 4103/4104 channel, needs Script Block Logging enabled and a different field mapping, and if this category is fed from Security 4688 instead that channel needs Audit Process Creation plus the separate Include command line in process creation events policy — without it CommandLine is empty and the rule cannot match at all. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0464, 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 "wlan " and (ProcessCommandLine contains "show profile" or ProcessCommandLine contains "show networks" or ProcessCommandLine contains "export profile" or ProcessCommandLine contains "key=clear"))

Splunk · SPL

Run this as a search.

index=* (CommandLine="*wlan *" AND (CommandLine="*show profile*" OR CommandLine="*show networks*" OR CommandLine="*export profile*" OR CommandLine="*key=clear*"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(process.command_line) LIKE "*wlan *" AND (TO_LOWER(process.command_line) LIKE "*show profile*" OR TO_LOWER(process.command_line) LIKE "*show networks*" OR TO_LOWER(process.command_line) LIKE "*export profile*" OR TO_LOWER(process.command_line) LIKE "*key=clear*"))

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="7">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="CommandLine" type="pcre2">(?i)wlan </field>    <field name="CommandLine" type="pcre2">(?i)(show profile|show networks|export profile|key=clear)</field>    <description>Saved wireless profiles enumerated or exported in cleartext</description>    <mitre>      <id>T1016.002</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.