T1546.015 Splunk · SPL

Detect Component Object Model Hijacking in Splunk

Adversaries may establish persistence by executing malicious content triggered by hijacked references to Component Object Model (COM) objects. COM is a system within Windows to enable interaction between software components through the operating system. References to various COM objects are stored in the Registry. Adversaries can use the COM system to insert malicious code that can be executed in place of legitimate software through hijacking the COM references and relationships as a means for persistence. Hijacking a COM object requires a change in the Windows Registry to replace a reference to a legitimate system component which may cause the execution of the adversary's code instead of the intended COM component.

MITRE ATT&CK

Tactic
Privilege Escalation Persistence
Technique
T1546 Event Triggered Execution
Sub-technique
T1546.015 Component Object Model Hijacking
Canonical reference
https://attack.mitre.org/techniques/T1546/015/

SPL Detection Query

Splunk (SPL)
spl
index=wineventlog (sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" OR sourcetype="WinEventLog:Security")
| eval IsComHijack=if(
    (EventCode=12 OR EventCode=13)
    AND match(TargetObject, "Classes\\\\CLSID\\\\")
    AND match(TargetObject, "(InprocServer32|LocalServer32|InprocServer|LocalServer|TreatAs)"),
    1, 0
  )
| where IsComHijack=1
| eval IsHKCU=if(match(TargetObject, "(HKU\\\\|HKCU\\\\|Software\\\\Classes\\\\CLSID)"), 1, 0)
| eval IsSuspiciousPath=if(
    match(lower(Details), "(appdata|\\\\temp\\\\|programdata|public|powershell|cmd\.exe|wscript|cscript|mshta|rundll32|regsvr32)"),
    1, 0
  )
| eval IsNotSystemPath=if(
    NOT match(Details, "(?i)(windows\\\\system32|syswow64|program files)"),
    1, 0
  )
| eval ClsidGuid=rex(TargetObject, "CLSID\\\\(?P<ClsidGuid>\\{[0-9A-Fa-f-]+\\})")
| eval DetectionType=case(
    IsSuspiciousPath=1, "COM_SUSPICIOUS_PAYLOAD",
    IsHKCU=1 AND IsNotSystemPath=1, "COM_HKCU_NON_SYSTEM",
    IsHKCU=1, "COM_HKCU_OVERRIDE",
    1=1, "COM_HKLM_MODIFICATION"
  )
| table _time, host, User, EventCode, DetectionType, ClsidGuid, TargetObject, Details, Image
| sort - _time
high severity medium confidence

Detects COM hijacking registry operations with severity classification: COM_SUSPICIOUS_PAYLOAD (DLL/EXE path contains LOLBin or user-writable directory — high priority), COM_HKCU_NON_SYSTEM (HKCU CLSID entry pointing to non-system path — high priority, no admin needed), COM_HKCU_OVERRIDE (HKCU CLSID modification — medium priority, review needed), COM_HKLM_MODIFICATION (HKLM CLSID modified by non-installer — review needed).

Data Sources

Windows Registry: Registry Key ModificationSysmon Event ID 12 (RegistryEvent - Object Create/Delete)Sysmon Event ID 13 (RegistryEvent - Value Set)

Required Sourcetypes

XmlWinEventLog:Microsoft-Windows-Sysmon/Operational

False Positives & Tuning

  • Software installations registering COM servers in CLSID
  • ClickOnce/XCOPY per-user COM registrations in HKCU
  • Office add-ins and third-party plugins registering COM objects
  • Developer environments registering experimental COM servers
Download portable Sigma rule (.yml)

Other platforms for T1546.015


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1COM Hijack via HKCU InprocServer32

    Expected signal: Sysmon Event ID 13: TargetObject=HKCU\SOFTWARE\Classes\CLSID\{BCDE0395-E52F-467C-8E3D-C4579291692E}\InprocServer32, Details=AppData path. IsHkcuOverride=true, IsNotSystemPath=true. Process creation for reg.exe.

  2. Test 2COM Hijack Targeting Explorer Shell Extension CLSID

    Expected signal: Sysmon Event ID 13 for HKCU CLSID registration with Temp directory DLL path. The Temp path is the high-risk indicator.

  3. Test 3Enumerate COM Hijacking Opportunities

    Expected signal: Process creation for powershell.exe with registry enumeration command. Read-only registry access to HKLM and HKCU CLSID trees. Output reveals count of potential hijacking candidates.

Unlock Pro Content

Get the full detection package for T1546.015 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections