System Binary Proxy Execution: Compiled HTML File

Adversaries may abuse Compiled HTML files (.chm) to conceal malicious code. CHM files are commonly distributed as part of the Microsoft HTML Help system. CHM files are compressed compilations of various content such as HTML documents, images, and scripting/web related programming languages such VBA, JScript, Java, and ActiveX. [1] CHM content is displayed using underlying components of the Internet Explorer browser [2] loaded by the HTML Help executable program (hh.exe). [3]

A custom CHM file containing embedded payloads could be delivered to a victim then triggered by User Execution. CHM execution may also bypass application application control on older and/or unpatched systems that do not account for execution of binaries through hh.exe. [4] [5]

ID: T1218.001
Sub-technique of:  T1218
Tactic: Defense Evasion
Platforms: Windows
Contributors: Rahmat Nurfauzi, @infosecn1nja, PT Xynexis International
Version: 2.2
Created: 23 January 2020
Last Modified: 24 October 2025

Procedure Examples

ID Name Description
G0082 APT38

APT38 has used CHM files to move concealed payloads.[6]

G0096 APT41

APT41 used compiled HTML (.chm) files for targeting.[7]

S0373 Astaroth

Astaroth uses ActiveX objects for file execution and manipulation. [8]

G0070 Dark Caracal

Dark Caracal leveraged a compiled HTML file that contained a command to download and run an executable.[9]

G0049 OilRig

OilRig has used a CHM payload to load and execute another malicious file once delivered to a victim.[10]

G0091 Silence

Silence has weaponized CHM files in their phishing campaigns.[11][12][13][14]

Mitigations

ID Mitigation Description
M1038 Execution Prevention

Consider using application control to prevent execution of hh.exe if it is not required for a given system or network to prevent potential misuse by adversaries.

M1021 Restrict Web-Based Content

Consider blocking download/transfer and execution of potentially uncommon file types known to be used in adversary campaigns, such as CHM files

Detection Strategy

ID Name Analytic ID Analytic Description
DET0342 Detection of Suspicious Compiled HTML File Execution via hh.exe AN0968

Execution of hh.exe to open a .chm file followed by suspicious child processes or script engine invocation (VBScript, JScript, mshta, powershell). Behavior includes loading a CHM file from untrusted locations, or immediately spawning commands indicative of payload execution.

References