Detect Verclsid in Google Chronicle
Adversaries may abuse verclsid.exe to proxy execution of malicious code. Verclsid.exe (Extension CLSID Verification Host) is responsible for verifying each shell extension before it is used by Windows Explorer or the Windows Shell. Adversaries can register a malicious COM object under a CLSID and then invoke verclsid.exe with that CLSID to trigger execution. Since verclsid.exe is signed by Microsoft and performs legitimate COM verification activities, it can bypass application control solutions. Hancitor malware is a known user of this technique.
MITRE ATT&CK
- Tactic
- Defense Evasion
- Technique
- T1218 System Binary Proxy Execution
- Sub-technique
- T1218.012 Verclsid
- Canonical reference
- https://attack.mitre.org/techniques/T1218/012/
YARA-L Detection Query
rule verclsid_proxy_execution_t1218_012 {
meta:
author = "Argus Detection Engineering"
description = "Detects verclsid.exe abuse for COM proxy execution (T1218.012). Looks for verclsid launched from suspicious parents with CLSID args, or spawning suspicious child processes."
mitre_attack_tactic = "Defense Evasion"
mitre_attack_technique = "T1218.012"
severity = "HIGH"
priority = "HIGH"
events:
(
// Pattern 1: verclsid.exe launched with CLSID from suspicious parent
$e.metadata.event_type = "PROCESS_LAUNCH"
and re.regex($e.target.process.file.full_path, `(?i)\\verclsid\.exe$`)
and (
re.regex($e.target.process.command_line, `\{[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}\}`)
or re.regex($e.principal.process.file.full_path, `(?i)(cmd|powershell|wscript|cscript|mshta|winword|excel|outlook)\.exe$`)
or re.regex($e.target.process.command_line, `(?i)(/s|/c)`)
)
)
or
(
// Pattern 2: suspicious child process spawned by verclsid.exe
$e.metadata.event_type = "PROCESS_LAUNCH"
and re.regex($e.principal.process.file.full_path, `(?i)\\verclsid\.exe$`)
and re.regex($e.target.process.file.full_path, `(?i)(cmd|powershell|wscript|cscript|mshta)\.exe$`)
)
condition:
$e
} Chronicle YARA-L 2.0 rule detecting verclsid.exe proxy execution abuse. Matches two behavioral patterns: (1) verclsid.exe invoked with a CLSID GUID argument from a suspicious parent process such as a script interpreter or Office application; (2) verclsid.exe spawning a known LOLBin or script interpreter as a child process, indicating successful COM object execution.
Data Sources
Required Tables
False Positives & Tuning
- System administrators running shell extension validation scripts via PowerShell that call verclsid.exe with known-good CLSIDs during system maintenance
- Software installers or setup programs that spawn verclsid.exe as part of COM object registration verification workflows on managed endpoints
- Automated build or QA pipelines on developer workstations that test COM interop scenarios using verclsid.exe
Other platforms for T1218.012
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.
- Test 1Verclsid Execution with CLSID Argument
Expected signal: Sysmon Event ID 1: verclsid.exe with /S /C and CLSID in command line. Security Event ID 4688. The process will attempt to load the COM object registered for this CLSID.
- Test 2Verclsid Launched from cmd.exe
Expected signal: Sysmon Event ID 1: cmd.exe then verclsid.exe with ParentImage=cmd.exe. HasCLSID, ForcedExec, and SuspiciousParent all fire.
- Test 3Malicious COM CLSID Registration for Verclsid Abuse
Expected signal: Sysmon Event ID 13 (Registry Value Set): HKCU\Software\Classes\CLSID path with Temp DLL path as data. The COM registration hunting query captures this as a malicious InprocServer32 pointing to a temp directory.
References (5)
- https://attack.mitre.org/techniques/T1218/012/
- https://lolbas-project.github.io/lolbas/Binaries/Verclsid/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1218.012/T1218.012.md
- https://www.winosbit.com/articles/what-is-verclsid.exe
- https://www.proofpoint.com/us/threat-insight/post/hancitor-goes-dark
Unlock Pro Content
Get the full detection package for T1218.012 including response playbook, investigation guide, and atomic red team tests.