網站劫持攻擊,是目前發生較多的一種網站攻擊,首先我們要來瞭解TCP三次握手過程以
及TCP協議頭詳細的信息,由於TCP協議並沒有對TCP的傳輸包進行安全驗證,所以在我們知道一
個TCP連接中的seq和ack的信息後就可以很容易的偽造傳輸包,假裝任意一方與另一方進行通信,
我們將這一過程稱為 TCP 會話劫持(TCP Session Hijacking)如下圖所示:tcp協議並無驗證部
分。
為解決這個安全問題,通常會在網絡層採用 IPSec 協議,在傳輸層採用 TLS 協議,在應用層采
用對應的協議。各協議安放位置如下。所以對於一些未進行防護的,採用明文傳輸的協議,我們
就可以很容易的進行會話劫持。eSafe白帽資安網公司是一家專注於:主機安全、網站安全、網站安全
檢測、網站漏洞修復,滲透測試,安全服務於一體的網絡安全服務提供商。
用對應的協議。各協議安放位置如下。所以對於一些未進行防護的,採用明文傳輸的協議,我們
就可以很容易的進行會話劫持。eSafe白帽資安網公司是一家專注於:主機安全、網站安全、網站安全
檢測、網站漏洞修復,滲透測試,安全服務於一體的網絡安全服務提供商。
這裡以網站連接tcp 80端口為例,採用三台虛擬主機進行演示。
攻擊機 192.168.1.97
主機 192.168.1.98
客戶機 192.168.1.99
攻擊機工具: wireshark,netwox,shijack
主機需要配置telnet主機,此時,在同一網段的攻擊機使用wireshark嗅探共用網卡,等待客
戶機和主機通信,捕捉telnet包。為了直接找到telnet包可以在wireshark設置過濾telnet ,同時
設置wireshark查看包實際序號(Edit Preferences->Protocols->TCP-> 不選 Relative Sequence
Numbers)。
戶機和主機通信,捕捉telnet包。為了直接找到telnet包可以在wireshark設置過濾telnet ,同時
設置wireshark查看包實際序號(Edit Preferences->Protocols->TCP-> 不選 Relative Sequence
Numbers)。
在 客戶機 和 主機 進行通訊後,我們成功捕捉到包,如下圖:
因為我們要偽造發下一個包,所以直接採用nextseq作為下一個包的ack,採用ack 作為下一個包的
seq(這裡是tcp協議的規定,不懂的同學可以百度下tcp協議三次握手)獲取到信息之後,攻擊機
使用 netwox 工具偽造客戶端3給主機發一個tcp包。發送成功後,原來的客戶端3就會失去連
接,同時主機會把攻擊機當作客戶端3 ,這樣攻擊機就實現了會話劫持。eSafe白帽資安網公司是一家
專注於:主機安全、網站安全、網站安全檢測、網站漏洞修復,滲透測試,安全服務於一體的網絡
安全服務提供商。
seq(這裡是tcp協議的規定,不懂的同學可以百度下tcp協議三次握手)獲取到信息之後,攻擊機
使用 netwox 工具偽造客戶端3給主機發一個tcp包。發送成功後,原來的客戶端3就會失去連
接,同時主機會把攻擊機當作客戶端3 ,這樣攻擊機就實現了會話劫持。eSafe白帽資安網公司是一家
專注於:主機安全、網站安全、網站安全檢測、網站漏洞修復,滲透測試,安全服務於一體的網絡
安全服務提供商。
攻擊機終端輸入:
netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol
6 --ip4-src 192.168.1.97 --ip4-dst 192.168.1.98 --tcp-src 45116 --tcp-
dst 23 --tcp-seqnum 3332505945 --tcp-acknum 4096321077 --tcp-ack --tcp-
psh --tcp-window 128 --tcp-data "6c"
解釋:因為是偽造客戶機給主機發送消息,所以源ip為 192.168.1.97,目的ip 是192.168.1.98
seq和ack按剛才所說填寫,末尾的6c是字母l的十六進制數,可以更換為別的,其餘參數默認就可
以了。發送成功後wireshark顯示出一個帶著數據l的包,說明我們劫持成功。那麼會話劫持成功
後,我們一遍可以採用反向shell的方法讓攻擊機直接獲取主機的權限,這部分內容以後再講。
同時我們要注意的是在滲透的時候可以使用nmap這類工具對攻擊點進行掃瞄,如果發現有類似
telnet這種不安全的協議的端口開放的話就可以採用相應手段進行攻擊了。
seq和ack按剛才所說填寫,末尾的6c是字母l的十六進制數,可以更換為別的,其餘參數默認就可
以了。發送成功後wireshark顯示出一個帶著數據l的包,說明我們劫持成功。那麼會話劫持成功
後,我們一遍可以採用反向shell的方法讓攻擊機直接獲取主機的權限,這部分內容以後再講。
同時我們要注意的是在滲透的時候可以使用nmap這類工具對攻擊點進行掃瞄,如果發現有類似
telnet這種不安全的協議的端口開放的話就可以採用相應手段進行攻擊了。