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

Posted 我有一颗五角星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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工作原理可解释。


以上是关于Attacks on TCP/IP Protocols (Task3) SYN Flooding Attack的主要内容,如果未能解决你的问题,请参考以下文章

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

Can‘t start server: Bind on TCP/IP port. Got error...n denied

Can‘t start server: Bind on TCP/IP port. Got error...n denied

mysqld启动“ Can't start server: Bind on TCP/IP port: Address already in use

修改mysql端口后重启mysql报错:Can't start server: Bind on TCP/IP port. Got error...n denied

Web For Pentester1 - LDAP attacks ,File Upload,XML attacks