New process reaches System integrity from a non-system parent
Matches the result AN1253 describes rather than the API call that produces it: a new process whose own IntegrityLevel is System, spawned by a parent that is not one of the process-hosting binaries Windows itself uses to start SYSTEM work. CreateProcessWithTokenW, CreateProcessAsUserW and runas.exe all converge on this same signature regardless of which one was used, which is the point — this rule does not require a runas command line, because that path is already covered separately by T1134.001 in this corpus and repeating it here would double-count the same event under two technique IDs. The filter is MITRE's ParentChildUserMismatch knob turned into an allowlist of parents that legitimately start SYSTEM processes (services.exe, wininit.exe, smss.exe, csrss.exe, winlogon.exe, userinit.exe, lsass.exe, svchost.exe, taskhostw.exe, WmiPrvSE.exe, TrustedInstaller.exe — the last four added because native Windows services hosted in svchost.exe, and the Task Scheduler/WMI/servicing helpers they hand off to, are the single most common legitimate source of System-integrity children on a real endpoint; without them this rule would have alerted on routine OS background activity far louder than any false positive named below); anything else reaching System integrity is the anomaly the analytic asks for. This cannot see IntegrityEscalationDelta as MITRE frames it (a jump measured against the parent's own integrity) because that would require reading the parent's own process_creation event, a cross-event join lib/sigma does not support — the proxy here is coarser: any non-allowlisted parent producing a System-integrity child, not specifically a jump from Medium or Low. The brief also maps this analytic onto Security 4688, but 4688 has no IntegrityLevel field at all — only TokenElevationType, which encodes UAC elevation type, not integrity level — so a 4688-only feed cannot run this rule even with a field mapping; it requires genuine Sysmon EventID 1 telemetry. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0456, 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.
DeviceProcessEvents| where (ProcessIntegrityLevel =~ "System" and not ((InitiatingProcessFolderPath endswith "\\services.exe" or InitiatingProcessFolderPath endswith "\\wininit.exe" or InitiatingProcessFolderPath endswith "\\smss.exe" or InitiatingProcessFolderPath endswith "\\csrss.exe" or InitiatingProcessFolderPath endswith "\\winlogon.exe" or InitiatingProcessFolderPath endswith "\\userinit.exe" or InitiatingProcessFolderPath endswith "\\lsass.exe" or InitiatingProcessFolderPath endswith "\\svchost.exe" or InitiatingProcessFolderPath endswith "\\taskhostw.exe" or InitiatingProcessFolderPath endswith "\\WmiPrvSE.exe" or InitiatingProcessFolderPath endswith "\\TrustedInstaller.exe" or InitiatingProcessFolderPath endswith "\\CcmExec.exe" or InitiatingProcessFolderPath endswith "\\Microsoft.Management.Services.IntuneWindowsAgent.exe")))
Splunk · SPL
Run this as a search.
index=* (IntegrityLevel="System" AND NOT ((ParentImage="*\\services.exe" OR ParentImage="*\\wininit.exe" OR ParentImage="*\\smss.exe" OR ParentImage="*\\csrss.exe" OR ParentImage="*\\winlogon.exe" OR ParentImage="*\\userinit.exe" OR ParentImage="*\\lsass.exe" OR ParentImage="*\\svchost.exe" OR ParentImage="*\\taskhostw.exe" OR ParentImage="*\\WmiPrvSE.exe" OR ParentImage="*\\TrustedInstaller.exe" OR ParentImage="*\\CcmExec.exe" OR ParentImage="*\\Microsoft.Management.Services.IntuneWindowsAgent.exe")))Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE (TO_LOWER(IntegrityLevel) == "system" AND NOT ((TO_LOWER(process.parent.executable) LIKE "*\\\\services.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\wininit.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\smss.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\csrss.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\winlogon.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\userinit.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\lsass.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\svchost.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\taskhostw.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\wmiprvse.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\trustedinstaller.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\ccmexec.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\microsoft.management.services.intunewindowsagent.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="IntegrityLevel" type="pcre2">(?i)^System$</field> <field name="ParentImage" negate="yes" type="pcre2">(?i)(\\services\.exe$|\\wininit\.exe$|\\smss\.exe$|\\csrss\.exe$|\\winlogon\.exe$|\\userinit\.exe$|\\lsass\.exe$|\\svchost\.exe$|\\taskhostw\.exe$|\\WmiPrvSE\.exe$|\\TrustedInstaller\.exe$|\\CcmExec\.exe$|\\Microsoft\.Management\.Services\.IntuneWindowsAgent\.exe$)</field> <description>New process reaches System integrity from a non-system parent</description> <mitre> <id>T1134.002</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.