簡介
Browser Exploitation Framework,由Wade Alcorn 在2006年開始創建的,至今還在維護,由Ruby語言開發,是一個專注於Web瀏覽器的滲透測試工具。
架構
zombie(僵屍)即受害的瀏覽器。zombie是被hook(勾連)的,如果瀏覽器訪問了有勾子(由js編寫)的頁面,就會被hook,勾連的瀏覽器會執行初始代碼返回一些信息,接着zombie會每隔一段時間(默認為1秒)就會向BeEF服務器發送一個請求,詢問是否有新的代碼需要執行。BeEF服務器本質上就像一個Web應用,被分為前端UI, 和后端。前端會輪詢后端是否有新的數據需要更新,同時前端也可以向后端發送指示, BeEF持有者可以通過瀏覽器來登錄BeEF 的后台管理UI。
Requirements
操作系統:Mac OSX >=10.5.0或Linux。注意:不支持Windows。
Ruby:>=2.5
SQLite的:3.x
Node.js:>=10
Gemfile:https://github.com/beefproject/beef/blob/master/Gemfile
OSX上:Selenium
安裝
kali linux
-
默認安裝BeEF,命令是beef-xss,如果提示命令不存在,就自己裝一個
-
apt install beef-xss #安裝
beef-xss #啟動
systemctl start beef-xss.service #開啟beef服務
systemctl stop beef-xss.service #關閉beef服務
systemctl restart beef-xss.service #重啟beef服務
配置
配置文件路徑: /usr/share/beef-xss/config.yaml,建議修改字段如下,每個人視自己需求機動調整:
#指定某個網段,只有在這個網段的瀏覽器才能被hook
permitted_hooking_subnet: "0.0.0.0/0"
#指定某個網段,只有在這個網段的瀏覽器才能訪問管理UI
permitted_ui_subnet: "0.0.0.0/0"
#上面這兩項都是可以被繞過的,只要使用X-Forwarded-For首部繞過,一般不需要設置
#設置beef服務器的主機, 如果有自己的域名, 那么可以設置自己的域名, 沒有就使用默認
host: "0.0.0.0"
#設置beef服務器監聽的端口, 可以自己定一個,比如8080, 記得端口號需要大於1024
port: "3000"
#受害瀏覽器輪詢beef主機的時間, 默認為1秒,可以設置為更低。
xhr_poll_timeout: 1000
# 讓BeEF運行在一個反向代理或者NAT環境下才需要設置的
#public hostname/IP address
public: ""
#experimental
public_port: ""
#管理頁面的URI, 默認是/ui, 建議修改,這樣就不會讓別人找到你的管理頁面
web_ui_basepath: "/ui"
#hook_file 的名稱, 建議修改, 可以修改為jquery.js之類的來提升隱蔽性
hook_file: "/hook.js"
#管理頁面登錄的用戶名和密碼, 這個一定要改,兩個都改是最好的
credentials:
user: "beef"
passwd: "beef"
使用
-
修改監聽的ip地址為kali的ip:192.168.136.130 (每個人機器的IP不同,請自行修改為自己的)
-
訪問有hook的示例頁面
http://192.168.136.130:3000/demos/basic.html
注意:此頁面中含有hook.js
源碼如下:
-
查看BeEF 管理界面,如下圖
command:執行各種操作,選中命令-->右下角excute執行,如執行彈框
在內部,BeEF可以檢;測出哪些命令模塊可以在當前受害的瀏覽器工作, 並用顏色表示:
綠色:命令模塊可以在目標瀏覽器上運行,且用戶不會感到任何異常
橙色:命令模塊可以在目標瀏覽器上運行,但是用戶可能會感到異常(比如可能會有彈窗,提示,跳轉 等)
灰色:命令模塊尚未針對此目標進行驗證,即不知道能否可運行
紅色:命令模塊不適用於此目標
BeEF的入門使用就是這么簡單,所有的功能都已經寫好了,我們只需要選擇模塊,設置參數(有時不需要),點擊Execute 就可以了。 當然必須知道這些模塊的作用才行。
附:依賴的GEOIP安裝
1、下載
https://github.com/maxmind/geoipupdate/releases/download/v4.3.0/geoipupdate_4.3.0_linux_amd64.deb
2、放入共享文件夾
3、安裝:
dpkg -i /mnt/hgfs/geoipupdate_4.3.0_linux_amd64.deb
參考資料:https://www.freebuf.com/author/