1、1 项目七 网络协议攻击与防范项目七 网络协议攻击与防范2 项目七 网络协议攻击与防范【项目概述】某安全运维公司接到一个任务,要求对客户公司的服务器进行渗透测试。已知客户公司的局域网使用的是TCP/IP协议,有一台Windows服务器,运行有web、ftp服务,一台Linux服务器,运行有Telnet服务。请使用渗透测试技术测试公司的网络是否存在安全漏洞,并给出防范措施。【项目分析】TCP/IP协议是Internet的标准协议,该协议诞生于20世纪60年代,在制定该协议时就没有预测到攻击的发生,因此,该协议本身就存在许多漏洞。针对TCP/IP协议常见的攻击有SYN泛洪攻击、UDP泛洪攻击、TC
2、P会话支持等。另外,http、ftp、telnet、pop3等协议因为是明文传输,很容易被窃听,存在着传输信息被泄露的危险。3 项目七 网络协议攻击与防范项目主要内容:任务一 网络嗅探攻击与防范任务二 SYN泛洪攻击与防范任务三 UDP泛洪攻击与防范任务四 TCP会话劫持攻击与防范4 项目七 网络协议攻击与防范任务二 SYN泛洪攻击与防范5 项目七 网络协议攻击与防范l任务描述 渗透测试团队发现Windows服务器可能存在被DoS攻击的风险。请使用测试工具对目标主机发起DoS攻击和DDoS攻击,测试目标网络是否具有防范SYN泛洪攻击的能力,如果没有,请给出防范措施。任务分析 1.拒绝服务攻击
3、从广义上讲,拒绝服务(Denial of Service,DoS)攻击是指任何导致网络设备(服务器、防火墙、交换机、路由器等)不能正常提供服务的攻击。现在一般指的是针对服务器的DoS攻击。这种攻击可能是网络被拔下或者网络的交通堵塞等,最终的结果是正常用户不能使用所需要的服务。6 项目七 网络协议攻击与防范l从网络攻击的各种方法和所产生的破坏情况来看,DoS是一种很简单但又很有效地进攻方式。尤其是对ISP、电信部门,还有DNS服务器、Web服务器、防火墙等来说,DoS攻击的影响都是非常大的。lDoS攻击的目的是让服务器不能提供正常的服务,破坏组织的正常运行,最终会使部分Internet连接和网络
4、系统失效。有些人认为DoS攻击是没有用的,因为DoS攻击不会直接导致系统渗透,但是,黑客使用DoS攻击有以下目的:l(1)使服务器崩溃并让其他人也无法访问。l(2)黑客为了冒充某个服务器,就对其进行DoS攻击,使之瘫痪。l(3)黑客为了启动安装的木马,要求系统重新启动,DoS攻击可以用于强制服务器重新启动。7 项目七 网络协议攻击与防范l拒绝服务攻击有很多种,根据其攻击的手法和目的不同,有两种不同的存在形式。l一种是以消耗目标主机的可用资源为目的,使目标服务器忙于应付大量非法的、无用的连接请求,占用了服务器所有的资源,造成服务器对正常的请求无法再做出及时响应,从而形成事实上的服务中断。这是最常
5、见的拒绝服务攻击形式之一。这种攻击主要利用的是网络协议或者是系统的一些特点和漏洞进行攻击,主要的攻击方法有死亡之Pine、SYN泛洪、UDP泛洪、ICMP泛洪、Land、Teardrop等。针对这些起漏洞的攻击,目前在网络中都有大量的工具可以利用。l另一种拒绝服务攻击以消耗服务器链路的有效带宽为目的,攻击者通过发送大量的有用或无用的数据包,将整条链路的带宽全部占用,从而使合法用户请求无法通过链路到达服务器。例如,蠕虫对网络的影响。具体的攻击方式很多,如发送垃圾邮件,向匿名FTP塞垃圾文件,把服务器的硬盘塞满;合理利用策略锁定账户,一般服务器都有关于账户锁定的安全策略,某个账户连续3次登录失败,
6、那么这个账号将被锁定。破坏者伪装一个账号去错误地登录,使这个账号被锁定,正常的合法用户则不能使用这个账号登录系统了。8 项目七 网络协议攻击与防范l2.SYN 泛洪攻击lSYN泛洪攻击利用的是TCP协议的缺陷。通常一次TCP连接的建立包括3个步骤:客户端发送SYN包给服务端;服务端分配一定的资源并返回SYN/ACK包,并等待连接建立的最后的ACK包;最后客户端发送ACK报文,如图7-18所示。图7-18 TCP三次握手9 项目七 网络协议攻击与防范lSYN泛洪攻击的过程就是客户端疯狂地发送SYN报文,而不返回ACK报文。当服务器未收到客户的确认包时,规范标准规定必须重新发送SYN+ACK请求包
7、,一直到超时,才将此条目从未连接队列删除。SYN泛洪攻击耗费CPU和内存资源,从而导致系统资源占用过多,没有能力响应操作,或者不能响应正常的用户请求。l由于TCP/IP相信报文的源地址,攻击者可以伪造源IP地址。为追查攻击者造成很大困难。如果想要查找攻击的来源,必须通过所有骨干网络运营商的路由器,逐级地向上查找。lSYN泛洪攻击除了影响服务器外,还危害路由器、防火墙等网络系统,事实上SYN泛洪攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。l能发起SYN泛洪攻击的工具有很多,我们使用HUC SYN工具。l该软件是一款命令格式的软件,命令格式如下:lsyn 源IP 源端口 目的I
8、P 目的端口10 项目七 网络协议攻击与防范l3.DDoS攻击l分布式拒绝服务攻击(Distributed Denial of Service,DDoS)攻击是一种基于DoS的特殊形式的攻击,是一种分布、协作的大规模攻击方式,主要攻击比较大的站点,如商业公司、搜索引擎和政府部门的站点。l目前,由于服务器的运算能力不断增强,单台计算机采用SYN泛洪攻击对拥有高带宽连接、高性能设备的网站服务器影响不大。于是DDoS攻击者借助数百台、甚至数千台被植入攻击守护进程的主机(这些主机通过被称为肉鸡或僵尸)同时发起攻击,如图7-19所示。这种攻击对网络服务提供商的破坏力是巨大的。11 项目七 网络协议攻击与
9、防范图7-19 DDoS攻击12 项目七 网络协议攻击与防范l任务实施l1使用HUC SYN工具对目标系统进行DoS攻击测试。l此次任务实施的拓扑示意图如图7-20所示。图7-20 使用HUC SYN工具对目标系统进行DoS攻击测试拓扑示意图13 项目七 网络协议攻击与防范l步骤1 将HUC SYN工具复制到磁盘的根目录下,在命令行中进入HUC SYN目录,并发起SYN攻击,如图7-21所示。图 7-21 使用SYN工具进行SYN泛洪攻击14 项目七 网络协议攻击与防范l步骤2 在被攻击端使用wireshark抓包工具,可以看到大量的SYN数据包,如图7-22所示。图 7-22 被SYN泛洪攻
10、击的计算机上抓包15 项目七 网络协议攻击与防范l知识链接:还有哪些DoS攻击形式?l下面再介绍几种常见的DoS攻击形式:l(1)死亡之Ping。是最古老、最简单的拒绝服务攻击,攻击者发送畸形的、超大尺寸的ICMP数据包,如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。l此外,向目标主机长时间、连续、大量发送ICMP数据包,最终也会使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使目标主机耗费大量的CPU资源。l正确地配置操作系统与防火墙、阻断ICMP及任何未知协议,都可以防止此类攻击。l(2)Land攻击。是打造一个特别的
11、SYN包,包的源IP和目的IP地址都被设置成被攻击的服务器地址。这将导致服务器向自己的地址发送SYN+ACK消息,结果这个地址又发回ACK消息,并创建一个空连接,每一个这样的连接都将保留直到超时。16 项目七 网络协议攻击与防范l不同的系统对Land攻击的反应不同,许多UNIX系统会崩溃,而Windows NT会变得极其缓慢(大约持续5分钟)。有人专门用Land对某路由器进行了测试,发现当对23号端口进行攻击时,路由器则不能连接到本地网或外网。路由器前面面板上的灯也停止了闪烁,用Ping没有响应,Telnet命令也无效。此时,唯一的选择便是硬重启。l(3)Teardrop攻击。IP数据包在网络
12、传递时,数据包可以分成更小的片段,攻击者可以通过发送两段(或者更多)数据包来实现。第一个包的偏移量为0,长度为N,每二个数据包的偏移量小于N。为了合并这引起数据段,TCP/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动。l防范Land攻击和Teardrop攻击的方法是及时给系统打补丁。17 项目七 网络协议攻击与防范l(4)CC攻击。前面几种DoS攻击是针对TCP/IP协议,而CC攻击则与它们不同。Collapsar(黑洞)是绿盟科技的一款抗DDoS产品品牌,在对抗拒绝服务攻击的领域内具有比较高的影响力和口碑。因此,此攻击更名为Challenge Collapsar
13、,表示要向黑洞发起挑战。lCC攻击跟普通的DoS攻击本质上是一样的,都是以消耗服务器资源为目的。目前看来,经主要针对Web应用程序比较消耗资源的地方进行疯狂请示,如论坛中的搜索功能,如果不加以限制,任由人搜索,普通配置的服务器在几百个并发请求下,MySQL服务性能就下降很多。CC就是充分利用了这个特点,模拟多个用户不停地访问那些需要大量数据的操作,从而耗费了CPU大量的时间。18 项目七 网络协议攻击与防范l2使用DDoS测试工具对目标系统进行DDoS攻击测试。l此次任务实施的拓扑示意图如图7-23所示。图7-23 使用DDoS测试工具对目标系统进行DDoS攻击测试拓扑示意图19 项目七 网络
14、协议攻击与防范l步骤1 在攻击者计算机上启动控制端软件,如图7-24所示。单击“开始”按钮,控制端软件默认在12345端口接收被控制端的连接。图7-24 DDoS测试工具控制端20 项目七 网络协议攻击与防范l步骤2 在被控制端启动DDoS测试工具的服务端,如图7-25所示。在“地址”文本框中输入控制端的IP,端口和控制端的端口应保持一致,单击“连接”按钮。如果需要服务端开机运行并自动连接控制端,则选中“开机运行”和“开机连接”复选框,并单击“保存”按钮。图7-25 DDoS测试工具服务端21 项目七 网络协议攻击与防范l小贴士:控制端程序可以运行在Windows XP以上的系统中,而服务端程
15、序只能运行在Windows 2003以上的系统中。22 项目七 网络协议攻击与防范l步骤3 当服务端点击“连接”后,控制端会看到已经连上的服务端的IP地址和状态。要想控制这些服务端发起DDoS攻击,就勾选上这些服务端。在控制端下方式的“测试方案设置”框中,“名称”为本次DDoS攻击测试的名字,“地址”为被攻击者的IP地址,“端口”为被攻击的端口号,“方式”为选择相应的攻击方式,最后点击“应用”按钮,即可控制服务端向被攻击者发起DDoS攻击,如图7-26所示。在被攻击的计算机上使用抓包软件进行抓包,可以看到大量的SYN请求包,如图7-27所示。23 项目七 网络协议攻击与防范图7-26 进行SY
16、N泛洪DDoS攻击24 项目七 网络协议攻击与防范图7-27 在被DDoS攻击的计算机上抓包25 项目七 网络协议攻击与防范l3对SYN泛洪攻击的防范。l由于SYN泛洪攻击通常和IP欺骗结合使用,所以追踪攻击是一件很困难的事,因此不让攻击者发起攻击不太可能。但是可以采取措施,当SYN攻击发生时不至于使得服务器无法接收正常用户的TCP连接。SYN泛洪攻击防范如下:l(1)给系统及时打补丁。实际上现在大多数操作系统已经实现了抵御SYN泛洪攻击的功能,如Windows XP系统装上SP3,Windows 7装上SP1以及Windows Server 2003和2008装上SP2,都能抵御SYN泛洪攻击。l(2)在网络入口安装防火墙。现在大多数的防火墙都有抵御DoS攻击的功能。因此,只要在网络入口处安装具有防DoS(包括DDoS)攻击的防火墙,就可以很好地保护网络中的服务器不受DoS攻击。26 项目七 网络协议攻击与防范THANKS