浏览器攻击框架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):直接修改页面内容
- Replace HREFs:循环替换所有
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):
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
- 创建启动脚本文件(如msf_beef.txt):
-
启动顺序:
- 先启动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的联合攻击。这些技术展示了浏览器漏洞和用户行为可能带来的安全风险,对安全测试人员具有重要参考价值。