Skip to content

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

Siemphony’s repertoire

Driver loaded from a user-writable path or a known-abused driver

Takes the driver-load leg of MITRE's AN1419 rather than its process-creation leg: a kernel driver whose image sits in a user-writable directory instead of System32\drivers, or whose filename is one of the signed but vulnerable drivers repeatedly staged for privilege escalation. Choosing this leg is what keeps the rule from collapsing into another "service spawns a shell" analytic — the published T1210 and T1190 rules both match process_creation on a parent-child pair, and this one shares no log source, no field and no event with either. Signature status is deliberately not used as a filter, because the defining property of a bring-your-own-vulnerable-driver load is that the driver is validly signed, so SignatureStatus is Valid in exactly the case worth catching; the name list is authored here from public reporting rather than supplied by MITRE, which names only the DriverNamePattern knob, and it is defeated by renaming the .sys file, which is why the path arm carries the general case. Sysmon EventID 6 also carries no loading process, so the parent lineage in MITRE's ParentProcessPath knob and the 4672 privilege-use follow-on cannot be expressed here at all. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0514, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full description

The detection

The 3 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

title: Driver loaded from a user-writable path or a known-abused driverid: 8988e8fa-945a-41ce-a863-1fe0a7b49e9dstatus: experimentaldescription: |  Takes the driver-load leg of MITRE's AN1419 rather than its process-creation  leg: a kernel driver whose image sits in a user-writable directory instead of  System32\drivers, or whose filename is one of the signed but vulnerable drivers  repeatedly staged for privilege escalation. Choosing this leg is what keeps the  rule from collapsing into another "service spawns a shell" analytic — the  published T1210 and T1190 rules both match process_creation on a parent-child  pair, and this one shares no log source, no field and no event with either.  Signature status is deliberately not used as a filter, because the defining  property of a bring-your-own-vulnerable-driver load is that the driver is  validly signed, so SignatureStatus is Valid in exactly the case worth catching;  the name list is authored here from public reporting rather than supplied by  MITRE, which names only the DriverNamePattern knob, and it is defeated by  renaming the .sys file, which is why the path arm carries the general case.  Sysmon EventID 6 also carries no loading process, so the parent lineage in  MITRE's ParentProcessPath knob and the 4672 privilege-use follow-on cannot be  expressed here at all.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0514, not hand-written and not tested by its author. Any lab result is on this rule's own page.references:  - https://attack.mitre.org/techniques/T1068  - https://attack.mitre.org/detectionstrategies/DET0514author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags:  - attack.privilege-escalation  - attack.t1068logsource:  category: driver_load  product: windowsdetection:  selection_user_writable_path:    ImageLoaded|contains:      - '\Users\'      - '\Windows\Temp\'      - '\ProgramData\'      - '\PerfLogs\'      - '\$Recycle.Bin\'  selection_known_abused_driver:    ImageLoaded|endswith:      - '\dbutil_2_3.sys'      - '\DBUtilDrv2.sys'      - '\RTCore64.sys'      - '\gdrv.sys'      - '\iqvw64e.sys'      - '\mhyprot2.sys'      - '\procexp152.sys'      - '\WinRing0x64.sys'      - '\AsrDrv101.sys'      - '\AsrDrv103.sys'      - '\aswArPot.sys'      - '\zam64.sys'      - '\viragt64.sys'      - '\truesight.sys'  condition: 1 of selection*falsepositives:  - "Hardware monitoring, overclocking and system-inspection utilities loading their own drivers as designed — RTCore64.sys under a GPU tuning tool, WinRing0x64.sys under a sensor utility, procexp152.sys whenever Process Explorer is started elevated. On engineering and IT workstations this is the normal case and the rule's dominant volume by a wide margin, which is why the level is medium rather than high."  - "Anti-malware and anti-rootkit products whose own driver names appear in the list, such as aswArPot.sys, which load at boot on every protected host in an estate that runs them."  - "Software installers, virtualisation guest tooling and driver update utilities that stage a .sys file under %ProgramData% or %TEMP% and load it there before moving it into System32\\drivers."  - "Portable diagnostic and benchmarking tools run from a user profile or a USB path by support staff, which load their driver straight out of \\Users\\ and match the path arm on every run."level: medium

