BeEF安装

介绍

以下安装说明适用于基于Linux的操作系统。

从理论上讲,BeEF应该可以在任何可以运行Ruby 2.5+和NodeJS的操作系统上运行。但是,官方只支持MacOS和Linux。

此文档暂无MacOS安装说明。

前提

Ruby

前提条件:Ubuntu
BeEF需要Ruby 2.5(或更新版本)。有关安装Ruby和Ruby Developer工具的最新稳定版本的说明,请参阅操作系统文档。

如果您的操作系统包管理器不支持Ruby版本2.5,您可以为最新版本的Ruby添加brightbox ppa存储库:

$ sudo apt-add-repository -y ppa:brightbox/ruby-ng

或者,考虑使用Ruby环境管理器,比如rbenv或rvm。
这些命令行工具允许对不同的Ruby环境进行简单管理。

Bundler

前提条件:Ubuntu
Bundler对于在ruby项目中跟踪和安装正确的gems是非常重要。安装时,您可能会得到错误:

line 208: bundle: command not found

这只是意味着您没有安装捆绑器,只需运行以下命令即可解决此问题:

$ gem install bundler

资源

前提条件: Ubuntu, Docker
通过下载最新的存档来获取应用程序源代码:

$ wget https://github.com/beefproject/beef/archive/master.zip

或者从Github克隆Git存储库:

$ git clone https://github.com/beefproject/beef

Docker

前提条件:Docker
请按照Docker安装指南中的设置说明进行操作。

由于权限受限,强烈建议您在Ubuntu上安装BeEF时使用Ruby Environment Manager。请注意,如果使用Ruby Environment Manager,则不需要按照上述说明安装Ruby。

为了安装BeEF和RVM,需要先安装Git和Curl,因为Ubuntu并没有提供它们。

$ sudo apt-get install git
$ sudo apt-get install curl

要安装RVM,请首先转到https://rvm.io/rvm/install 并安装GPG密钥。然后安装RVM,没有依赖项:

$ \curl -sSL https://get.rvm.io | bash -s -- --autolibs=install-packages

现在,在应用程序用户$ HOME目录中,以root用户身份安装这些依赖项:

$ sudo .rvm/bin/rvm requirements

现在已经安装了依赖项,我们需要安装RVM和Ruby的稳定版本。作为应用程序用户输入:

$ \curl -sSL https://get.rvm.io | bash -s stable --ruby

BeEF需要Ruby2.5.x。在导航到Beef目录之前,运行:

$ rvm install "ruby-2.5.3"

然后只需重新加载shell。

你可以通过运行以下程序来验证RVM和Ruby的安装:

$ rvm -v
$ ruby -v

在执行上述步骤之后,只需克隆存储库并按照下面的步骤安装BeEF。

安装

安装好合适的Ruby版本后,在BeEF目录中运行安装脚本:

$ ./install

该脚本将安装必需的操作系统软件包和所有必备的Ruby gem。

成功安装后,请确保阅读 文档上的“配置”介绍,以获取有关配置和保护BeEF的重要详细信息。

启动 BeEF

要启动BeEF,首先更改用户名和密码config.yaml,然后运行:

  $ ./beef

测试

如果要安装测试前提条件,请运行:

$ bundle install --with test

这将安装必备的gem进行测试。

如果要运行测试服,请运行:

$ bundle exec rake

更新

由于Web浏览器开发的快节奏性质和webappsec格局,最好定期将BeEF更新到最新版本。

如果您正在使用GitHub存储库中的BeEF,则更新非常简单:

$ git pull

Docker安装

前提条件:Source Code, Docker

通过Docker运行BeEF可以减轻任何主机设置的麻烦,使安装过程像执行一些命令一样简单。

设置凭证

在构建Docker映像之前,必须设置凭证。默认情况下,BeEF的凭据设置为beef:beef,但不允许使用默认凭据进行身份验证。因此,如果在不更改凭据的情况下构建映像,则将无法对容器的BeEF实例进行身份验证。

使用您喜欢的文本编辑器打开config.yaml在BeEF根文件夹中找到的文件:

...SNIP...
    credentials:
      user: '<YOUR_USERNAME>'
      passwd: '<YOUR_PASSWORD>'
 ...SNIP...

建立您的图像和容器

要建立您的形象:

$ docker build -t beef .

要运行容器:


 # If you'd prefer the container to run backgrounded/detached just add the -d tag to the command below
  $ docker run -p 3000:3000 -p 6789:6789 -p 61985:61985 -p 61986:61986 --name beef beef

要在不执行正常启动的情况下运行容器,而是在包装盒上生成shell,请执行以下操作:

  $ docker run -p 30003000 -p 67896789 -p 6198561985 -p 6198661986 --name beef --entrypoint = / bin / bash -it Beef

在容器中的shell:

$ docker exec -it beef /bin/bash # You can replace /bin/bash to run an arbitrary command

要停止您的容器:

 $ docker stop beef

要在停止后重新启动它:

  $ docker start beef

故障排除

如果遇到此错误:

  You must use Bundler 2 or greater with this lockfile.
  The command '/bin/sh -c apk add --no-cache git curl libcurl curl-dev ruby-dev libffi-dev make g++ gcc musl-dev zlib-dev sqlite-dev &&   bundle install --system --clean --no-cache \
  --gemfile=/beef/Gemfile $BUNDLER_ARGS &&   rm -rf /usr/local/bundle/cache' returned a non-zero code: 20

从您的BeEF目录中删除Gemfile.lock,然后重试。

连接到BEEF

运行Docker容器的IP地址可能因计算机而异。最简单的检查方法是运行:

 $ docker exec -it beef ifconfig eth0

在这里,您需要在旁边查找IP地址inet。例如,在下面的示例中,我需要导航到的地址是172.17.0.2

eth0    inet addr:172.17.0.2  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4466 (4.3 KiB)  TX bytes:1770 (1.7 KiB)

确定容器的IP地址后,导航至 http://IP_ADDRESS:3000/ui/authentication

更新图像

每次您下载最新的源代码(git pull origin master)或进行更新时/beef/update-beef,都需要如上所述重建图像。

本文章首发在 网安wangan.com 网站上。

上一篇 下一篇
讨论数量: 0
只看当前版本


暂无话题~