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 | Name | Description |
|---|---|---|
| G0082 | APT38 | |
| G0096 | APT41 | |
| 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] |
| 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 |
| 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. |