告别过气的DDOS,浅析各种DDOS手段和防范。

来源:互联网 发布:制作情书的软件 编辑:程序博客网 时间:2024/05/01 16:52

第一次写博客,心情有点小激动,简单来说说DDOS吧,大牛勿喷,本人技术很渣,可能会有一些错误。

之前群里很多老哥问我是怎么攻击网站的(咳咳,应该说是压力测试才对!)

其实就是DDOS啦,最没技术的一种手段,简单粗暴,但是却很见效。不过我认为,这种手段会被淘汰的,原因一会会细说

DDoS(Distributed Denial of Service:分布式拒绝服务)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

通俗点说吧,DDOS最早是DOS,就是单机进行攻击,DDOS就是多机器进行攻击。

我们都知道,电脑上网的网速是有限制的,服务器也一样,比如淘宝买的vps,很多都是共享2M。互联网是基于网络协议的,不管是连接网站,还是需要请求网络资源的应用程序都需要基于协议来进行,比如我们点击百度网页的登陆按钮,需要给百度服务器发送post包,百度返回get包,比如腾讯QQ,登录用TCP,聊天用UDP。

DDOS可以算一个统称,包含纯流量型攻击和资源耗尽型攻击。

一般来讲,发送数据包的是纯流量型攻击,而类似CC攻击,或者说httpget攻击属于资源耗尽型攻击。

发动DDOS攻击一般是利用网络协议的缺陷。。。别问我为什么不解决,因为貌似很难解决......

1、SYN flood攻击

定义:通常在进行 TCP 连接需要进行三次握手。当客户端向服务端发出请求时,首先会发送一个 TCP SYN 数据包。而后,服务器分配一个控制块,并响应一个 SYN ACK 数据包。服务器随后将等待从客户端收到一个 ACK 数据包。如果服务器没有收到ACK 数据包,TCP连接将处于半开状态,直到服务器从客户端收到ACK数据包或者连接因为 time-to-live(TTL)计时器设置而超时为止。在连接超时的情况下,事先分配的控制块将被释放


SYN是一个相当狠的攻击方式,我发给你一个连接请求,你回应我,但是我就是不确认,你也不清楚是我网络出现故障了,还是什么情况,就会不停的发给我握手包,直到超时。如果我不停的发,疯狂的发,一个集群几百几千个IP疯狂的砸过去,你还要不停的给我回复,防火墙都响应不过来,自己的cpu和带宽同时被榨干。

防范方法:尽量在不影响使用的情况下调低超时时间并拉黑攻击者IP。


2、UDP flood攻击

定义:UDP flood 又称UDP洪水攻击或UDP淹没攻击,UDP是没有连接状态的协议,因此可以发送大量的 UDP 包到某个端口,如果是个正常的UDP应用端口,则可能干扰正常应用,如果是没有正常应用,服务器要回送ICMP,这样则消耗了服务器的处理资源,而且很容 易阻塞上行链路的带宽。


UDP可以说是DDOS里面最粗暴的一种,因为这个协议本身的漏洞实在是。。。所以都被玩烂了,一会会在反射攻击中说到。

一般很多机房都可以过滤UDP,因为udp真的是泛滥了,一般去攻击就是发小包去疯狂冲击服务器,路由器,硬件防火墙。现在手里拿不出200G的udp,都不要说你是D阔。

至于为什么发小包,因为硬件防火墙防大包和小包是差不多的,你1S能发100个小包,或者10个大包,但是硬件防火墙最终被击垮是因为处理数量太多处理不过来,也就是说他1S可以处理80个小包,也能处理70多个大包,随意你砸64K的小包加上大概20K的停顿 80个砸垮了,而砸大包,你要多付出很多倍的流量。

3、ICMP攻击

定义:利用ICMP报文进行网络攻击主要分为三种类型:死亡之Ping、ICMP DoS攻击、基于重定向的路由欺骗。


这个协议我也只知道前两种,第三种实在是本人才疏学浅,没有接触过。

死亡之ping,是利用早期的网络协议缺陷,由于单个包的长度超过了IP协议规范所规定的包长度。是一种缓存溢出攻击,并不是靠流量碾压,而是一种取巧的方法,上古时期的东西了,大牛lion用这个ping死了白宫。现在就别想了,我小学6年级的时候,看过这个东西,然后开一大堆窗口ping人家......说多了都是泪。。。

格式: ping -l 65500 目标ip -t


icmp dos攻击,和前面的一样,不停的砸icmp协议,ping就是一种icmp,如果搞一些机器不停的ping,把ping开到用完本机带宽的时候,10台20台也能砸死一个家庭。

4、land flood攻击

Land flood攻击是用一个特别打造的syn包,它的源地址和目标地址都被设置成某一个服务器地址。此举将导致服务器向它自己的地址发送syn-ack消息,结果这个地址有发回ack消息并穿件一个空连接,被攻击的服务器没接受一个这样的连接都将保留,直到超时。


这个的话,是挺损的,我没玩过,不过应该挺好玩的,有兴趣的朋友可以试试看,前段时间某些论坛好像有这个工具。



下面说说用的最广的,被用滥了的攻击方式,反射攻击,或者说放大攻击?

其实,我真的不懂UDP协议,这个协议,简直就是逗比啊,造就了多少D阔大手子。。。

UDP是面向无连接的协议,可伪造源ip,就因为这一点,所以才有了NTP和SSDP这样的基于UDP的反射攻击,属于以小博大,以四两拨千斤的攻击手段。


4、NTP反射攻击


NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。

对于我们家用来说这个东西可有可无,但是你有没有想过,在百度搜时间,就会告诉你时间,更重要的是纽交所什么的这些地方,这个东西就相当重要,一但时间错乱了,后果不堪设想。。。不知道有没有人知道千年虫,咱们个人中了,也是有一定影响的,好像ipone还有调回去开不了机的情况。

在互联网上,有一些时间同步服务器,有一级的,也有二级的,不过反正可以提供时间同步服务就对了。

MONLIST 命令可以让NTP 服务器返回使用 NTP 服务的最后600个客户端IP。再加上udp协议可以伪造源ip。。。想到了吗?

没错,1.1.1.1以2.2.2.2的名义给一群NTP服务器发时间同步请求,这十几二十几字节却可以请求到很多倍于自身的数据包,而且最重要的是可以欺骗ntp服务器发给受害者,受害者不要也得要偷笑,伪造是单向的,我伪造成你的地址写信给广告商,但是你家地址就是你家的,不会寄给我广告,而会给我提供的地址送广告过去,我只要说我要广告4个字,广告商就会寄一大把广告纸塞满你家信箱,让你无法正常使用。

SSDP也一样,只不过SSDP利用的是一些智能设备的漏洞来进行的,同样基于UDP。





0 0
原创粉丝点击