知识屋:更实用的电脑技术知识网站
所在位置:首页 > 网络安全 > 技术文献

推荐:一种新的带宽攻击方式

发布时间:2011-06-26 06:40:59作者:知识屋

本思路是对
http://www.xfocus.net/articles/200505/796.html
文章攻击思路的整理与提高,无意开发新的攻击器。如利用此原理的攻击软件问世,与我本人skipjack无关。
引文章第一段(呵呵...有这一段足够了)

在TCP三次握手后插入伪造的TCP包 

一、 说明 用Socket的API Connect完成TCP建立连接的三次握手,同时子进程抓包,抓完三次握手的包后,插入第四个包即可,从对端返回的第五 个包来看插入成功了,但因为插入了一个TCP包,之后的连接将发生混乱。可以将插入的那个包Data设置为HTTP Request,向WEB服务器提交 请求。又如果目标系统的TCP序列号是可预计算的,那么是否可以做带伪源地址的Blind TCP three-time handshakes和插入, 值得试验!

作者所做的实验其实什么也说明不了,只是验证了一下TCP协议序号和检验和计算函数而已。我想作者八成是受了CC攻击原理的启 发,想不通过代理的方式以达到CC攻击效果。但在序号预测这个步骤上,说实话没有可行性。正常TCP协议采用的同步序号是随机值,在43亿的可选空间中, 以百兆带宽的速度进行预测也将是杯水车薪。但是……

为了防御ddos,不少厂商的安全设备中都实现了无状态的syn cookie算法, 这种算法在大量syn冲击下利用cookie序号在ack包回传的方式判断连接请求的合法性。所以他们的TCP协议握手部分不是一个健康的实现,本思路经 修改后用于攻击此类设备将会取得不错的效果。下面简单介绍攻击者如果以64字节ACK包换取服务器1518大数据包重传,如果源IP伪造成功,攻击者从理 论上将获得20余倍的带宽放大攻击效果 。如果有两个目标网站,本方法将一箭双雕。

攻击原理:利用TCP协议收到ACK后的快速重传机制

序号乱刀之一:攻击正常TCP/IP协议栈示意图

      当 我们获得http response回应后,立即回复一个ack数据包,此ack数据包的seq值是http response数据包中的ack seq 值,而ack seq值为http response数据包的seq序号值。这样当server收到此ack数据包后,会认为是自己刚才发送的 http response包在网络中已丢失,会利用快速重传机制加以重传。如果我们拼命发送大量的ack包,则服务器就会不断进行重传。Ack数据包的 大小只需64字节,但http response通常都在512字节左右,最长可达1518字节。

      因为正常tcp协议序号的不可预测性,所以我们在这次攻击中暴露了自己的真实IP。

 

按此在新窗口打开图片



序号乱刀之二:攻击采用静态syn cookie的ddos设备防护下的服务器

 

      所 谓静态syn cookie就是以客户端请求之syn包为参数计算回复syn ack中的seq值,并在ack包回传时判断连接合法性的方法,这种方法被 ddos厂商大量采用,并且获得数量可观的国家发明专利,呵呵….。你经常会听到ddos厂商的人说他们的设备比防火墙“牛”多了,可轻松达到百兆线速 syn防御,但百兆防火墙30M攻击流量就可以干掉,说这种话的ddos厂商,我可以打赌他们的设备80%采用了这种syn cookie算法。

Syn cookie算法的好处是只在synflood攻击时消耗CPU资源,这对于X86下强悍的通用CPU来说,正适用。

读者可能会感到很奇怪,为什么如此成熟的技术防火墙不采用,而让ddos厂商成天挤对?这有如下几个方面的原因:

1: 防火墙也用syn cookie进行synflood防御的,但大多不是静态syn cookie,而是严格记录连接状态采用动态syn cookie, 所以当syn flood攻击时不光消耗CPU,还要消耗大量内存。这也就是我本文开头提及的本方法可以攻击大部分ddos厂商和小部分防火墙厂商的原 因。

2:syn cookie/syn proxy是bsd系统内核源码的一部分,在Linux最新版的2.6内核中syn proxy还没有被包含。所以ddos设备也大多由bsd系统组成。当然bsd是开源的,移植也不是什么大问喽。

3: 防火墙大多以Linux下的开源软件netfilter为基础,但netfilter中hash算法和连接表设计不是很优秀,防火墙转发性能的瓶颈就在于 此,如果再加入syn proxy表项,会进一步降低对数据包的处理能力或加大连接表体积。高端防火墙大都支持数百万的连接数,这百万的表项就够防火墙喝 一壶的了,再加一个syn proxy表项,性能还不得掉的稀里哗拉的?

4:防火墙很重要的一个网络功能就是DNAT,在没有DNAT操 作前,防火墙不知道这些syn包的最终目的地是自身还是DMZ区的服务器,所以syn包必须DNAT后才知道是否要进行syn cookie保护。但这时 就已经进入到netfilter处理框架了,性能当然就跟不上了。你见过几个ddos设备支持NAT的?如果支持了,他的性能也会下降不少。如果防火墙工 作在桥模式下,不经过netfilter处理框架,防火墙就可以摇身一变成为性能卓越的抗ddos设备了,吗功能都没有,当然一身轻松了。呵呵…但您买的 是防火墙,会这么大材小用吗?

言归正传,采用静态syn cookie的ddos设备,我们只需要重放一个ack包就可以达到与服务器的 三次握手效果,因此可以做到源IP地址伪装。(这个伪装的源IP地址是你以前用过的,并且与ddos设备通讯过,并保存下来的,现在将它重放而己。如果你 看不懂我在说什么,参照我写的《对国内ddos厂商技术点评》一文,抓包分析一下就知道了)。第二步就是发送一个正常的http request请求,随 后就是大量的虚假ack请求重传。

天知道,谁在用我们伪装的源IP地址,做为一个连带的牺牲品。

你可能会认为受害服务器B会回复rst包给受害服务器A。这是有可能,但如果服务器B前面加装了一个“状态检测”防火墙,就会直接丢弃这个反射的http response数据包。




按此在新窗口打开图片

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