Hackers Weaponize Compiled HTML Help to Deliver Malicious Payload
Threat actors have exploited Microsoft Compiled HTML Help (CHM) files to distribute malware, with a notable sample named deklaracja.chm uploaded to VirusTotal from Poland.
This CHM file, a binary container for compressed HTML and associated objects, serves as a delivery vehicle for a multi-stage infection chain.
Upon execution via the default hh.exe handler, the file displays a decoy image deklaracja.png, mimicking a bank transfer receipt from Polish bank PKO to lull victims while initiating malicious processes in the background.
Technical Breakdown
Decompression reveals core components: standard CHM system files prefixed with ‘#’, an obfuscated index.htm HTML file embedding JavaScript scripted with obfuscator.io patterns like _0x variables and array-indexed string retrieval, a cabinet file disguised as desktop.mp3 containing the unt32.dll payload, and the aforementioned decoy PNG.
The obfuscated JavaScript in index.htm decodes a large hexadecimal string into executable HTML, which orchestrates the attack by creating an iframe for the decoy display, leveraging the deprecated
According to the Report, this ActiveX control simulates a button click to execute a command chain: a minimized cmd.exe navigates to %temp%, employs the LOLbin forfiles.exe with /M to enumerate .tmp files, verifies file size at 180738 bytes (matching desktop.mp3), extracts the embedded DLL using expand, and loads it via rundll32.exe invoking ordinal #1.
The unt32.dll, a C++ downloader with XOR-encrypted strings using a 128-byte rotating key for chunked decryption (e.g., 5-byte segments for User-Agent), utilizes WinHTTP APIs to fetch a payload from hxxps://rustyquill[.]top/shw/the-magnus-protoco1.jpg a domain and filename referencing the Rusty Quill podcast.

The downloader validates the response size exceeds 289109 bytes, strips the initial segment (likely a benign JPEG header), decrypts the appended data with the same XOR key, saves the resulting DLL as C:Users%user%AppDataLocalTaskSyncnet32.dll, executes it via rundll32.exe on ordinal #1, and persists via a COM-based Scheduled Task.
Broader Implications
This tactic aligns with prior campaigns, including a CHM file in dowód_wpłaty.zip shared on April 7, 2025, also tied to rustyquill[.]top, suggesting a persistent threat actor.
Attribution points to FrostyNeighbor or UNC1151, a Belarus-linked group with historical interests in targeting Ukraine, Lithuania, Latvia, Poland, and Germany consistent with the Polish upload origin.
The use of themed lures like banking documents and podcast references indicates social engineering tailored to regional victims, potentially evading detection through benign image masquerades and indirect command execution via LOLbins.
Efforts to locate appended-payload versions of the-magnus-protoco1.jpg via YARA rules matching JPEG headers and byte patterns yielded no matches, hinting at transient or geofenced delivery.
This underscores the evolving abuse of legacy formats like CHM for malware deployment, blending obfuscation, ActiveX exploitation, and steganographic techniques in images to bypass endpoint defenses.
Indicators of Compromise (IOCs)
Indicator Type | Value | Description |
---|---|---|
File SHA256 | 0d3dbaa764acb2b87ae075aa2f5f924378991b39587b0c5e67a93b10db39ddd9 | deklaracja.chm |
File SHA256 | 156ad4975e834355b2140d3c8fe62798fe6883364b8af1a1713f8b76c7b33947 | index.htm |
File SHA256 | be5a40b5622d21b46cbc87fd6c3f8ebcb536ec8480491a651c1625ee03ae2c6f | desktop.mp3 (CAB file) |
File SHA256 | f55e06a87e2a20989ddb76d9f2e3ebb303659ad306ba54e3ed7f8dcc4456d71b | deklaracja.png (decoy) |
URL | hxxps://rustyquill[.]top/shw/the-magnus-protoco1.jpg | Payload download endpoint |
File SHA256 | 0631696f484633f4aeb8f817af2a668806ab4dca70f006dc56fc9cd9dcda4dbe | Previous sample: dowod.chm |
File SHA256 | 4d09fad2630ec33ab6bb45b85455c6a6ac7b52f8dae9b90736db4a5f00f72ea9 | Previous sample: dowód_wpłaty.zip |
Stay Updated on Daily Cybersecurity News. Follow us on Google News, LinkedIn, and X.
Source link