BeEF Tunneling
介紹
Tunneling Proxy(TP)有效地模仿了反向HTTP代理。它將通過選定的瀏覽器會話處理請求。該會話成為隧道,并且其掛鉤的瀏覽器成為出口點。
細節
配置為使用BeEF的代理的瀏覽器(或通常支持HTTP代理的任何軟件)將通過TP發送所有請求。
TP將根據收到的請求詳細信息創建一組指令。無論使用哪種瀏覽器,這些指令都會引發等效請求。
指令將被包裝并發送到選定的瀏覽器會話,以在掛鉤的瀏覽器上執行。瀏覽器成為隧道的出口節點。它將執行請求并接收HTTP響應。
然后將HTTP響應傳遞回BeEF代理,然后將其傳遞給瀏覽器。此過程創建一個隧道,其中一個是TP,另一個是選定的已掛鉤的瀏覽器。
這些請求不是跨域的:這意味著,如果掛鉤的瀏覽器的當前來源是http://example.com:80,使用代理的瀏覽器只能將請求發送到http://example.com:80。
未來有計劃擴展集成Erlend Oftedal的malaRIA的隧道代理功能。這將允許隧道代理使用寬松的跨域策略將請求轉發到每個源。
<allow-access-from origin="*">
溝通流程
瀏覽器->(TP - CS )-> 掛鉤瀏覽器->(源)Web服務器-> 掛鉤瀏覽器 ->(TP - CS)->瀏覽器
真實場景
BeEF TP在現實世界中有許多用例:
- 通過受害瀏覽器的安全上下文瀏覽經過掛鉤的原始身份驗證的表面(cookie會通過jQuery自動添加到XmlHttpRequests中)
- 通過受害瀏覽器的安全上下文來搜尋鉤住的來源。
- 使用Burp Pro Scanner和sqlmap查找和利用SQLi。
如何使用代理擴展
- 選擇您要用來Tunneling請求的掛鉤瀏覽器。右鍵單擊掛鉤的瀏覽器圖標,然后單擊“用作代理”。

- 配置另一個瀏覽器以將TP用作HTTP代理。

- 在這種情況下,我們使用Opera(位于屏幕截圖的右側)作為掛鉤的瀏覽器,而Firefox(位于屏幕截圖的左側)作為使用TP的瀏覽器。您可以看到,在Firefox中,我們同時瀏覽了Opera掛鉤瀏覽器的相同來源(沒有盜取任何cookie)。

- 通過TP發送的每個請求都使用Requester擴展程序將新的XHR發送到掛鉤的瀏覽器。所有原始請求/響應對都存儲在BeEF數據庫中,可以通過“請求者”->“歷史記錄”選項卡進行詳細分析。

BeEF中文文檔
推薦文章: