网络攻防技术综合实训-课件 第7章拒绝服务攻击实训_第1页
网络攻防技术综合实训-课件 第7章拒绝服务攻击实训_第2页
网络攻防技术综合实训-课件 第7章拒绝服务攻击实训_第3页
网络攻防技术综合实训-课件 第7章拒绝服务攻击实训_第4页
网络攻防技术综合实训-课件 第7章拒绝服务攻击实训_第5页
已阅读5页,还剩148页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章拒绝服务攻击实训

7.1SYNFlood攻击实现实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5网络攻击是指任何非授权进入或试图进入他人计算机网络的行为,是入侵者实现入侵目的所采取的技术手段和方法。这种行为既包括对整个网络的攻击,也包括对网络中的服务器、防火墙、路由器等单个节点的攻击,还包括对节点上运行的某个应用系统或软件的攻击。根据实现方法的不同,可分为主动攻击和被动攻击两种类型。网络攻击网络攻击主动攻击是指攻击者主动对信息系统进行非授权访问,例如通过远程登录服务器的TCP25端口搜索运行信息,或通过伪造无效IP地址耗尽目标主机资源等。这类攻击针对信息安全的可用性、完整性和真实性,主要分为中断、篡改和伪造三种类型。拒绝服务攻击是最常见的中断方式,此外针对身份识别、访问控制等应用的攻击也属于中断类型。拒绝服务攻击DoS(拒绝服务攻击)是利用目标系统的服务功能缺陷或直接消耗其系统资源,使系统无法提供正常服务的攻击行为。DDoS(分布式拒绝服务攻击)是在DoS基础上产生的攻击方式,利用互联网的分布式特征,集中分散的攻击源同时向目标主机发起攻击。单一DoS攻击多为一对一方式,当目标主机CPU利用率升高、内存减少或网络带宽变小时,可能遭受了DoS/DDoS攻击。分布式拒绝服务攻击Smurf攻击此类攻击结合IP欺骗和ICMP回复方法,通过向大量主机网络的广播地址发送欺骗性Ping分组,导致该网络所有主机向被攻击系统发送大量ICMP响应报文,从而淹没目标系统。常见的DoS攻击方式Land攻击攻击者通过构造源地址和目标地址均为被攻击对象地址的SYN报文,触发被攻击对象向自身发送SYN-ACK报文并创建空连接,消耗资源直至超时。常见的DoS攻击方式Teardrop攻击攻击者利用UDP错误分片数据包,发送包含重叠“段位移”的分片IP数据报,导致目标主机在重组分片时系统崩溃或重启。PingofDeath攻击该类攻击通过发送大于65536B的ICMP报文(分片后重组),使目标主机缓冲区溢出,导致系统崩溃或拒绝服务。常见的DoS攻击方式SYNFlood攻击攻击者通过伪造源IP地址向目标主机发送大量TCPSYN报文,目标主机分配资源并等待ACK响应,但伪造地址无法响应,导致半开连接队列填满,无法响应正常连接请求。常见的DoS攻击方式内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过编程实现SYNFlood拒绝服务攻击,深入理解SYNFlood拒绝服务攻击的原理及其实施过程,掌握SYNFlood拒绝服务攻击编程技术,了解DDoS攻击的识别和防御方法。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)掌握SYNFlood攻击原理,编程实现SYNFlood攻击,将攻击源代码中的被攻击IP设置成实验目标服务器的IP地址。(2)所有实验成员向攻击目标发起SYNFlood攻击。(3)用Wireshark监视攻击程序发出的数据包,观察结果。实验内容和环境(4)当攻击发起后和攻击停止后,尝试访问Web服务器,对比观察结果。(5)实验用机的操作系统为Windows或虚拟机。实验室网络中配置一台Web服务器或指定一台主机作为攻击目标。(6)SYNFlood源代码(自己编写或从本书作者处获取)。实验内容和环境(7)本实验采用VMwareWorkstation16,Ubuntu18.04.1。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)使用Python编写SYNFlood攻击代码,使用win+R键输入cmd后回车打开终端,输入pipinstallscapy安装scapy库,如图7-1所示。实验步骤实验步骤图7-1安装scapy界面(2)安装完成后打开VMware并开启Ubuntu虚拟机,在左上角点击编辑虚拟网络编辑器,查看记下NAT模式的网卡名称以及子网地址,如图7-2所示。实验步骤实验步骤图7-2查看子网地址(3)进入Ubuntu系统(Ubuntu18.04版本自带了python3),在桌面任意位置右键点击OpenTerminal或打开终端将终端打开。在终端中输入命令ipaddress查看当前主机的ip地址,如图7-1-3所示,比如我这里是44。实验步骤实验步骤图7-3查看主机IP地址(4)在终端中输入sudosysctl-wnet.ipv4.tcp_syncookies=0关闭SYNCookie机制,在输入完成后终端会提示需要输入密码,直接输入即可,默认不会显示。然后,输入命令sudopython3-mhttp.server8000开启python的一个简易web服务,如图7-4所示。实验步骤实验步骤图7-4开启Python的简易web服务这样,在我们的宿主机(Windows主机)中可以通过ip地址+8000的方式访问到这个web服务,打开宿主机的浏览器,输入地址http://[ip]:8000(我这里是http://192.168.184.144:8000)访问web服务,如图7-5所示。实验步骤实验步骤图7-5访问web服务(5)可以看到能够成功访问,下一步在宿主机中开启wireshark,选择之前记录的网卡名称(我这里是VMnet8)开始抓包,如图7-6所示。实验步骤实验步骤图7-6开启wireshark抓包(6)在宿主机中,编写python程序,将目标ip以及目标端口修改为自己的ip和端口(我这里是44和8000),如图7-7所示。实验步骤实验步骤图7-7编写python程序(7)修改保存后运行,打开浏览器的InPrivate模式(匿名模式),输入地址继续访问位于Ubuntu上的web服务,可以发现服务已经无法访问。此时观察wireshark情况,发现wireshark中捕获到大量第一次握手的SYN包。服务器端由于大量SYN涌入,无法处理返回ACK响应,因此无法建立TCP连接,SYNFlood攻击成功,如图7-8所示。实验步骤实验步骤图7-8观察wiresharkSYNFlood源代码:内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过本次实验,读者能够深入理解SYNFlood拒绝服务攻击的原理及实施过程,同时也掌握了SYNFlood拒绝服务攻击编程技术。请读者重点思考以下内容,加深对拒绝服务攻击的理解。总结与思考1.协议层安全认知通过亲手构造攻击包,深入理解TCP状态机(SYN→SYN-RECV→ESTABLISHED)的资源分配逻辑,比理论学习更深刻。总结与思考2.攻击原理验证TCP协议缺陷利用:通过伪造大量虚假源IP的SYN报文,耗尽目标服务器的半连接队列,验证了TCP三次握手中资源预留机制的脆弱性。观察到攻击期间目标服务器的SYN_RECV状态连接数激增,正常用户连接超时(Connectiontimeout)。总结与思考3.技术本质反思放大攻击的缺失:SYNFlood属于直接攻击(1:1攻击带宽),对比DRDoS(如NTP放大攻击)效率较低。现代DDoS更倾向利用协议放大漏洞(DNS/Memcached)。总结与思考

