一、前言
- 所謂會話净捅,簡單理解就是用戶在瀏覽某個網(wǎng)站的過程中和服務(wù)器的通信疑枯,通信過程中會傳遞一些用戶信息,以便服務(wù)器知道當前是哪個用戶在瀏覽網(wǎng)站
- 會話劫持蛔六,簡單說就是用戶與服務(wù)器通信的過程中荆永,你橫插一腳,截獲了用戶的信息国章,然后冒充這個用戶與服務(wù)器通信具钥,最后達到不需要知道用戶的賬號密碼就能以該用戶的身份登錄對應(yīng)的網(wǎng)站,冒充該用戶的目的
二液兽、相關(guān)工具準備
- arpspoof 骂删,常用的arp欺騙工具,不多解釋了
- wireshark ,抓取數(shù)據(jù)包的工具宁玫,kali應(yīng)該自帶了粗恢,沒有就apt-get install 一下
- ferret,用于重新生成數(shù)據(jù)包文件欧瘪,特別注意他的安裝名是ferret-sidejack
apt-get install ferret-sidejack
我之前莫名奇妙的裝了一個ferret的同名工具适滓,一直不能用還覺得很奇怪,正確的名稱是ferret-sidejack恋追;
另外如果安裝失敗,考慮先執(zhí)行下面的命令罚屋,因為這個工具貌似是只有32位的苦囱,你的kali如果是64位的需要開啟 32位支持
dpkg --add-architecture i386
apt-get clean && apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
- hamster,重放流量的工具,請注意他的安裝名是hamster-sidejack
三脾猛、流程方案簡述
- 本次測試準備采用兩種流程方案撕彤,主要是圍繞 hamster的兩種使用方式
- 第一種,使用arpspoof對靶機進行arp欺騙劫持流量猛拴,然后使用wireshark工具抓取流量包并保存成pcap文件羹铅,接著使用ferret工具重新生成數(shù)據(jù)包文件hamster.txt,最后使用hamster重放流量來實現(xiàn)會話劫持。
- 第二種愉昆,直接使用ferret和hamster工具進行實時的流量檢測职员,并進行會話劫持,這種方法更加簡單直接跛溉,比較推薦焊切。
四、具體測試過程
1. 第一種方案
- 對靶機進行arp欺騙并流量劫持芳室、轉(zhuǎn)發(fā)
echo 1 > /proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t 192.168.31.45 192.168.31.1
- 執(zhí)行下面的命令专肪,打開wireshark工具
wireshark
-
雙擊網(wǎng)卡 eth0,就會自動開始進行數(shù)據(jù)包抓取堪侯,就讓它開著嚎尤,等待靶機的用戶瀏覽網(wǎng)站
-
為了盡快完成測試,我們在測試靶機上登錄一個論壇網(wǎng)站并瀏覽伍宦,注意紅框中的用戶名芽死,顯然是登錄過賬號的
-
等過了一會,我們就可以把arp欺騙停掉雹拄,同時停止抓包收奔,保存抓包數(shù)據(jù)文件成cookie.pcap文件,默認保存在root目錄下(推薦)
- 執(zhí)行下面的命令,會自動在相同目錄下生成hamster.txt文件滓玖,注意坪哄,如果你在別的地方生成的hamster.txt記得一定要copy到root根目錄下
ferret -r cookie.pcap
-
輸入下面的命令,運行 hamster,根據(jù)提示信息翩肌,設(shè)置瀏覽器的代理為127.0.0.1 端口是1234模暗,然后再訪問http://127.0.0.1:1234 地址。瀏覽器怎么設(shè)置代理這里就不贅述了念祭。
-
瀏覽器設(shè)置過代理后兑宇,打開http://127.0.0.1:1234 地址
- 左邊的鏈接列表就是劫持的會話,可以挨個點擊看看粱坤,當然你也可以根據(jù)域名檢索隶糕,右邊就是點擊后顯示的網(wǎng)頁內(nèi)容,右上角顯示就是我們剛剛在靶機上測試登錄的用戶站玄,此時就可以這個用戶的身份進行網(wǎng)站的相關(guān)操作了枚驻。至此測試流程就結(jié)束了。
2. 第二種方案
- 可以先把之前保存的cookie.pcap和hamster.txt 刪掉株旷,實際上只要保證root目錄下沒有hamster.txt文件就行了再登,目的是為了不要讓上個流程的測試數(shù)據(jù)隊對這次測試產(chǎn)生影響。
- 這種方案我們抓取整個局域網(wǎng)的數(shù)據(jù)晾剖,不再針對某個靶機锉矢,所以前置的arp欺騙流量劫持的工作就不需要做了。
- 執(zhí)行以下命令齿尽,運行ferret工具
ferret -i eth0
- 等他運行完畢沽损,就放在一旁不管了,他會實時的抓取整個局域網(wǎng)的數(shù)據(jù)包循头。
- 執(zhí)行以下命令缠俺,運行hamster工具
root@kali:~# hamster
--- HAMPSTER 2.0 side-jacking tool ---
Set browser to use proxy http://127.0.0.1:1234
DEBUG: set_ports_option(1234)
begining thread
DEBUG: mg_open_listening_port(1234)
Proxy: listening on 127.0.0.1:1234
-
然后根據(jù)系統(tǒng)提示配置瀏覽器的代理,并訪問相對的地址贷岸,跟方案一是一樣的
-
點擊adapters選擇對應(yīng)的網(wǎng)卡壹士。
- 這樣數(shù)據(jù)就出來了,因為此次是抓取的整個局域網(wǎng)過的數(shù)據(jù)包偿警,所以這里出現(xiàn)了多個目標躏救,點擊其中一個目標就可以查看對應(yīng)的鏈接列表和內(nèi)容,跟方案一是一樣的
- 只要局域網(wǎng)中的數(shù)據(jù)在不斷增加,這里也會同步的更新。
五留储、最后
- 這里我們只是測試整個技術(shù)流程,一些細節(jié)問題不在我們討論的范圍內(nèi)少办。比如以上方案也不是每次都能成功,跟網(wǎng)站是否使用HTTP/S協(xié)議诵原、使用什么樣的安全策略也有很大關(guān)系
- 所以再次提醒大家不要隨便接入陌生的英妓,不安全的局域網(wǎng)挽放,不要瀏覽一些不知名、不常用的小網(wǎng)站蔓纠。當然在安全的網(wǎng)絡(luò)環(huán)境下辑畦,瀏覽主流的一些網(wǎng)站,還是相對安全的腿倚,不能因噎廢食