Attacks on TCP/IP Protocols (Task3) SYN Flooding Attack

Task3: SYN Flooding Attack  

①SYN泛洪攻擊工作原理

SYN泛洪是一種DoS攻擊的形式,攻擊者向受害者的TCP端口發送許多SYN請求,但是這些攻擊者並無意完成3次握手的過程,攻擊者使用虛假的IP地址或不繼續該過程。通過這種攻擊,攻擊者可以淹沒受害者的這些被用於 半開放式連接 的隊列,即,連接已經完成SYN,SYN-ACK,但沒有完成最後的ACK。當這個隊列已滿時,受害者不能再完成任何連接。下圖(Figure 1)說明了攻擊。




注:實驗過程中遇到的問題或者必要知識點的儲備如下

(1)必要的命令

檢查系統隊列大小設置:

# sysctl -q net.ipv4.tcp_max_syn_backlog

檢查隊列的使用情況:

# netstat -na | grep tcp

禁止/啓用SYN Cookie:

# sysctl -w net.ipv4.tcp_syncookies=0
# sysctl -w net.ipv4.tcp_syncookies=1
(2)SYN Cookie工作原理

SYN Cookie是對TCP服務器端的三次握手協議作一些修改,專門用來防範SYN Flood攻擊的一種手段。其原理是,在TCP服務器收到TCP SYN包並返回TCP SYN+ACK包時,不分配一個專門的數據區,而是根據這個SYN包計算出一個cookie值。在收到TCP ACK包時,TCP服務器再根據那個cookie值檢查這個TCP ACK包的合法性。如果合法,再分配專門的數據區進行處理未來的TCP連接。

(3)如何構造SYN報文

使用netwox 76號指令。

netwox 76 --dst-ip 192.168.175.140 --dst-port 80
netwox 76 --dst-ip 192.168.175.140 --dst-port 23
上面兩條指令,攻擊者使用隨機的虛假IP分別向victim(192.168.175.140)的80端口和23端口發送大量SYN請求。

過程演示

attackers    Machine1192.168.175.139

victim   Machine2192.168.175.140

observer    Machine3192.168.175.141

(1)攻擊前 victim 用於 半開放式連接 隊列的使用情況


(2)victim禁止SYN Cookie


(3)attack向victim的23端口發送大量SYN請求。(Telnet服務默認端口號:23)




(4)攻擊後 victim 用於 半開放式連接 隊列的使用情況


(5)observer使用telnet命令請求遠程登錄victim,登陸失敗


(6)在victim開啓SYN Cookie的情況下,SYN Flood攻擊無效。

具體原因,在前面的SYN Cookie工作原理可解釋。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章