7.2慢速DDoS攻击实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5分布式拒绝服务(DistributedDenialofService,DDoS)攻击是指攻击者通过联合并控制网络中多台主机,同时向目标发动大规模拒绝服务攻击,制造巨大的攻击流量以消耗目标网络带宽或系统资源,导致其无法提供正常服务。分布式拒绝服务分布式拒绝服务DDoS是在传统DoS基础上发展的大规模网络攻击方式,其核心特征包括攻击来源的分散性、协同性以及攻击流量的汇聚性。分布式拒绝服务与一对一的单一DoS攻击不同,DDoS通过操控分布于互联网中的计算机或网络设备组成僵尸网络,集中发起攻击。攻击者远程控制僵尸网络中的终端同时对目标实施多种DoS攻击,使得攻击流量与正常流量难以区分,最终致使服务器停止服务甚至系统崩溃。具体表现为:要么耗尽目标主机资源(如CPU、内存等),使其无法处理合法请求;要么通过海量数据包造成网络拥塞,阻断合法请求的传输路径。一个完整的DDoS攻击体系由攻击者(Attacker)、主控端(Handler)、代理端(Agent)和攻击目标(Target)四部分组成。图7-9是一个典型的DDoS攻击的网络结构图。分布式拒绝服务分布式拒绝服务图7-9一个典型的DDoS攻击图在DDoS攻击中,整个攻击过程涉及以下四个核心角色及其协作机制:攻击者(Attacker):作为攻击的最终控制方,负责向已入侵并控制的主机(主控端)发送指令,掌控整个攻击流程。DDoS攻击体系DDoS攻击体系主控端(Handler):被攻击者侵入并控制的主机,植入特定控制程序,接收并执行攻击者发来的命令,同时负责操控大量代理端主机。主控端仅传递指令,不直接参与攻击。代理端(Agent):同样为被入侵控制的主机,运行攻击者植入的程序,接收主控端的指令并具体执行,是直接向攻击目标发起攻击流量的主机。攻击目标(Victim):被恶意攻击的对象。DDoS攻击体系在整个攻击过程中,攻击者不与目标直接交互,而是借助主控端和代理端发起攻击。主控端作为中间跳板,既帮助控制代理端,也起到掩盖攻击者真实身份的作用。攻击者对主控端与代理端主机拥有完全或部分控制权,并通过多种手段隐藏自身行踪。一旦指令传送至主控端,攻击者即可离线,由主控端将指令分派至各个代理主机,以此规避追踪。DDoS攻击体系低速DDoS攻击通过干扰网络控制平面的运作,影响数据平面的正常功能,从而达到破坏服务的目的。在网络体系结构中,数据平面负责报文的存储与转发,而控制平面负责路由选择,两者虽功能独立,但密切相关。低速DDoS攻击全球互联网依赖BGP协议进行域间路由交换,以实现网络互联。低速DDoS攻击通过针对BGP路由器发起服务失效攻击,重置BGP会话,破坏路由稳定性,进而威胁互联网基础设施。此类攻击利用了TCP协议固有的确定性重传超时机制缺陷,因此任何基于TCP的应用都可能面临此类威胁。攻击者无需特殊权限即可远程发起,例如低速TCP服务失效攻击。低速DDoS攻击低速TCP服务失效攻击由周期性突发流量构成,其时间间隔需与TCP连接的最小重传超时(minRTO)保持一致,以确保在每次TCP尝试重传时引发突发流量。此流量需具备足够强度以导致信道丢包,且持续时间需超过信道往返时延(RTT),以确保持续拥塞。低速DDoS攻击满足上述条件后,TCP连接的瓶颈节点将发生拥塞,丧失正常转发能力。随着重传次数增加,minRTO值逐渐增大,攻击流量的时间间隔也需相应调整。尽管攻击流量呈间歇性(故称“低速”),但其强度未必较低。通过破坏TCP的重传节奏,最终导致连接断开,实现服务失效。低速DDoS攻击此类攻击表现与普通网络拥塞相似,难以准确检测。应对策略包括将minRTO的变化规律随机化,使攻击者无法预测重传节奏,从而维持连接。然而,即使采用此方法,攻击者仍可以通过延长攻击流量的持续时间覆盖minRTO值,因此不能完全消除风险。低速DDoS攻击为规避直接泛洪攻击易暴露攻击源的问题,攻击者常采用反射式泛洪攻击(DRDoS)。在该方式中,攻击代理并非直接向目标发送攻击报文,而是伪造以目标地址为源IP的请求,发送至第三方主机。这些请求对第三方无害,但其自动响应报文会涌向目标主机,形成服务失效效果。与直接泛洪类似,反射泛洪可发生于链路层、网络层或应用层。DRDoS攻击(1)链路层反射泛洪典型代表为Smurf攻击。攻击者向一个或多个网段的广播地址发送大量伪造源IP(即目标地址)的Ping请求。接收到请求的主机将向伪造的源地址发送ICMP应答报文。由于请求通过广播发送,响应规模取决于网段内主机数量,从而实现攻击流量的放大。DRDoS攻击(2)NTP反射攻击网络时间协议(NTP)用于同步计算机时钟,提供高精度时间校正。其服务端口为123。NTP支持monlist命令,可查询最近与之同步的客户端列表(最多返回600条记录)。攻击者通过伪造目标主机的源IP向NTP服务器发送monlist请求,服务器将大量响应数据发送至目标主机,形成反射放大攻击,显著增强攻击效果。DRDoS攻击内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过对靶机进行模拟慢速DDoS拒绝服务攻击,更加深入分析和理解慢速DDoS拒绝服务攻击的原理和过程。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)掌握jdk的安装及环境变量配置。通过cmd命令行来验证java环境是否安装成功。(2)掌握Tomcat的运行原理及安装过程,通过浏览器localhost的8080端口验证tomcat是否安装运行正常。(3)将已经搭建好的网页放到webapps目录下,然后安装MySQL,通过执行已经编写好的sql语句文件,访问搭建好的网页。实验内容和环境(4)掌握通过WebSiteScan扫描网页漏洞的过程,发现SlowHTTPDenialofServiceAttack漏洞,为之后的慢速DDos攻击做准备。(5)掌握Torshammer攻击的原理及命令,在命令执行过程中可以看到攻击机在不断向目标地址发送POST请求。(6)操作机和靶机:Windows10操作机。实验内容和环境(7)实验工具:Python2.7,AWVS扫描工具,Torshammer。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考51.在Windows10虚拟机中安装配置Java①打开浏览器进入Oracle官网,在官网首页菜单栏,点击Products,在Software中找到Java,单击该选项,选择JavaSE,找到OracleJDK,点击进入JDK(Java开发工具包)下载界面,选择合适的版本下载,并安装。如图7-10所示。实验步骤实验步骤图7-10安装JDK②进行环境变量配置。右键单击此电脑→属性→高级系统设置→环境变量,新建系统变量JAVA_HOME,变量值为jdk的安装路径,同样方法新建系统变量CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar,在Path中新建添加变量值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,如图7-11所示。实验步骤实验步骤图7-11环境变量配置③打开cmd,输入java、java-version,查看结果,确认是否安装成功,如图7-12所示。实验步骤实验步骤图7-12检查是否安装成功2.在Windows10虚拟机中安装Tomcat①进入Tomcat官网,下载并安装Tomcat8。找到Tomcat的安装目录,右键→属性→安全→编辑→选择Users,勾选完全控制,点击确定,如图7-13所示。实验步骤实验步骤图7-13勾选“完全控制”②新建系统变量TOMCAT_HOME,变量值为Tomcat的安装路径,如图7-14所示。实验步骤实验步骤图7-14新建TOMCAT_HOME变量③新建系统变量CLASSPATH,变量值为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\bin,如图7-15所示。实验步骤实验步骤图7-15新建CLASSPATH变量④编辑系统变量Path,按下home健定位到开头,添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,如图7-16所示。实验步骤实验步骤图7-16编辑系统变量Path⑤打开cmd命令行,输入javac,查看结果,如图7-17所示。实验步骤实验步骤图7-17查看安装结果⑥打开tomcat安装文件夹bin目录下,双击启动startup.bat(启动后不要关闭!),如图7-18所示。实验步骤实验步骤图7-18启动startup.bat⑦打开浏览器输入http://localhost:8080,出现以下页面,则Tomcat安装成功,如图7-19所示。实验步骤实验步骤图7-19查看Tomcat是否安装成功3.靶机安装MySQL①在MySQL官网下载合适版本的mysql,在虚拟机中进行安装,如图7-20所示。实验步骤实验步骤图7-20安装MySQL②点击Execute,检测需要的安装,检测完成后,选择同意,点击安装,安装完需要的软件后点击关闭;点击next后再次点击Execute,点击next后设置密码为123456,再次输入密码后,点击Next;最后点击finish结束,如图7-21所示。实验步骤实验步骤图7-21设置密码③选择默认配置,点击next,再次点击Next,服务器文件权限(ServerFilePermissions),选择第一个,再次点击Next后点击Execute,如图7-22所示。实验步骤实验步骤图7-22进行检测④验证是否安装成功。在终端中cd进入安装好的MySQL的bin文件目录,登录数据库:输入命令mysql–uroot–p,提示Enterpassword,输入密码123456,如图7-23所示。实验步骤实验步骤图7-23检查MySQL是否安装成功⑤Navicat安装、激活及连接。在其官网进行下载安装,激活Navicat,打开桌面的Navicat,连接数据库,密码是123456,如图7-24所示。输入密码后进行连接测试,测试成功后,确认连接。实验步骤实验步骤图7-24连接数据库⑥右击连接,选择新建数据库,在出现的窗口中输入数据库信息,数据库[fenxiao],字符集选择utf8,排序规则选择utf8_bin,如图7-25所示。实验步骤实验步骤图7-25新建数据库⑦将已经搭建好的网页放到webapps目录下,新建DDos文件夹,将ROOT文件放入,将C:\Ddos\DDOs中的ROOT文件夹(带漏洞的网站信息)与tomcat安装路径的webapps目录下的ROOT根文件夹替换,如图7-26所示。实验步骤实验步骤图7-26

替换ROOT文件夹⑧通过执行已经编写好的sql语句文件,访问搭建好的网页(自己建一个含漏洞的网站)。右击fenxiao数据库,点击运行sql文件,找到fenxiao.sql,如图7-27所示。实验步骤实验步骤图7-27运行SQL文件⑨在新建数据库中成功导入表(若无法成功导入表格可以更换为Navicatpremium12),如图7-28所示。实验步骤实验步骤图7-28在新建数据库中导入表格⑩重启Tomcat,打开浏览器,访问http://localhost:8080/login.jsp,如图7-29所示。实验步骤实验步骤图7-29重新访问Tomcat页面注:此步骤出现的问题及解决方案,问题:登录http://localhost:8080和http://localhost:8080/login.jsp无法登录成功。原因:使用的edge浏览器自动将http转换为了https。解决方法:使用火狐浏览器,分别访问http://localhost:8080和http://localhost:8080/login.jsp,如图7-30和图7-31所示。实验步骤实验步骤图7-30访问初始界面实验步骤图7-31访问登录页面4.攻击机AWVS扫描漏洞①下载安装AWVS。在网站中下载AEVS,双击.exe文件进行安装,设置登录信息,包括邮箱地址和登录密码,默认端口为3443。安装中需要安装证书,如图7-32所示。实验步骤实验步骤图7-32安装证书②运行激活软件。修改破解文件中的路径,运行文件,破解成功,如图7-33和图7-34所示。实验步骤实验步骤图7-33修改文件路径实验步骤图7-34运行文件后检查是否破解成功③AWVS登录。在浏览器输入网址:3443即可访问成功,如图7-35所示。实验步骤实验步骤图7-35访问AWVS④进行许可证激活。将解压出来的wvsc.exe文件放置于AWVS安装目录,与原文件进行替换,将解压出的license_info.json和wa_data.dat文件与C:\AWVS\shared\license(AWVS安装时的数据存储路径)下的原文件进行替换,如图7-36和图7-37所示。实验步骤实验步骤图7-36进行文件替换实验步骤图7-37再次进行文件替换⑤以管理员身份运行cmd,输入以下命令:Cacls“C:\AWVS\shared\license\license_info.json”/t/peveryone:r,Cacls“C:\AWVS\shared\license\wa_data.dat”/t/peveryone:r,查看文件位置,如图7-38所示。实验步骤实验步骤图7-38查看文件位置⑥重新刷新Acunetix登录界面,进入Acunetix主界面,即可成功登入,如图7-39所示。实验步骤实验步骤图7-39刷新Acunetix登录页面此步骤中遇到的问题以及解决办法:问题:AWVS(Acunetix)激活频繁失效。解决方法一:将激活补丁wa_data.dat与license_info.json,设置为只读,权限改为完全控制,再次更新为没有运行之前的补丁文件。实验步骤解决方法二:在我的电脑--->服务中关闭正在运行的Acunetix后再进行文件的替换。原因:当Acunetix激活不断失效,发现license_info.json发生改变。⑦打开Acunetix,添加目标,开始扫描,扫描结果出现威胁,如图7-40,图7-41和图7-42所示。实验步骤实验步骤图7-40添加目标实验步骤图7-41扫描实验步骤图7-42扫描结果实验步骤图7-43选择扫描结果实验步骤图7-44报告格式⑧导出扫描测试报告。勾选扫描完成的信息,点击GenerateReport和AffectedItems按钮,选择导出报告的格式,点击对应格式,报告生成成功,如图7-43,图7-44和图7-45所示。实验步骤实验步骤图7-45导出报告5.攻击机安装python①官网下载安装,并配置环境变量。计算机→属性→高级系统设置→环境变量,选择系统变量path,在path增加一行C:\python27,如图7-46所示。实验步骤实验步骤图7-46配置环境变量②打开cmd命令行,输入python,测试是否安装成功,如图7-47所示。实验步骤实验步骤图7-47查看python是否安装成功6.攻击机利用Torshammer(DoS测试工具)进行攻击实验步骤(1)安装Torshammer。将从华信教育资源网下载的三个Python脚本文件(socks.py、terminal.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论