研究人员近期监测到 ClickFix 攻击的新变种:攻击者利用浏览器全屏模式下高度逼真的 Windows 更新动画欺骗用户,并将恶意代码隐藏在图片中。
ClickFix 是一种社会工程骗局,其核心是诱导用户复制并在 Windows 命令提示符中执行特定命令,从而在受害者的计算机上部署恶意程序。
由于该攻击方式成功率极高,已广泛被各层级的网络犯罪分子采用,并持续演化出更加先进、更具迷惑性的欺骗手段。
自10月1日起,研究人员观察到多起 ClickFix 攻击案例,攻击者以“完成关键 Windows 安全更新安装”为借口,或更常见的“验证您是否为人类”的套路,诱使用户执行危险命令。
虚假的更新页面会指示受害者按特定顺序按下某些按键。此时,网页会加载一段 JavaScript 脚本,自动将恶意命令复制到剪贴板。当用户按完指定按键后,这些命令会被自动粘贴并执行于命令行中。
据网络安全公司 Huntress 发布的报告,这些新型 ClickFix 攻击最终会投放 LummaC2 和 Rhadamanthys 恶意软件家族的载荷。
其中一种变体使用“人机验证”页面,另一种则直接模拟 Windows 更新界面。两种场景均采用隐写术,将最终的有效载荷嵌入图像文件中。
Huntress 研究人员解释道:
“攻击者不再简单地将恶意数据附加到文件末尾,而是直接将代码嵌入 PNG 图像的像素中,利用特定的颜色通道在内存中还原并解密有效载荷。”
整个攻击链始于 Windows 自带组件 mshta.exe,用于执行初始的恶意 JavaScript 代码。随后,攻击进入多个阶段,包括运行 PowerShell 脚本和一个名为 Stego Loader 的 .NET 组件——后者专门负责从加密的 PNG 图像中提取恶意载荷。
Stego Loader 内部包含一段 AES 加密的数据,实际上是一个携带 shellcode 的隐写 PNG 文件。通过定制的 C# 代码,攻击者可在内存中完成载荷的还原。
此外,研究人员还发现攻击者采用了动态规避技术(称为“ctrampoline”):函数入口点会连续调用上万个空函数,以此大幅增加逆向分析和沙箱检测的难度。
从图像中提取出的 shellcode 实际上经过 Donut 工具封装。Donut 是一种内存加载器,可直接在内存中执行 VBScript、JScript、EXE、DLL 或 .NET 程序集,而无需写入磁盘。
在成功解包后,Huntress 团队确认此次攻击所投递的恶意软件正是 LummaC2 和 Rhadamanthys。
值得注意的是,使用伪造 Windows 更新界面投递 Rhadamanthys 的变种最早于10月被发现,早于11月13日欧洲刑警组织(Europol)发起的“Endgame 行动”—— 该行动部分摧毁了 Rhadamanthys 的基础设施。
据 Huntress 称,在执法部门采取行动后,那些显示虚假 Windows 更新界面的域名已不再分发恶意载荷,但这些域名本身仍处于活跃状态。
为防范此类 ClickFix 攻击,研究人员建议:
在企业环境中禁用“运行”对话框(Win + R);
监控可疑的进程链,例如 explorer.exe 直接启动 mshta.exe 或 PowerShell;
在安全事件调查中,可检查注册表项 RunMRU(位于 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU),该键值会记录用户在“运行”窗口中输入过的命令历史,有助于判断是否曾执行过恶意指令。
通过提高用户警惕性、加强终端行为监控,并结合纵深防御策略,可有效降低 ClickFix 等社会工程攻击的成功率。