本文总共4513个字,阅读需16分钟,全文加载时间:2.632s,本站综合其他专栏收录该内容! 字体大小:

文章导读:一、实验目的 通过本实验对DoS/DDoS攻击的深入介绍和实验操作,了解DoS/DDoS攻击的原理和危害,并且具体掌握利用TCP、UDP、ICMP等协议的DoS/DDoS攻击原理。了解针对DoS/DDoS攻击的防范措施和手段。 实验具体目的如……各位看官请向下阅读:

一、实验目的

通过本实验对DoS/DDoS攻击的深入介绍和实验操作,了解DoS/DDoS攻击的原理和危害,并且具体掌握利用TCP、UDP、ICMP等协议的DoS/DDoS攻击原理。了解针对DoS/DDoS攻击的防范措施和手段。

实验具体目的如下:

1.了解SYN-FLOOD攻击的原理、特点

2.了解UDP-FLOOD攻击的原理、特点

3.了解DDoS攻击的原理、特点

4.了解针对DoS/DDoS攻击的防御手段

二、实验准备

1.要求实验室内网络是连通的,组内每台计算机均可以访问另外一台计算机。

2.下载相关工具和软件包

3.在计算机中安装相应的软件。

三、实验涉及到的相关软件下载:

:这是一款网络封包分析软件,撷取网络封包,并尽可能显示出最为详细的网络封包资料。

:这是一款简单的SYN攻击器,能对设定好的目标发送大量非法的SYN数据包。

:这是一款功能较为完善的UDP攻击器,可以设置攻击时间、攻击速度等,攻击方式是向目标机发送大量UDP数据包。

:这是一款功能齐全的DDoS攻击器,除了能够联合肉鸡发动攻击,还具有控制攻击时间,启动信使服务等众多功能,并且有四种攻击方式可供选择。

:这是一款功能较为常用的服务器

:这是java运行环境,运行tomcat服务器必须安装jdk。

四、实验原理

1、DoS攻击:

DoS是Denial of Service的简称,即拒绝服务,目的是使计算机或网络无法提供正常的服务。其攻击方式众多,常见的有SYN-FLOOD,UDP-FLOOD。

2、A.SYN-FLOOD攻击:

标准的TCP连接要经过三次握手的过程,首先客户端向服务器发送一个SYN消息,服务器收到SYN后,会向客户端返回一个SYN-ACK消息表示确认,当客户端受到SYN-ACK后,再向服务器发送一个ACK消息,这样就建立了一次TCP连接。

SYN-FLOOD则是利用TCP协议实现上的一个缺陷,SYN-FLOOD攻击器向服务器发送洪水一样大量的请求,当服务器受到SYN消息后,回送一个SYN-ACK消息,但是由于客户端SYN-FLOOD攻击器采用源地址欺骗等手段,即发送请求的源地址都是伪造的,所以服务器就无法受到客户端的ACK回应,这样一来,服务端会在一段时间内处于等待客户端ACK消息的状态,而对于每台服务器而言,可用的TCP连接队列空间是有限的,当SYN-FLOOD攻击器不断的发送大量的SYN请求包时,服务端的TCP连接队列就会被占满,从而使系统可用资源急剧减少,网络可用带宽迅速缩小,导致服务器无法为其他合法用户提供正常的服务。

3、B.UDP-FLOOD攻击:

UDP-FLOOD攻击也是DDoS攻击的一种常见方式。UDP协议是一种无连接的服务,它不需要用某个程序建立连接来传输数据UDP-FLOOD攻击是通过开放的UDP端口针对相关的服务进行攻击。UDP-FLOOD攻击器会向被攻击主机发送大量伪造源地址的小UDP包,冲击DNS服务器或者Radius认证服务器、流媒体视频服务器,甚至导致整个网段瘫痪。

4、DDoS攻击:

DDoS是Distributed Denial of Service的简称,即分布式拒绝服务。DDoS攻击是在DoS攻击的基础上产生的,它不再像DoS那样采用一对一的攻击方式,而是利用控制的大量肉鸡共同发起攻击,肉鸡数量越多,攻击力越大。

一个严格和完善的DDoS攻击一般由四个部分组成:攻击端,控制端,代理端,受害者。

五、实验步骤

实验内容一:SYN-FLOOD攻击演示和分析

1.本次实验需要两台网络连通,可以互相访问的计算机,分别记作A、B。首先在A,B上分别关闭防火墙和杀毒软件,并在A上启动Tomcat服务器(把A作为服务器)。

图一.Tomcat服务器启动

2. 在B上打开Supper DDoS,输入A的ip和一个开放服务的端口,我这里因为Tomcat开放的端口是80,所以端口就填80,而Protocol(协议)默认是TCP,点击Attack。

3.打开安装在A上的wireshark,在Options-->Capture Filter框中填入tcp,表明所要抓的包是tcp包,点击Start,开始抓包,并保存抓到的结果。

从这张在被攻击服务器上的抓包图中我们可以看到大量的TCP数据包,这些数据包的源IP是由Super DDoS用IP欺诈等手段伪造的,这些IP实际是不存在的。我们还可以看出大量的SYN包没有ACK回应。

4. 打开A的命令行窗口输入netstat -an或者netstat -n -p tcp命令,可以看到有大量的ip和本机建立了SYN-RECEIVED状态的TCP二次握手连接,这些ip地址都是随机的,是Supper DDos伪造的。

大量IP与服务器停留在半连接状态,一旦这种连接数量超过服务器的半连接队列数,服务器的资源就会被耗竭,从而无法再处理其他合法用户的请求了。

实验内容二:防御和抵制SYN-FLOOD攻击的措施

1.根据SYNdrome-FLOOD攻击的原理可知SYN-FlOOD攻击效果取决于服务器上设置的SYN半连接数(半连接数=SYN攻击频度 * SYN Timeout),所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间,会使得SYN半连接数减少(但是也不能把SYN Timeout设置得过低,这是为什么大家可以思考一下),从而降低服务器的负荷。

2.给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被丢弃。

3.利用网关型防火墙,让客户机与服务器之间并没有真正的TCP连接,所有数据交换都是通过防火墙代理,外部的DNS解析也同样指向防火墙,使攻击转向防火墙,只要防火墙的性能足够高,就能抵挡相当强度的SYN-FLOOD攻击。

1.本次实验需要两台网络连通并可以互相访问的电脑,记作A,B,这里用的工具是UDP FLOOD攻击器。与SYN-FLOOD攻击一样,我们首先要关闭A,B两台电脑的防火墙和杀毒软件,并且在A上打开Tomcat服务器。

2.然后我们在B上打开UDP FLOOD攻击器,在这个攻击器上填上A的IP和一个开放的端口(可以通过在命令行下输入netstat -an查看开放的端口)。

这个攻击器可以设定攻击的时间(Max duration (secs))和发送的最大UDP包数(Max packets )以及发送UDP包的速度(Speed),还可以选择发送包的数据大小和类型(Data)

3.点击Go开始攻击,我们在A,B两台机上分别抓包来观察分析。

这是在服务器A上捕捉到的两幅图,我们可以发现udp包在8080端口一侧大量出现,并且每个udp包的大小基本相同,这里看到的两个都为83bytes

这是在B上对ICMP的抓包结果,当受害系统接收到一个UDP 数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的 ICMP 数据包发送给该伪造的源地址。这里可以明显的看出A向B回送了很多ICMP包,但是端口却是unreachable

实验内容三:防御和抵制UDP-FLOOD攻击的措施

我们都知道UDP协议是一种无连接的服务,所以对UDP-FLOOD攻击的防御和抵制比较困难。一般我们通过分析受到攻击时捕获的非法数据包特征,定义特征库,过滤那些接收到的具有相关特征的数据包。例如针对UDP-FLOOD攻击,我们可以根据UDP最大包长设置UDP最大包大小以过滤异常流量。在极端的情况下,我们可以尝试丢弃所有UDP数据包。

