Skip to content

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

Siemphony’s repertoire

SQL Server engine spawning an operating system process

Siemphony@siemphonymediumT1505.001unverified
AN0511's observable at the only point where it reaches Windows telemetry: a process-creation record whose parent is sqlservr.exe. Both mechanisms the analytic names run inside the database engine's own process, so whatever they execute is created by it — `xp_cmdshell` shells out through cmd.exe, and a CLR assembly registered UNSAFE and invoked by a stored procedure launches its helper directly. sqlservr.exe has almost no legitimate reason to create a child, which is why the parent alone is the selector rather than a list of child images that an operator can trivially change. The two children the engine does spawn on its own — sqldumper.exe on a crash or non-yielding scheduler, and fdlauncher.exe when full-text search starts — are filtered by name only, so a payload dropped under either of those names is not caught. What this rule cannot see is the persistence itself. Creating or altering the malicious stored procedure, registering the CLR assembly, and flipping `xp_cmdshell` on via sp_configure are all statements inside the database; they appear in SQL Server's own audit or error log and never in Windows process creation. This rule therefore fires when the implanted procedure runs, not when it is planted, and a procedure that only reads or exfiltrates data through T-SQL spawns nothing and stays invisible. The rule is written in the Sysmon EventID 1 vocabulary (Image, ParentImage) named by the analytic; where the same Sigma category is fed by Security EventID 4688, that channel needs *Audit Process Creation* and a field mapping to NewProcessName and ParentProcessName first. AN0512's Linux leg — the mysqld/postgres UDF and `COPY ... PROGRAM` equivalents — is a different log source and is not covered here. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0181, 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 (InitiatingProcessFolderPath endswith "\\sqlservr.exe" and not ((FolderPath endswith "\\sqldumper.exe" or FolderPath endswith "\\fdlauncher.exe")))

Splunk · SPL

Run this as a search.

index=* (ParentImage="*\\sqlservr.exe" AND NOT ((Image="*\\sqldumper.exe" OR Image="*\\fdlauncher.exe")))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(process.parent.executable) LIKE "*\\\\sqlservr.exe" AND NOT ((TO_LOWER(process.executable) LIKE "*\\\\sqldumper.exe" OR TO_LOWER(process.executable) LIKE "*\\\\fdlauncher.exe")))

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="ParentImage" type="pcre2">(?i)\\sqlservr\.exe$</field>    <field name="Image" negate="yes" type="pcre2">(?i)(\\sqldumper\.exe$|\\fdlauncher\.exe$)</field>    <description>SQL Server engine spawning an operating system process</description>    <mitre>      <id>T1505.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.