1. 程式人生 > >beef局域網內模擬攻擊

beef局域網內模擬攻擊

hostname 主機 win10 ali col 文檔 最好 cnblogs img

0x0環境

主機A win10:10.51.20.60(wifi)

主機A中的虛擬機kali(攻擊者):192.168.110.129(NAT)

主機A中的虛擬機win2003(受害者):192.168.110.132(NAT)

0x1 配置

0x11 beef配置

技術分享圖片

Beef的配置文件在 /usr/share/beef-xss/config.yaml

Host:kali IP

Port:beef監聽端口默認3000

public:主機A(接入外網的電腦IP)

public_port:主機A中空閑的端口,我設置的是20000

0x12 虛擬機端口映射

技術分享圖片

技術分享圖片

修改虛擬機網關的端口映射,簡單來說,就是設置後,所有訪問主機A的20000端口的請求都會被轉發到192.168.110.129的3000端口,也就是kali的3000端口上

虛擬網絡編輯器在VM編輯欄

0x2 模擬攻擊

0x21 kali

啟動beef

技術分享圖片

Beef彈出瀏覽器打開beef的後臺管理,這裏註意,原本應該是打開上圖中的地址,但出了點問題(最後總結會說),所以我們要把ip改成kali的ip,也就是192.168.110.129:3000/ui/authentication

用戶名/密碼:beef/beef

技術分享圖片

這就是beef的界面,復制basic demo link:http://192.168.110.129:3000/demos/basic.html

技術分享圖片

0x22 win2003,win10

地址轉換:

復制的地址是:http://192.168.110.129:3000/demos/basic.html

受害者Win2003輸入的地址應該是端口映射後的地址:10.51.20.60:20000/demos/basic.html

成功打開,此時應該是成功了才對(。。。。。。)

技術分享圖片

查看kali中的beef管理界面,並沒有win2003的信息(慌了。。。)

技術分享圖片

此時,我試了下在主機A中打開hook地址,成功了

技術分享圖片

再看beef,有了主機A的信息了,hook成功了(摸不著頭腦???)

技術分享圖片

技術分享圖片

嘗試利用social engineering(社會工程學模塊)騙取facebook密碼

技術分享圖片

再打開主機A上的頁面,成功了

技術分享圖片

輸入hello後,再回到kali看攻擊效果

技術分享圖片

0x3 總結,思考

0x31關於beef配置的host

根據參考文章,一開始beef配置的host我是沒有改動,也就是默認的0.0.0.0

但出現了如下圖的問題,成功打開了demo,但是demo上的js一直不成功,原因是無法連接(Error connection)

後來把host改成了kali的ip,js連接上了,但是beef的管理頁面,也就是127.0.0.1:3000/ui/panel卻無法打開了,試了下192.168.110.129:3000/ui/authentication倒是成功了,但是這其中的原因我還沒明白

技術分享圖片

0x32 win2003的失敗

0x22中說到,win2003成功打開了demo,但是beef這沒有收到信息

換成主機A嘗試成功後,我又轉回來研究2003失敗的原因,因為只有ie,而且是舊版本的,沒辦法F12看具體的請求狀況,我下了個47版本的火狐裝上後,再次嘗試訪問demo,這次beef成功收到信息了,也就是2003被成功hook住了(我又摸不著頭腦了???)

技術分享圖片

Beef頁面

技術分享圖片

0x33 關於beef配置的public

因為此次用的是wifi,所以beef配置中的public填的是wlan的ip地址,如果是用網線,

應該要改成192.168.110.1

技術分享圖片

0x34 實際環境攻擊的想法

這次是虛擬機網絡模擬攻擊,如果在實際情況下

根據參考文檔A

需要一臺能訪問(有獨立ip)的主機

服務器裝好beef後,要修改後臺管理頁面的URL和用戶名密碼,因為你能登陸管理頁面,別人也能登陸

還要修改host為主機的獨立ip,port自設要大於1024

Public和public_port不用設置

以下來自文檔A

### 指定某個網段,只有在這個網段的瀏覽器才能被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

#public: "" # public hostname/IP address
#public_port: "" # experimental
### 這是讓BeEF運行在一個反向代理或者NAT環境下才需要設置的。

### 管理頁面的URI, 默認是/ui, 建議修改,這樣就不會讓別人找到你的管理頁面
web_ui_basepath: "/ui"

### hook_file 的名稱, 建議修改, 可以修改為jquery.js之類的來提升隱蔽性
hook_file: "/hook.js"

### 管理頁面登錄的用戶名和密碼, 這個一定要改,兩個都改是最好的
credentials:
user: "beef"
passwd: "beef"

0x4參考文檔

A:https://www.freebuf.com/articles/web/175755.html

B:https://www.cnblogs.com/heijuelou/p/7804771.html

兩篇文章的作者都有對beef的進一步研究,可以看看

beef局域網內模擬攻擊