浏览器攻击框架BeEF Part 6:对用户与浏览器的攻击测试
字数 1496 2025-08-18 11:37:33

BeEF浏览器攻击框架:用户与浏览器攻击测试指南

内容概述

本文是BeEF浏览器攻击框架系列教程的第6部分,重点介绍如何使用BeEF对用户和浏览器进行攻击测试。主要内容包括攻击用户(内容劫持、捕获用户输入、社会工程学)和攻击浏览器(联合Metasploit)的技术。

攻击用户技术

1. 内容劫持

内容劫持是指替换被勾连浏览器中当前页面内容的技术:

  • 获取类模块

    • Get Cookie:获取当前页面的Cookie
    • Get Form Values:获取表单中的值
  • 替换类模块

    • Replace HREFs:循环替换所有<a>元素的HREF属性
    • Replace HREFs(Click Events):仅在onClick事件发生时触发修改HREF属性
    • Replace HREFs(HTTPs):将所有HTTPS链接改写为HTTP协议
    • Redirect Browser:将浏览器重定向到指定页面
    • Replace Content(Deface):直接修改页面内容

2. 捕获用户输入

通过以下四种事件实时监控用户操作:

  1. 焦点事件:监控用户焦点是否在被勾连页面
  2. 键盘事件:记录键盘输入
  3. 鼠标事件:跟踪鼠标活动
  4. 指针事件:监控指针设备活动

3. 社会工程学攻击

Pretty Theft(完美盗窃)模块

  • 在被勾连浏览器上弹出欺骗性弹框诱使用户输入账号密码
  • 特别适用于有HTTP-only响应首部无法窃取Cookie的情况

自定义配置

  1. 修改beef/modules/social_engineering/pretty_theft/command.js
  2. 可自定义弹框语言、样式和内容
  3. 调整logo大小和整体布局以提高可信度

攻击浏览器技术

联合Metasploit攻击浏览器

环境配置步骤

  1. BeEF配置

    • 修改beef/extensions/metasploit/config.yaml
      • 确保port、user、pass与MSGRPC设置一致
      • 设置正确的Metasploit路径(如kali默认已配置)
    • 修改beef/config.yaml启用metasploit模块
  2. Metasploit配置

    • 创建启动脚本文件(如msf_beef.txt):
      load msgrpc 
      ServerHost=127.0.0.1 
      ServerPort=xxxx 
      User=msf 
      Pass=xxxxx
      
    • 使用screen保持会话:
      screen -S msf
      msfconsole -r msf_beef.txt
      Ctrl+a+d # 暂时退出session
      
  3. 启动顺序

    • 先启动msfconsole
    • 再启动BeEF:nohup ./beef &

攻击原理

  • BeEF将Metasploit生成的URL嵌入被勾连浏览器的iframe中
  • 通过msgrpc接口,可直接在BeEF管理UI中设置Metasploit参数
  • 直接调用Metasploit的exploit模块(如ms11_003_ie_css_import)

实际攻击示例

社会工程学攻击示例

  1. 选择Pretty Theft模块
  2. 设置诱骗参数(可自定义中文提示)
  3. 执行后受害者浏览器弹出伪造登录框
  4. 获取用户输入的凭据

Metasploit联合攻击示例

  1. 选择ms11_003_ie_css_import漏洞模块
  2. 在BeEF中配置Metasploit参数
  3. 执行攻击
  4. 成功后可获得meterpreter会话

注意事项

  1. 网络速度影响攻击成功率
  2. 自定义社会工程学模块时注意UI设计以提高可信度
  3. 确保Metasploit和BeEF的配置参数一致
  4. 攻击测试应在授权环境下进行

总结

本文详细介绍了BeEF框架在用户和浏览器攻击方面的应用,包括内容劫持、输入捕获、社会工程学和与Metasploit的联合攻击。这些技术展示了浏览器漏洞和用户行为可能带来的安全风险,对安全测试人员具有重要参考价值。

BeEF浏览器攻击框架:用户与浏览器攻击测试指南 内容概述 本文是BeEF浏览器攻击框架系列教程的第6部分,重点介绍如何使用BeEF对用户和浏览器进行攻击测试。主要内容包括攻击用户(内容劫持、捕获用户输入、社会工程学)和攻击浏览器(联合Metasploit)的技术。 攻击用户技术 1. 内容劫持 内容劫持是指替换被勾连浏览器中当前页面内容的技术: 获取类模块 : Get Cookie:获取当前页面的Cookie Get Form Values:获取表单中的值 替换类模块 : Replace HREFs:循环替换所有 <a> 元素的HREF属性 Replace HREFs(Click Events):仅在onClick事件发生时触发修改HREF属性 Replace HREFs(HTTPs):将所有HTTPS链接改写为HTTP协议 Redirect Browser:将浏览器重定向到指定页面 Replace Content(Deface):直接修改页面内容 2. 捕获用户输入 通过以下四种事件实时监控用户操作: 焦点事件:监控用户焦点是否在被勾连页面 键盘事件:记录键盘输入 鼠标事件:跟踪鼠标活动 指针事件:监控指针设备活动 3. 社会工程学攻击 Pretty Theft(完美盗窃)模块 : 在被勾连浏览器上弹出欺骗性弹框诱使用户输入账号密码 特别适用于有HTTP-only响应首部无法窃取Cookie的情况 自定义配置 : 修改 beef/modules/social_engineering/pretty_theft/command.js 可自定义弹框语言、样式和内容 调整logo大小和整体布局以提高可信度 攻击浏览器技术 联合Metasploit攻击浏览器 环境配置步骤 : BeEF配置 : 修改 beef/extensions/metasploit/config.yaml : 确保port、user、pass与MSGRPC设置一致 设置正确的Metasploit路径(如kali默认已配置) 修改 beef/config.yaml 启用metasploit模块 Metasploit配置 : 创建启动脚本文件(如msf_ beef.txt): 使用screen保持会话: 启动顺序 : 先启动msfconsole 再启动BeEF: nohup ./beef & 攻击原理 : BeEF将Metasploit生成的URL嵌入被勾连浏览器的iframe中 通过msgrpc接口,可直接在BeEF管理UI中设置Metasploit参数 直接调用Metasploit的exploit模块(如ms11_ 003_ ie_ css_ import) 实际攻击示例 社会工程学攻击示例 选择Pretty Theft模块 设置诱骗参数(可自定义中文提示) 执行后受害者浏览器弹出伪造登录框 获取用户输入的凭据 Metasploit联合攻击示例 选择ms11_ 003_ ie_ css_ import漏洞模块 在BeEF中配置Metasploit参数 执行攻击 成功后可获得meterpreter会话 注意事项 网络速度影响攻击成功率 自定义社会工程学模块时注意UI设计以提高可信度 确保Metasploit和BeEF的配置参数一致 攻击测试应在授权环境下进行 总结 本文详细介绍了BeEF框架在用户和浏览器攻击方面的应用,包括内容劫持、输入捕获、社会工程学和与Metasploit的联合攻击。这些技术展示了浏览器漏洞和用户行为可能带来的安全风险,对安全测试人员具有重要参考价值。