Non-installer process writes an executable into System32 or SysWOW64
AN1211 describes a service binary being overwritten because the file or its containing directory has weak permissions, then that binary running under the service's own elevated context. Sysmon EID 11 (file_event, the logsource used here) can see only the write half of that story — it has no service name, no ACL and no privilege field — so this rule is a coarse proxy: an executable or DLL created or modified under System32 or SysWOW64, the two directories that host the large majority of built-in Windows service binaries, by a process outside a short allowlist of legitimate servicing tools (Windows Installer, TrustedInstaller, the servicing worker and the standalone update installer). It cannot confirm the written file backs a registered service, and it cannot see the later execution under elevated privileges that AN1211's second half describes — that is a Sysmon EID 11-to-EID 1 join on path and time window, which lib/sigma has no construct for. MITRE's MonitoredServices and HashBaseline knobs (a specific service list and known-good hashes) are not populated at all, because neither is something this pipeline can source generically; PrivilegedAccounts becomes the filter_trusted_writer allowlist below, authored here rather than taken from MITRE. Prerequisite: this fires only where the Sysmon configuration in use actually captures EID 11 for these paths — a config that filters file events by extension or excludes system directories produces zero rows here regardless of what is happening on disk. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0436, 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
Sentinel · KQL
Run this as a search.
DeviceFileEvents| where (((FolderPath endswith ".exe" or FolderPath endswith ".dll") and (FolderPath contains "\\System32\\" or FolderPath contains "\\SysWOW64\\")) and not (((InitiatingProcessFolderPath startswith "C:\\Windows\\System32\\msiexec.exe" or InitiatingProcessFolderPath startswith "C:\\Windows\\servicing\\TrustedInstaller.exe" or InitiatingProcessFolderPath startswith "C:\\Windows\\System32\\wusa.exe") or InitiatingProcessFolderPath endswith "\\TiWorker.exe")))
Splunk · SPL
Run this as a search.
index=* (((TargetFilename="*.exe" OR TargetFilename="*.dll") AND (TargetFilename="*\\System32\\*" OR TargetFilename="*\\SysWOW64\\*")) AND NOT (((Image="C:\\Windows\\System32\\msiexec.exe*" OR Image="C:\\Windows\\servicing\\TrustedInstaller.exe*" OR Image="C:\\Windows\\System32\\wusa.exe*") OR Image="*\\TiWorker.exe")))Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE (((TO_LOWER(file.path) LIKE "*.exe" OR TO_LOWER(file.path) LIKE "*.dll") AND (TO_LOWER(file.path) LIKE "*\\\\system32\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\syswow64\\\\*")) AND NOT (((TO_LOWER(process.executable) LIKE "c:\\\\windows\\\\system32\\\\msiexec.exe*" OR TO_LOWER(process.executable) LIKE "c:\\\\windows\\\\servicing\\\\trustedinstaller.exe*" OR TO_LOWER(process.executable) LIKE "c:\\\\windows\\\\system32\\\\wusa.exe*") OR TO_LOWER(process.executable) LIKE "*\\\\tiworker.exe")))
Wazuh · XML rule
Deploy to your manager — this is a rule, not a search.
<group name="sigma,windows,file_event,"> <!-- 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="TargetFilename" type="pcre2">(?i)(\.exe$|\.dll$)</field> <field name="TargetFilename" type="pcre2">(?i)(\\System32\\|\\SysWOW64\\)</field> <field name="Image" negate="yes" type="pcre2">(?i)(^C:\\Windows\\System32\\msiexec\.exe|^C:\\Windows\\servicing\\TrustedInstaller\.exe|^C:\\Windows\\System32\\wusa\.exe)</field> <field name="Image" negate="yes" type="pcre2">(?i)\\TiWorker\.exe$</field> <description>Non-installer process writes an executable into System32 or SysWOW64</description> <mitre> <id>T1574.010</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.