xss利用-beef攻擊-演示


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM