当前位置:文档之家› 实验指导(攻击入侵)

实验指导(攻击入侵)

实验指导:网络攻击与防范实验练习Dos/Ddos的攻击与防范练习缓冲区溢出的攻击与防范一、实验目的..1、理解Dos/Ddos攻击的原理及实施过程,掌握检测和防范Dos/DDoS攻击的措施..2、理解缓冲区溢出攻击的原理及实施过程,掌握防范和避免措施。

二、实验环境..实验室所有机器安装了Windows操作系统,并组成了一个局域网,并且包含UDP-Flood、DDoSer、idahack等攻击软件。

..每两个学生为一组:互相进行攻击或防范。

三、实验原理1、..DoS的原理..拒绝服务(DoS)攻击利用系统或协议的缺陷,采用欺骗的策略进行网络攻击,目的是使目标主机因为资源全部被占用而不能处理合法用户提出的请求,即对外表现为拒绝提供服务。

有几种常见的DoS攻击方法:..(1)Synflood:该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务。

..(2)Land-based:攻击者将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过IP欺骗的方式发送给被攻击主机,被攻击主机与自己建立空连接并保留连接,从而很大程度地降低了系统性能。

..(3)洪水(UDP flood) :echo服务会显示接收到的每一个数据包,而chargen服务会在收到每一个数据包时随机反馈一些字符。

UDP flood假冒攻击就是利用这两个简单的TCP/IP 服务的漏洞进行恶意攻击,通过伪造与某一主机的Chargen服务之间的一次的UDP 连接,回复地址指向开着Echo 服务的一台主机,通过将Chargen和Echo 服务互指,来回传送毫无用处且占满带宽的垃圾数据,在两台主机之间生成足够多的无用数据流,这一拒绝服务攻击飞快地导致网络可用带宽耗尽。

..(3)Smurf、UDP-Flood、Teardrop、PingSweep、Pingflood、Ping of Death等2、..DDoS的原理..分布式拒绝服务(DDoS)是基于DoS攻击的一种特殊形式。

攻击者将多台受控制的计算机联合起来向目标计算机发起DoS攻击。

..DDoS攻击分为3层:攻击者、主控端、代理端。

1、攻击者:攻击者所用的计算机是攻击主控台,攻击者操纵整个攻击过程,它向主控端发送攻击命令。

2、主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。

主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。

3、代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。

代理端主机是攻击的执行者,真正向受害者主机发送攻击。

..攻击者发起DDoS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。

第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。

最后各部分主机各司其职,在攻击者的调遣下对攻击对象发起攻击。

3、..缓冲区溢出原理..缓冲区是内存中存放数据的地方。

在程序试图将数据放到计算机内存中的某一位置,但没有足够空间时会发生缓冲区溢出。

..缓冲区溢出指的是一种系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。

四、实验内容和步骤任务一:进行UDP-Flood攻击练习UDP FLOOD 是一种采用UDP-Flood攻击方式的DoS软件,它可以向特定的IP地址和端口发送UDP包。

UDP Flood界面..被攻击者可以通过配置系统监视器查看收到的UDP数据包。

打开“控制面板”-”管理工具”-”性能菜单”,在系统监视器中单击右侧图文框上面的“+”按钮,弹出“添加计数器”对话框,如图。

在其中添加对UDP数据包的监视,在“性能对象”框中选择UDP协议,在“从列表选择计数器”中,选择Datagram Received/Sec即对收到的UDP数据包计数。

..当入侵者发起UDP Flood攻击时,被攻击者就可以通过系统监视器查看系统监测到的UDP数据包信息。

图中凸起曲线显示了UDP Flood攻击从开始到结束的过程。

分组角色:学生A对学生B发起UDP-Flood攻击,学生B通过性能监控查看被攻击数据包信息。

步骤:(1)获得自己的主机IP,告知同组学生。

(2)学生B在系统的“性能”命令中,在系统监视器中添加对UDP数据包的监视。

(3)学生A运行UDP Flood软件,在IP/HOSTNAME中指定学生B的主机IP,指定一个端口号,设定最长攻击时间为60秒,设置UDP包发送速度为最大,设置发送内容为缺省,向目标主机发起攻击。

(4)当学生A发起对B的UDP Flood攻击时,学生B在系统监视器中查看监测到的UDP数据包信息。

(5)学生B打开sniffer pro工具,捕捉由攻击者发到本地的UDP数据包,查看捕捉数据包。

(6)互换角色,重做实验。

任务二:使用DDoSer进行攻击实验..DDoSer是一个DDoS攻击工具,分为生成器(DDoSMaker.exe)与DDoS攻击者程序(DDoSer.exe)两部分。

其中攻击者程序要通过生成器进行生成,它运行的唯一工作就是不断的对事先设定好的目标进行攻击。

..单击生成,会自动生成一个DDoSer.exe的可执行文件,这个文件就是攻击程序,它在哪运行,哪台主机就会自动向设定的目标发起攻击。

可以任意起名,达到隐蔽性。

分组角色:学生A运行生成器生成DDos攻击者程序,并设定攻击目标为A自己,学生B运行攻击者程序对A进行攻击。

步骤:(1)查询自己的IP地址。

(2)学生A打开生成器DDosMaker.exe,设置目标主机的IP地址为A自己的主机IP;端口为80;并发连接线程数为10;最大TCP连接数为1000;注册表启动项键名和攻击者程序文件名为缺省。

(3)学生A将生成的DDos攻击者程序植入学生B主机,并让其运行。

(4)学生B运行netstat查看网络状态,并记录。

(5)学生B尝试采用手工方法删除驻留的DDoSer攻击程序,并记录删除步骤。

(6)互换角色,重做实验。

任务三缓冲区溢出的攻击与防范实验..微软的IIS缺省情况下安装了一个索引服务器(Index server),IIS支持两种脚本映射:管理脚本(.ida文件)、Internet数据查询脚本(.idq文件),这两种脚本都由idq.dll来处理和解释。

而idq.dll在处理某些URL请求时存在一个未经检查的缓冲区,攻击者可以利用这一点,提供一个特殊各式的URL,就可以引发缓冲区溢出,改变程序执行流程,使其执行插入的代码。

当成功利用此漏洞入侵系统后,可以在远程获取系统的权限。

..准备工作:..扫描存在ida漏洞的主机。

..手工方法:在客户端的IE浏览器中输入http://目标主机IP/*.ida或者http://目标主机IP/*.idq,回车后若显示类似于“找不到IDQ文件,C:\inetbpu\wwwroot\1.ida”,则说明远程主机的IIS服务器存在ida或者idaq漏洞。

..漏洞扫描工具,如,流光(设置选中CGI选项)..熟悉idahack.exe工具的使用..Idahack.exe是一个利用远程主机ida漏洞进行溢出的工具,工具在命令行下使用,使用格式如下:Idahack<目标主机IP> <目标主机端口> <目标主机类型> <shell端口>其中shell端口一般选用99端口目标主机类型的编号如下:Chinese win2k : 1;Chinese win2k(sp1):2 Chinese win2k(sp2):3 ;等等..入侵方法:在有idahack.exe程序的目录下,在命令行输入idahack命令,如:idahack210.43.99.241,其他参数缺省。

屏幕会提示目标主机缓冲区溢出,可以telnet至99端口了。

相关命令1.管理计算机上面的账号命令:net user..查看账号命令:net user..建立账号命令:net user name passwd/add(net user sysbak123456 /add :添加用户名为sysback,密码为123456的账号)..删除账号命令:net user name /delete2.管理工作组命令:net localgroup组名用户名/add[delete]..如:net localgroupadministrators sysback/add。

该命令表示把sysback用户添加到管理员组(administrators)。

3.建立和目标的ipc$连接命令:net use \\目标IP\ipc$ “密码”/user:“ADMIN”(管理员账号),如:net use \\192.168.27.128\ipc$“”/user:"administrator"所有学生尝试攻击靶机,靶机IP:210.43.99.242。

步骤:(1)使用idahack.exe对靶机进行缓冲区溢出入侵。

(2)显示成功后,按照提示采用Telnet命令连接到靶机。

(3)进行telnet进行留后门入侵:添加新帐号,账号名和密码分别为自己的用户名和学号,并将该账号添加到Administrators组中。

(4)采用net use命令(利用ipc$漏洞建立远程连接)验证用户添加是否成功。

相关主题