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 3000:3000 -p 6789:6789 -p 61985:61985 -p 61986:61986 --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,都需要如上所述重建圖像。
BeEF中文文檔
推薦文章: