T1559.001 Google Chronicle · YARA-L

Detect Component Object Model in Google Chronicle

Adversaries abuse the Windows Component Object Model (COM) to execute arbitrary code locally. COM is a binary interface standard enabling inter-process communication between software objects through defined interfaces. Threat actors leverage COM by instantiating known objects (WScript.Shell, Shell.Application, MMC20.Application, Schedule.Service) via scripting hosts, hijacking COM object registrations in HKCU to redirect execution to malicious DLLs, or using elevated COM interfaces (CMLuaUtil) to bypass User Account Control. Real-world use includes TrickBot and Latrodectus creating scheduled tasks via ITaskService, MuddyWater executing payloads via DCOM loopback, Gamaredon injecting macros via Microsoft.Office.Interop objects, and Raspberry Robin abusing CMLuaUtil for UAC bypass. Unlike DCOM (T1021.003), this technique focuses on local COM execution rather than remote lateral movement.

MITRE ATT&CK

Tactic
Execution
Technique
T1559 Inter-Process Communication
Sub-technique
T1559.001 Component Object Model
Canonical reference
https://attack.mitre.org/techniques/T1559/001/

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule t1559_001_com_abuse {
  meta:
    author = "Argus Detection Engineering"
    description = "Detects COM abuse (T1559.001) via script host COM instantiation, dllhost.exe surrogate children, and COM hijacking via HKCU CLSID registry modification"
    mitre_attack_tactic = "Execution"
    mitre_attack_technique = "T1559.001"
    severity = "HIGH"
    priority = "HIGH"
    version = "1.0"
    created = "2026-04-20"

  events:
    // Branch 1: Script host COM instantiation
    (
      $e1.metadata.event_type = "PROCESS_LAUNCH"
      and (
        re.regex($e1.principal.process.file.full_path, `(?i)\\(powershell|pwsh|wscript|cscript|mshta)\.exe$`)
      )
      and (
        re.regex($e1.target.process.command_line, `(?i)(-ComObject|CreateObject\(|GetTypeFromCLSID|activator.*CreateInstance)`)
        or re.regex($e1.target.process.command_line, `(?i)(MMC20\.Application|ShellWindows|ShellBrowserWindow|WScript\.Shell|Shell\.Application|Schedule\.Service|CMLuaUtil|InternetExplorer\.Application|Microsoft\.Office\.Interop)`)
        or re.regex($e1.target.process.command_line, `(?i)(49B2791A|9BA05972|C08AFD90|6EDD6D74|0F87369F)`)
      )
    )
    or
    // Branch 2: dllhost.exe COM surrogate spawning unexpected children
    (
      $e1.metadata.event_type = "PROCESS_LAUNCH"
      and re.regex($e1.principal.process.file.full_path, `(?i)\\dllhost\.exe$`)
      and re.regex($e1.target.process.file.full_path, `(?i)\\(cmd|powershell|pwsh|wscript|cscript|mshta|rundll32|regsvr32|certutil|net|net1|whoami|curl|wget|bitsadmin)\.exe$`)
    )
    or
    // Branch 3: COM hijacking via HKCU CLSID registry write
    (
      $e1.metadata.event_type = "REGISTRY_MODIFICATION"
      and re.regex($e1.target.registry.registry_key, `(?i)HKCU\\Software\\Classes\\CLSID`)
      and re.regex($e1.target.registry.registry_key, `(?i)(InProcServer32|LocalServer32|InProcServer)`)
      and not re.regex($e1.target.registry.registry_value_data, `(?i)(C:\\Windows\\System32|C:\\Program Files)`)
    )

  condition:
    $e1
}
high severity high confidence

Chronicle YARA-L 2.0 rule detecting COM abuse (T1559.001) covering three attack branches: scripting engines instantiating suspicious COM objects by name or CLSID, the COM surrogate process dllhost.exe being used to spawn shell utilities indicating a malicious COM server payload, and HKCU CLSID hijacking where an attacker registers a malicious DLL path to redirect COM object resolution. Suitable for detection across Workspace and enterprise Google Chronicle deployments ingesting Windows UDM events.

Data Sources

Chronicle UDM normalized Windows endpoint eventsGoogle Chronicle Forwarder with Windows Event Log or SysmonChronicle ingestion of CrowdStrike or Carbon Black telemetry mapped to UDM

Required Tables

UDM process events (PROCESS_LAUNCH)UDM registry events (REGISTRY_MODIFICATION)

False Positives & Tuning

  • Windows management scripts deployed via Group Policy or SCCM using PowerShell with COM objects (WScript.Shell, Shell.Application, Schedule.Service) for inventory, patch management, or application deployment will match Branch 1 at high frequency in managed enterprise environments
  • Anti-virus and endpoint protection products routinely use dllhost.exe as a host process for scan engines and may spawn cmd.exe or PowerShell for remediation actions, triggering Branch 2 with benign intent
  • Software development workflows on Windows involving COM interop testing, Office automation testing, or COM server registration/unregistration will write CLSID entries to HKCU during testing, matching Branch 3 without malicious intent
Download portable Sigma rule (.yml)

Other platforms for T1559.001


Testing Methodology

Validate this detection against 4 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 1Scheduled Task Creation via ITaskService COM Interface

    Expected signal: Sysmon Event ID 1: Process Create with Image=powershell.exe, CommandLine containing 'Schedule.Service' and 'ITaskService'. Windows Task Scheduler Operational log Event ID 106 (task registered) for 'df00tech-COM-test'. Security Event ID 4698 (scheduled task created) if task auditing is enabled. PowerShell Script Block Log Event ID 4104 with the full COM invocation code.

  2. Test 2Shell.Application COM Object Code Execution

    Expected signal: Sysmon Event ID 1: Process Create for powershell.exe with CommandLine containing 'Shell.Application' and 'ShellExecute'. Second Sysmon Event ID 1 for calc.exe with ParentImage=explorer.exe or svchost.exe (the COM process host — ShellExecute routes through explorer.exe's COM server). Security Event ID 4688 for calc.exe process creation. PowerShell Script Block Log Event ID 4104.

  3. Test 3WScript.Shell COM Execution with Run Method

    Expected signal: Sysmon Event ID 1: powershell.exe with 'WScript.Shell' in CommandLine. Sysmon Event ID 1: cmd.exe spawned (parent will be wscript.exe or svchost.exe depending on activation context, NOT powershell.exe). Sysmon Event ID 11: file create for df00tech-com-test.txt. PowerShell Script Block Log Event ID 4104.

  4. Test 4COM Hijacking via HKCU CLSID Registration

    Expected signal: Sysmon Event ID 12 (Registry Object Create): TargetObject=HKCU\Software\Classes\CLSID\{DF000001-...}\InProcServer32. Sysmon Event ID 13 (Registry Value Set): TargetObject containing InProcServer32 with Details=%APPDATA%\df00tech-evil.dll. Security Event ID 4657 (registry value modified) if object access auditing is enabled. The ThreadingModel value is a hallmark of legitimate InProcServer32 registrations that malware mimics.

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections