Operator On The Wire
Join
← Back to Knowledge Base
BLUE TEAM / THREAT HUNT / WINDOWS / PERSISTENCE

COM Hijacking

This note documents detection patterns related to COM Hijacking within Windows environments.


Direct Indicators

LogEvent IDMeaningForensic ValueNotes
Sysmon13Registry value setCriticalDetects CLSID / InprocServer32 modification.
Sysmon12Registry object create/deleteHighCOM key creation or removal.
Security4657Registry value modifiedHighNative audit if enabled.
Sysmon1Process creationCriticalHijacked COM consumer launching payload.
Sysmon7Image loadedCriticalMalicious DLL loaded via COM resolution.
Security4688Process creationHighParent-child context for triggered COM abuse.

Indirect Indicators

IndicatorWhat To Look ForForensic ValueNotes
CLSID points to user pathTemp/AppData DLLCriticalStrong hijack signal.
InprocServer32 changedDLL path replacedCriticalCore COM hijack primitive.
Trusted binary loads unusual DLLExplorer / Office / svchostCriticalHigh-confidence clue.
Per-user COM overrideHKCU path presentHighStealth persistence pattern.
DLL unsignedNon-system moduleHighValuable anomaly.
Trigger tied to login/app launchDelayed executionHighCommon persistence behavior.

Common Tools

ToolUsage
reg.exeCLSID modification
PowerShellRegistry COM writes
regedit.exeManual hijack
malware loadersCOM persistence

Relevant Artifacts

  • Sysmon Event IDs 12, 13, 1, 7
  • Security Event IDs 4657, 4688
  • Registry paths:
    • HKCU\Software\Classes\CLSID\
    • HKLM\Software\Classes\CLSID\
  • Key values:
    • InprocServer32
    • LocalServer32
  • DLL path
  • Prefetch for triggering process
  • Amcache / ShimCache

MITRE ATT&CK References

  • T1546.015 Component Object Model Hijacking

Decision Tree

  1. Which CLSID modified?

    • HKCU
    • HKLM
  2. Which DLL path?

    • System32
    • Temp
    • AppData
  3. Trigger process?

    • Explorer
    • Office
    • Service host
  4. DLL signed?

    • Yes
    • No
  5. Expand:

    • Adjacent registry persistence
    • DLL timeline
    • Trigger frequency
  6. Scope:

    • Single CLSID
    • Multiple hijacks
    • Campaign pattern

Example Detection Templates

KQL

Sysmon
| where EventID == 13
| where TargetObject has_any ("CLSID","InprocServer32")
| project TimeGenerated, Computer, TargetObject, Details
Sysmon
| where EventID == 7
| where ImageLoaded !contains "\\Windows\\System32\\"
| project TimeGenerated, Computer, Image, ImageLoaded

EQL

registry where registry.path like "*\\CLSID\\*"
sequence by host.name with maxspan=10m
  [ registry where registry.path like "*InprocServer32*" ]
  [ library where dll.path != null ]

Sigma

title: COM Hijacking Detection
id: 3d6a5b19-com-hijack
status: experimental
description: Detects suspicious COM registry hijacking
references:
  - https://attack.mitre.org/
author: Vergil
date: 2026-03-07
logsource:
  product: windows
  service: sysmon
detection:
  selection:
    EventID: 13
  keywords:
    TargetObject|contains:
      - 'CLSID'
      - 'InprocServer32'
  condition: selection and keywords
fields:
  - TargetObject
  - Details
falsepositives:
  - Legitimate COM registration
level: high
tags:
  - attack.persistence

Mitigation & Hardening

Control AreaMitigationEffectivenessNotes
Registry monitoringAlert on CLSID changesCriticalCore signal
DLL path validationFlag user-path DLLsCriticalStrong anomaly
Baseline COM overridesRare on endpointsHighLow false positives
DLL signing checksDetect unsigned modulesHighStrong enrichment
Central registry telemetryPreserve key historyHighEssential for DFIR