Skip to content

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

Siemphony’s repertoire

Stop or disable command targeting a data-store service

Siemphony@siemphonylowT1489unverified
AN0061's chain is elevated context, then sc.exe/Stop-Service/ChangeServiceConfigW, then a terminated service, then possible follow-on file manipulation — Sigma has no construct for that window, so this rule keeps only the second link: the process invoking a controlled stop or a persistent disable against a named data-store service. That link is also what separates this technique from the published T1687 rule in this corpus, which keys on System 7031/7034 — the SCM recording a service that died *without* a control call — and says explicitly that a rule built on the control interface selects for the complement of exploitation. This is that complement: `sc.exe stop`, `net stop` and `Stop-Service` all use the sanctioned path and never produce a 7031. The service-name list is scoped to Exchange, SQL and IIS deliberately, not to AV or EDR names, even though AN0061's own example text pairs "Exchange, SQL" with "AV, endpoint monitoring" — narrowing away from that half avoids reproducing the security-tooling rule that belongs to T1562.001. For the same reason the list carries no shadow-copy term: stopping VSS is the precursor to inhibiting recovery and belongs to T1490, not to the data-store impact this rule is filed under. MITRE's `ServiceName` knob is populated here with that narrower list; a raw `ChangeServiceConfigW` call made directly from a process's own code, without going through any of these command-line tools, leaves nothing on this selector at all. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0021, 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 "\\sc.exe" or FolderPath endswith "\\net.exe" or FolderPath endswith "\\net1.exe" or FolderPath endswith "\\powershell.exe" or FolderPath endswith "\\pwsh.exe") and (ProcessCommandLine contains " stop " or ProcessCommandLine contains "Stop-Service" or ProcessCommandLine contains "start= disabled" or ProcessCommandLine contains "start=disabled")) and (ProcessCommandLine contains "MSExchangeIS" or ProcessCommandLine contains "MSExchangeTransport" or ProcessCommandLine contains "MSSQLSERVER" or ProcessCommandLine contains "SQLSERVERAGENT" or ProcessCommandLine contains "W3SVC"))

Splunk · SPL

Run this as a search.

index=* (((Image="*\\sc.exe" OR Image="*\\net.exe" OR Image="*\\net1.exe" OR Image="*\\powershell.exe" OR Image="*\\pwsh.exe") AND (CommandLine="* stop *" OR CommandLine="*Stop-Service*" OR CommandLine="*start= disabled*" OR CommandLine="*start=disabled*")) AND (CommandLine="*MSExchangeIS*" OR CommandLine="*MSExchangeTransport*" OR CommandLine="*MSSQLSERVER*" OR CommandLine="*SQLSERVERAGENT*" OR CommandLine="*W3SVC*"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (((TO_LOWER(process.executable) LIKE "*\\\\sc.exe" OR TO_LOWER(process.executable) LIKE "*\\\\net.exe" OR TO_LOWER(process.executable) LIKE "*\\\\net1.exe" OR TO_LOWER(process.executable) LIKE "*\\\\powershell.exe" OR TO_LOWER(process.executable) LIKE "*\\\\pwsh.exe") AND (TO_LOWER(process.command_line) LIKE "* stop *" OR TO_LOWER(process.command_line) LIKE "*stop-service*" OR TO_LOWER(process.command_line) LIKE "*start= disabled*" OR TO_LOWER(process.command_line) LIKE "*start=disabled*")) AND (TO_LOWER(process.command_line) LIKE "*msexchangeis*" OR TO_LOWER(process.command_line) LIKE "*msexchangetransport*" OR TO_LOWER(process.command_line) LIKE "*mssqlserver*" OR TO_LOWER(process.command_line) LIKE "*sqlserveragent*" OR TO_LOWER(process.command_line) LIKE "*w3svc*"))

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="Image" type="pcre2">(?i)(\\sc\.exe$|\\net\.exe$|\\net1\.exe$|\\powershell\.exe$|\\pwsh\.exe$)</field>    <field name="CommandLine" type="pcre2">(?i)( stop |Stop-Service|start= disabled|start=disabled)</field>    <field name="CommandLine" type="pcre2">(?i)(MSExchangeIS|MSExchangeTransport|MSSQLSERVER|SQLSERVERAGENT|W3SVC)</field>    <description>Stop or disable command targeting a data-store service</description>    <mitre>      <id>T1489</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.