跟着黑客学习fake captcha
字数 1569 2025-08-29 08:30:12

Fake CAPTCHA 攻击技术分析与防御指南

1. 引言

Fake CAPTCHA(虚假验证码)是一种新型的社会工程学攻击技术,攻击者通过伪造人机验证(CAPTCHA)界面诱导用户执行恶意命令。本文基于对实际攻击案例的分析,详细剖析这种攻击技术的原理、实现方式和防御措施。

2. 攻击分析

2.1 攻击流程

  1. 攻击准备

    • 攻击者使用开源项目(如recaptcha-phish)创建伪造的验证码页面
    • 修改index.html文件(第423行),添加项目路径
  2. 攻击执行

    • 用户访问伪造的验证码页面(index.html)
    • 用户点击"我不是机器人"复选框
    • 系统自动将恶意命令复制到剪贴板,例如:
      mshta file://C:\Users\用户名\Desktop\recaptcha-phish-main\recaptcha-verify # ✅ ''I am not a robot - reCAPTCHA Verification ID: 3495''
      
    • 如果用户被诱导在Windows运行窗口(Win+R)中粘贴并执行此命令,恶意payload将被执行
  3. 用户视角

    • 用户仅看到看似无害的验证成功消息:
      ✅ ''I am not a robot - reCAPTCHA Verification ID: 3205''
      

2.2 脚本分析

项目结构:

  • index.html:钓鱼页面,诱导用户点击验证码并复制攻击命令
  • recaptcha-verify:HTA(HTML Application)文件,用于通过mshta执行命令

关键代码功能:

  1. index.html

    • commandToRun:定义要执行的攻击命令
    • htaPath:指定HTA文件的路径
    • setClipboardCopyData:核心函数,将恶意命令复制到剪贴板
  2. recaptcha-verify

    • 作为HTA文件,可以执行命令同时显示HTML页面
    • 结合mshta.exe执行恶意操作

3. 脚本修改与进阶利用

3.1 修改执行命令

攻击者可以灵活修改命令以适应不同攻击场景:

  1. CMD命令示例

    mshta file://C:\path\to\recaptcha-verify # ✅ Verification
    
  2. PowerShell命令示例

    mshta file://C:\path\to\recaptcha-verify # ✅ Verification
    

3.2 命令免杀技术

  1. PowerShell混淆

    • 使用Invoke-Obfuscation等工具混淆PowerShell命令
    • 参考项目:https://github.com/danielbohannon/Invoke-Obfuscation
  2. MSHTA混淆

    • 使用weirdhta等技术混淆HTA执行
    • 参考项目:https://github.com/felamos/weirdhta

4. 攻击特征与防御

4.1 攻击特征

  1. 注册表修改

    • 当用户通过Win+R执行命令时,系统会在以下注册表路径记录命令:
      HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
      
  2. 系统行为

    • mshta.exe进程执行HTA文件
    • 剪贴板内容被恶意修改

4.2 防御措施

  1. 监控规则

    • 监控HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU注册表键值变化
    • 结合剪贴板API监控创建组合告警规则
  2. 用户教育

    • 警惕不明来源的验证码请求
    • 不随意执行从网页复制的命令
  3. 技术防护

    • 限制mshta.exe执行权限
    • 部署端点检测与响应(EDR)解决方案

5. 参考资源

  1. recaptcha-phish项目:https://github.com/JohnHammond/recaptcha-phish
  2. fakeCAPTCHA项目:https://github.com/fucklinux/fakeCAPTCHA
  3. PowerShell混淆:https://github.com/danielbohannon/Invoke-Obfuscation
  4. MSHTA混淆:https://github.com/felamos/weirdhta

6. 总结

Fake CAPTCHA攻击利用用户对人机验证的信任,通过精心设计的社交工程手段诱导用户执行恶意命令。防御此类攻击需要技术防护与用户教育相结合,特别要关注注册表修改和异常命令执行行为。安全团队应部署相应的监控规则,并及时更新防御策略以应对不断演变的攻击手法。

Fake CAPTCHA 攻击技术分析与防御指南 1. 引言 Fake CAPTCHA(虚假验证码)是一种新型的社会工程学攻击技术,攻击者通过伪造人机验证(CAPTCHA)界面诱导用户执行恶意命令。本文基于对实际攻击案例的分析,详细剖析这种攻击技术的原理、实现方式和防御措施。 2. 攻击分析 2.1 攻击流程 攻击准备 : 攻击者使用开源项目(如recaptcha-phish)创建伪造的验证码页面 修改index.html文件(第423行),添加项目路径 攻击执行 : 用户访问伪造的验证码页面(index.html) 用户点击"我不是机器人"复选框 系统自动将恶意命令复制到剪贴板,例如: 如果用户被诱导在Windows运行窗口(Win+R)中粘贴并执行此命令,恶意payload将被执行 用户视角 : 用户仅看到看似无害的验证成功消息: 2.2 脚本分析 项目结构: index.html :钓鱼页面,诱导用户点击验证码并复制攻击命令 recaptcha-verify :HTA(HTML Application)文件,用于通过mshta执行命令 关键代码功能: index.html : commandToRun :定义要执行的攻击命令 htaPath :指定HTA文件的路径 setClipboardCopyData :核心函数,将恶意命令复制到剪贴板 recaptcha-verify : 作为HTA文件,可以执行命令同时显示HTML页面 结合mshta.exe执行恶意操作 3. 脚本修改与进阶利用 3.1 修改执行命令 攻击者可以灵活修改命令以适应不同攻击场景: CMD命令示例 : PowerShell命令示例 : 3.2 命令免杀技术 PowerShell混淆 : 使用Invoke-Obfuscation等工具混淆PowerShell命令 参考项目:https://github.com/danielbohannon/Invoke-Obfuscation MSHTA混淆 : 使用weirdhta等技术混淆HTA执行 参考项目:https://github.com/felamos/weirdhta 4. 攻击特征与防御 4.1 攻击特征 注册表修改 : 当用户通过Win+R执行命令时,系统会在以下注册表路径记录命令: 系统行为 : mshta.exe进程执行HTA文件 剪贴板内容被恶意修改 4.2 防御措施 监控规则 : 监控 HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU 注册表键值变化 结合剪贴板API监控创建组合告警规则 用户教育 : 警惕不明来源的验证码请求 不随意执行从网页复制的命令 技术防护 : 限制mshta.exe执行权限 部署端点检测与响应(EDR)解决方案 5. 参考资源 recaptcha-phish项目:https://github.com/JohnHammond/recaptcha-phish fakeCAPTCHA项目:https://github.com/fucklinux/fakeCAPTCHA PowerShell混淆:https://github.com/danielbohannon/Invoke-Obfuscation MSHTA混淆:https://github.com/felamos/weirdhta 6. 总结 Fake CAPTCHA攻击利用用户对人机验证的信任,通过精心设计的社交工程手段诱导用户执行恶意命令。防御此类攻击需要技术防护与用户教育相结合,特别要关注注册表修改和异常命令执行行为。安全团队应部署相应的监控规则,并及时更新防御策略以应对不断演变的攻击手法。