D
High RiskWindows
dllhost.exeEXECUTABLE

dllhost.exe - COM Surrogate Process Security Analysis [2026]

dllhost.exe (COM Surrogate) is a Windows process that hosts COM objects. Frequently abused by malware for process injection, proxy execution, and defense evasion due to its trusted status.

4viewsLast verified: Jan 18, 2025

Risk Summary

## Risk Summary | Factor | Assessment | |--------|------------| | Detection Difficulty | High | | Abuse Potential | Very High | | Prevalence | Universal | | Risk Score | 75/100 | dllhost.exe is a critical Windows component heavily abused by attackers for process injection and proxy execution.

Overview

What is dllhost.exe?

dllhost.exe (COM Surrogate) is a Windows system process that hosts out-of-process COM objects, providing isolation for potentially unstable COM components.

Key Characteristics

AttributeValue
File Namedllhost.exe
DeveloperMicrosoft Corporation
Digital SignatureMicrosoft Windows
OS ComponentCore Windows
TypeCOM Host Process

Technical Details

PropertyDescription
Process TypeSystem Host
Parent Processsvchost.exe (DcomLaunch)
PurposeHost out-of-process COM objects
InstancesMultiple normal

dllhost.exe isolates COM objects so crashes don't affect the calling application.

Normal Behavior

Normal Behavior

Legitimate Characteristics

Process: dllhost.exe
Parent: svchost.exe -k DcomLaunch
Location: C:\Windows\System32\dllhost.exe
Command: dllhost.exe /Processid:{CLSID}

Expected Characteristics

AspectExpected Behavior
Parent Processsvchost.exe (DcomLaunch)
LocationC:\Windows\System32\ only
Command LineContains /Processid:{GUID}
InstancesMultiple is normal
User ContextVarious (SYSTEM, user)

Common CLSIDs

CLSIDPurpose
{3EB3C877-1F16-487C-9050-104DBCD66683}Photo thumbnails
{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}Thumbnail cache
{F9043C85-F6F2-101A-A3C9-08002B2F49FB}Shell preview handler

Common Locations

C:\Windows\System32\dllhost.exeC:\Windows\SysWOW64\dllhost.exe

Suspicious Indicators

Suspicious Indicators

Red Flags

IndicatorConcern LevelDescription
Wrong locationCriticalNot in System32/SysWOW64
No /ProcessidHighMissing CLSID argument
Wrong parentCriticalNot from svchost DcomLaunch
Network connectionsHighdllhost rarely needs network
High CPUMediumPotential cryptominer

Suspicious Command Lines

# Suspicious patterns
dllhost.exe  # No /Processid argument
dllhost.exe /Processid:{random-guid}  # Unknown CLSID
C:\Users\...\dllhost.exe  # Wrong path
dllhost.exe -enc ...  # Encoded parameters

Injection Indicators

PatternConcern
Unusual DLLs loadedCode injection
Network connectionsC2 communication
Child processesProxy execution
Memory anomaliesShellcode injection

Abuse Techniques

Abuse Techniques

Process Injection

Injection Attack:
1. Identify running dllhost.exe process
2. Inject malicious code via various techniques
3. Code executes within trusted process
4. Evades application whitelisting
5. Inherits dllhost trust and permissions

COM Object Abuse

COM Hijacking:
1. Register malicious COM object
2. Trigger dllhost to load it
3. Malicious code runs in dllhost context
4. Appears as legitimate COM operation

Defense Evasion Techniques

TechniqueImplementation
Process HollowingReplace dllhost memory
DLL InjectionInject DLL into dllhost
COM HijackingRegister malicious COM CLSID
Proxy ExecutionUse dllhost to run code

Living-off-the-Land

# Malware spawning via COM
$obj = [activator]::CreateInstance([type]::GetTypeFromCLSID("CLSID"))
# Results in dllhost.exe running attacker code

Remediation Steps

Remediation Steps

Verification

# Check all dllhost instances
Get-Process dllhost -ErrorAction SilentlyContinue | ForEach-Object {
    $wmi = Get-CimInstance Win32_Process -Filter "ProcessId = $($_.Id)"
    [PSCustomObject]@{
        PID = $_.Id
        Path = $_.Path
        CommandLine = $wmi.CommandLine
        ParentPID = $wmi.ParentProcessId
    }
}

# Verify signatures
Get-Process dllhost | ForEach-Object {
    Get-AuthenticodeSignature $_.Path
}

Incident Response

FindingAction
Wrong pathImmediate containment
No /ProcessidInvestigate thoroughly
Network activityMemory forensics
Unknown CLSIDResearch COM object

Prevention

ControlImplementation
EDRMonitor dllhost behavior
Application ControlLimit COM registrations
Network MonitoringAlert on dllhost network

Investigation Checklist

Investigation Checklist

Process Verification

  • Is dllhost in System32 or SysWOW64?
  • Does command line contain /Processid:?
  • Is parent svchost with DcomLaunch?
  • Is it signed by Microsoft?

Injection Detection

  • Unusual DLLs loaded?
  • Memory anomalies?
  • Remote thread creation targeting dllhost?
  • Abnormal behavior?

Network Analysis

  • Any network connections?
  • External IP communications?
  • Data exfiltration signs?

COM Investigation

  • What CLSID is being hosted?
  • Is the COM object legitimate?
  • Any COM hijacking indicators?

Timeline

  • When did suspicious activity start?
  • What triggered dllhost creation?
  • Correlation with other events?

MITRE ATT&CK Techniques