1.本次实验需要三台网络连通,可以互相访问的计算机,假设分别记作A(作为服务器和被攻击主机)、B(作为被控制主机)、C(作为攻击主机)。首先在A、B、C上分别关闭防火墙和杀毒软件,并在A上启动Tomcat服务器。

2.接着要将B变成C控制的肉鸡,并把独裁者DDoS的Server.exe(服务端),MSWINSCK.OCX,RICHTX32.OCX这三个文件植入B中,并运行Server.exe。这里要用到radmin,pstools等工具以及一些net的控制命令(当然也可以用其他的方法),这块内容在实验一中有详细的讲解,在此不再赘述。

我们可以在C上来验证独裁者DDoS的服务端是否在B上成功运行,在C中打开IE浏览器,在地址栏中输入Http://B的IP地址:8535/,若回车看到如下图所示,则说明就说明独裁者DDoS的服务端在肉鸡B上成功运行了。

3.接着我们来通过C控制B对A发动DDoS攻击,我们在打开C中打开DDoS客户端Client.exe(界面如下)。首先我们先要添加主机,这里的主机是指你控制被植入独裁者服务端的肉鸡,这里即B,添加时输入B的IP就行了。

4.添加完后最好按检查状态来检测添加的主机是否有效,如图192.168.1.103这段IP是无效的,设置好攻击目标的IP和开放的端口,伪造的源IP和端口可以自己设置也可以由攻击器随机设置,有四种攻击方式供我们选择,这里我选择我们熟悉的SYN攻击,检查文件按钮可以检测服务端文件的情况,信使服务可以向被攻击机发送文字信息。

5. 点击开始攻击,C就控制B开始向A发动SYN攻击.可想而知这种攻击的效果和SYN—FLOOD的攻击效果是一致的,在这个实验里并没有很好的体现DDoS的攻击效果,因为只控制了一台肉鸡,所以这样的攻击相当于一对一的DoS攻击,攻击效果较差。并且这是一种简易的DDoS攻击,因为这里只有攻击端、被控制端、受害者,而一个完整的DDoS攻击应该是攻击端、控制端、代理端和受害者组成的。所以现在的攻击就存在一个弊端,就是攻击者的隐蔽性不高,容易被受害者查到攻击源。而完整的DDoS攻击是由控制端对代理端发出攻击命令的,这样一来就很好地隐蔽了攻击端,也就是使得真正的攻击者身份很难被发现。

实验内容四:防御和抵制DDoS攻击的措施

DDoS攻击的类型和DoS攻击相近,只是攻击的方式有很大的改进,因此防御和抵制DDoS攻击的措施也和DoS攻击相似。这里介绍一种新的方法:一般发动DoS攻击或者DDoS攻击,都是针对一个确定的IP,而且在攻击过程中,不会改变攻击的对象。利用DoS和DDoS攻击的这一缺陷,我们如果在发现服务器受到攻击时,迅速更换自己的IP地址,那么攻击者就在对一个空的IP地址进行攻击,服务器不会受到任何影响。作为防御方只要将DNS解析更改到新的IP地址就能在很短时间内恢复用户通过域名进行正常访问。

六、思考题

思考题一:

DoS攻击和DDoS攻击一般是针对服务器发动攻击,而对PC机攻击没有多大意义,你知道这是为什么吗?

思考题二:

Timeout越小越有利于抵御SYN-FLOOD攻击,但这个值却不能太小,你知道这是什么原因吗?

思考题三:

你知道为什么在收到UDP攻击后,受害主机会回送一个ICMP包?

思考题四:

在用独裁者DDoS攻击器进行攻击时,在我们把三个文件植入肉鸡后,我们已经可以通过浏览器控制肉鸡发动攻击了,为什么还要用攻击机上的独裁者客户端来发动攻击?

以上内容由优质教程资源合作伙伴 “鲸鱼办公” 整理编辑,如果对您有帮助欢迎转发分享!

你可能对这些文章感兴趣:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注