SYN Flood攻击原理
利用TCP协议三次握手的缺陷,首先,攻击者被攻击者发送伪造源地址的TCP[SYN]报文(第一次握手),其次,被攻击者向源地址主机返回TCP[SYN,ACK]报文(第二次握手),最后,等待源地址主机返回TCP[ACK]报文(第三次握手)并将此半连接存入半连接队列中。
鉴于源地址是伪造的,因此被攻击者将无法收到源地址主机发送的TCP[ACK]报文(第三次握手),然而,TCP协议的重传机制又要求被攻击者重新发送TCP[SYN,ACK]报文,一旦达到TCP协议规定的重传次数,被攻击者将向源地址主机发送TCP[RST]报文用于从半连接队列中释放该半连接。
当攻击者不断地向被攻击者发送TCP[SYN]报文(第一次握手),被攻击者的半连接队列被填满,从而致使被攻击者拒绝任何新的连接。
实现方式
攻击命令实现方式
sudo hping3 -S -p 445 192.168.254.3 --rand-source --flood
释义:
-S:设置SYN flag标志位为1;
-p 445:被攻击的目标端口UDP 445;
192.168.254.3:被攻击者的IP;
--rand-source:伪造随机的源IP地址;
-c 10:仅发送攻击报文10个;
--fast: alias for -i u10000 (10 packets for second)
--faster:alias for -i u1000 (100 packets for second)
--flood:sent packets as fast as possible. Don't show replies.
模拟攻击场景
被攻击主机windows10配置192.168.254.3;
攻击主机kali linux 2022.1配置192.168.254.7;
抓包取证
攻击主机发送攻击指令“sudo hping3 -S -p 445 192.168.254.3 --rand-source –c 1”,如下图所示;
当攻击主机向被攻击主机仅发送一个TCP[SYN]请求报文,被攻击主机回应给伪造IP的主机5个TCP[SYN,ACK]和1个TCP[RST]报文,如下图所示,在被攻击主机上抓取的报文;
此外,被攻击主机在半连接队列中存入1条半连接记录,如下图所示;
当攻击主机向被攻击主机连续不断的发送TCP[SYN]请求报文(sudo hping3 -S -p 445 192.168.254.3 --rand-source --fload),在被攻击主机上将查看到大量的半连接,如下图所示;
本文暂时没有评论,来添加一个吧(●'◡'●)