Splunk · SPL

Run this as a search.

index=* ((ImageLoaded="*\\Users\\*" OR ImageLoaded="*\\Windows\\Temp\\*" OR ImageLoaded="*\\ProgramData\\*" OR ImageLoaded="*\\PerfLogs\\*" OR ImageLoaded="*\\$Recycle.Bin\\*") OR (ImageLoaded="*\\dbutil_2_3.sys" OR ImageLoaded="*\\DBUtilDrv2.sys" OR ImageLoaded="*\\RTCore64.sys" OR ImageLoaded="*\\gdrv.sys" OR ImageLoaded="*\\iqvw64e.sys" OR ImageLoaded="*\\mhyprot2.sys" OR ImageLoaded="*\\procexp152.sys" OR ImageLoaded="*\\WinRing0x64.sys" OR ImageLoaded="*\\AsrDrv101.sys" OR ImageLoaded="*\\AsrDrv103.sys" OR ImageLoaded="*\\aswArPot.sys" OR ImageLoaded="*\\zam64.sys" OR ImageLoaded="*\\viragt64.sys" OR ImageLoaded="*\\truesight.sys"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(file.path) LIKE "*\\\\users\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\windows\\\\temp\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\programdata\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\perflogs\\\\*" OR TO_LOWER(file.path) LIKE "*\\\\$recycle.bin\\\\*") OR (TO_LOWER(file.path) LIKE "*\\\\dbutil_2_3.sys" OR TO_LOWER(file.path) LIKE "*\\\\dbutildrv2.sys" OR TO_LOWER(file.path) LIKE "*\\\\rtcore64.sys" OR TO_LOWER(file.path) LIKE "*\\\\gdrv.sys" OR TO_LOWER(file.path) LIKE "*\\\\iqvw64e.sys" OR TO_LOWER(file.path) LIKE "*\\\\mhyprot2.sys" OR TO_LOWER(file.path) LIKE "*\\\\procexp152.sys" OR TO_LOWER(file.path) LIKE "*\\\\winring0x64.sys" OR TO_LOWER(file.path) LIKE "*\\\\asrdrv101.sys" OR TO_LOWER(file.path) LIKE "*\\\\asrdrv103.sys" OR TO_LOWER(file.path) LIKE "*\\\\aswarpot.sys" OR TO_LOWER(file.path) LIKE "*\\\\zam64.sys" OR TO_LOWER(file.path) LIKE "*\\\\viragt64.sys" OR TO_LOWER(file.path) LIKE "*\\\\truesight.sys"))

Wazuh · XML rule

Deploy to your manager — this is a rule, not a search.

<group name="sigma,windows,driver_load,">  <!-- 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="ImageLoaded" type="pcre2">(?i)((\\Users\\|\\Windows\\Temp\\|\\ProgramData\\|\\PerfLogs\\|\\\$Recycle\.Bin\\)|(\\dbutil_2_3\.sys$|\\DBUtilDrv2\.sys$|\\RTCore64\.sys$|\\gdrv\.sys$|\\iqvw64e\.sys$|\\mhyprot2\.sys$|\\procexp152\.sys$|\\WinRing0x64\.sys$|\\AsrDrv101\.sys$|\\AsrDrv103\.sys$|\\aswArPot\.sys$|\\zam64\.sys$|\\viragt64\.sys$|\\truesight\.sys$))</field>    <description>Driver loaded from a user-writable path or a known-abused driver</description>    <mitre>      <id>T1068</id>    </mitre>  </rule></group>

Sentinel · KQL

Run this as a search.

Sentinel cannot express this construct. No Sentinel table is modelled for this logsource ({"category":"driver_load","product":"windows"}), so there is nothing honest to query. Pick a logsource this translator maps, or write the KQL by hand. The Sigma source is on the first tab, unchanged.

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.