beef區域網內模擬攻擊

雨九九發表於2019-04-05

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的進一步研究,可以看看

相關文章