1.SYN泛洪攻击
原理:在三次握手中,客户端发送数据包时包里的源IP是虚假IP,导致服务器在返回SYN数据包时不知道返回给谁。
工具:低版本windows可以使用HUC SYN工具
在命令行输入syn即可查看命令格式。
2.SYN泛洪DDOS攻击
被攻击者(服务器)性能一般很好,普通的单台攻击不一定能特别成功。因此攻击者控制肉鸡,在肉鸡上安装木马的服务器端,黑客控制端监听端口,做实验的时候可以在被攻击端打开wireshark抓TCP包观察,或者在命令行看netstat -an,可以看到大量的TCP半开连接。
防范:添加防火墙或者修改TCP注册表信息(regedit)
3.TCP RESET攻击
TCP头中RST通常为0,要断开连接时为1,攻击者冒充其他客户机发送RESET数据包,断开连接。集线器网络中,攻击者能够方便地坚听双方会话,从而冒充,但是在交换机网络中则需要先进行中间人攻击。
步骤:在kali linux中输入命令:ech0 "1">
/proc/sys/net/ipv4/ip_forward打开路由功能,然后冒充双方ip:arpspoof -i eth0 -t 192.168.222.1 192.168.222.2;arpspoof -i eth0 -t 192.168.222.2 192.168.222.1;这样客户机与服务器之间的所有包都会经过kali发出去。在kali中造数据包:netwox 78 -i “ip”,此ip为你想要断开连接的客户机ip
4.UDP泛洪攻击
原理:攻击者发送大量的UDP包给服务器,服务器发送大量回复,工具UDP flooder
5.ICMP Smurf攻击
原理:攻击者发送数据包的源ip地址是被攻击者的ip地址,目的ip地址是被攻击者所在网段的广播地址,这样大量icmp echo reply就到了被攻击者那里了。前提是:最后一跳路由器能转发这个数据包。
————————————————
SYN泛洪攻击原理及防御
拒绝服务攻击时,攻击者想非法占用被攻击者的一些资源,比如如:带宽,CPU,内存等等,使得被攻击者无法响应正常用户的请求。
讲泛洪攻击之前,我们先了解一下DoS攻击和DDoS攻击,这两个攻击大体相同,前者的意思是:拒绝服务攻击;后者的意思是:分布式拒绝服务攻击。不要看这两个攻击前一个比后一个多了一个字母,后一个攻击比前你一个攻击少了"分布式"三个字,其实他们具体的来说还是有所区分的。
DDoS是DoS攻击中的一种方法。下面我们来详细看一下区分:
DoS(拒绝服务):不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,它的目的是使得计算机或者网络我无法提供正常服务。最常见的DOS攻击有计算机网络带宽攻击和连通性的攻击。
DDoS(分布式拒绝服务);这个的攻击借助于客户/服务器技术,将多个计算机联合起来作为一个攻击平台,对一个或者是多个目标发动攻击,从而成倍的提高就裁决服务攻击的威力。
简单地说,DDoS的攻击威力要大于DoS的攻击威力,DDoS主要是发动群体攻击。
以上的内容就是对DoS和DDoS攻击文字上的一个概念。为了更加直观地表达出来,我在下面附一张图:
这幅图呢就是TCP的通信的三次握手,如果说攻击端,发送完第一次握手的数据后,然后就"消失"了,那么服务器就会不断的发送第二次握手的数据,可是攻击端的人找不到了。于是,服务器的资源大量被消耗,直到死机为止。当然了,如果要完全弄懂机制,需要对TCP有相当深入的了解。
现在回到我们的原题:SYN泛洪攻击,其实这个攻击主要利用的就是TCP三次握手机制的缺陷。
TCP SYN泛洪主要发生在OSI的第四层,(关于这个OSI我会在后面的文章给大家讲述。)利用了这个TCP三次握手的特性。
A(攻击者)发送TCP SYN,SYN是TCP三次握手中的第一个数据包,而当这个服务器返回ACK以后,A不再进行确认,那这个连接就处在了一个挂起的状态,也就是半连接的意思,那么服务器收不到再确认的一个消息,还会重复发送ACK给A。这样一来就会更加浪费服务器的资源。A就对服务器发送非法大量的这种TCP连接,由于每一个都没法完成握手的机制,所以它就会消耗服务器的内存最后可能导致服务器死机,就无法正常工作了。更进一步说,如果这些半连接的握手请求是恶意程序发出,并且持续不断,那么就会导致服务端较长时间内丧失服务功能——这样就形成了DoS攻击。这种攻击方式就称为SYN泛洪攻击。
那么我们如何去防范这种SYN攻击呢?
其实最常用的一个手段就是优化主机系统设置。比如降低SYN timeout时间,使得主机尽快释放半连接的占用或者采用SYN cookie设置,如果短时间内收到了某个IP的重复SYN请求,我们就认为受到了攻击。我们合理的采用防火墙设置等外部网络也可以进行拦截。