最新消息:

绿盟科技分析报告:DDoS兵器谱2014Q1版

工作 admin 1222浏览 0评论

网络攻防是发生在第五空间的对抗和战争。这是一个动态的过程,无论攻击者还是防御者都在实战中寻求进步。攻防双方的“兵器”就在这个战场中不断磨砺和进化。绿盟科技关注攻防的最新进展,为了帮助客户更好的对抗网络威胁,每个季度会推出最新的“DDoS兵器谱” ,介绍DDoS工具的最新发展和变化。

1. 简介

本 期“DDoS兵器谱”将要介绍的这三款工具的最新进展,他们是XOIC、Zarp和Slowhttptest。其中XOIC可以说是工具LOIC的加强 版,使用C#编写,运行于win7及以上系统(.NET FRAMEWORK 3.5及以上);Zarp是一款综合性攻击测试框架,DDoS仅是其一部分功能,其它的还包括漏洞扫描等,并且新增加的模块不涉及DDoS攻击;而 Slowhttptest新版最大的改进是界面以及日志的输出,比之前更为简洁。

2. XOIC

234310qkkmkdkxqk3kgjkn

相对于LOIC的多平台(GNU/Linux, Windows, Mac OS以及Android),XOIC可运行的环境则少的多,仅支持win7以上的Windows平台。

234311opsazpap49sw6p9w

攻击方式上多了ICMP FLOOD。下面是作者列出的工具特色:

234312nanm8433og4he8qj

和LOIC相比,工具主打的还是流量型攻击,不过相比前者增加了Testmode模式,可以测试攻击主机的性能。 另外,在实际的测试中发现了工具的一个小BUG。

234313qqmhvfv3dcp7pdzy

反编译后的关键代码如下:

234315u6cfnfc32xvf41g3

3. Zarp

Zarp 是采用Python编写的、类似MSF的一款网络攻击测试框架。工具采用模块化设计,集漏洞扫描、嗅探、DDoS压力测试于一身。Zarp主要接口是一个 CLI驱动的图形界面,采用多层菜单,使用起来相当方便。目前运行平台只限于linux,同时在安装之前要确保系统存在python2.7.x、git以 及scapy。

程序执行界面。

234316a8lx48a3n448824f

下面是此工具新旧版本的对比(主要是模块数的变化):

234316coyr6qfnbo88hn8k

234317dqqki8li1qllxqbu 4. Slowhttptest

Slowhttptest主要用于慢速攻击测试,它包含了多种流行的攻击方式,如slowloris、slow http post以及slow read attack等。主要工作于linux平台。新版本除修复部分bug外,最大的改变就是界面的改进。官方描述如下:

234318jt1e20r1z20r2h22

234318f0999gv99i41cyi9


下面对其主要的攻击方式做简要概述,并给出可能的防御建议。

4.1. Slowloris

slowloris在这里又被称为slow headers,攻击截图如下:

234319e7diooofq3kykbt0

攻击的数据包如下:

234321h8k5x8am4kq84x89

其 基本原理是制造不完整的header。完整的http请求头结尾应该是“0d0a0d0a”,而但攻击工具只发送“0d0a”。然后以固定的时间间隔,反 复发送随机的key-value键值对,迫使服务器持续等待(至超时)。最终通过不间断的并发连接耗尽系统的最大连接数直至服务端DOS。 切换至HEX显示如下:

234322z7mq89vsw8w2akko

4.2. Slow http post

Slow http post也称为Slow body。顾名思义,攻击的着眼点放在了发送内容的过程中。

234324uoqamwgkghrr5dp0

攻击数据包:

234325hemw0m9aiqmmiv9e

切换至HEX显示如下:

234326q9c9aylaql8u4all

可 以看到在这种攻击中,http header数据已被完整发送(注意0d0a0d0a),只是将http header中content-length字段设置为一个很大的值(这里是8192),同时不在一个包中发送完整post数据而是每间隔10秒(此值攻 击者可以调整)发送随机的key-value键值对。可以看出,任何可以接收http post请求的网站,都有可能遭受此类攻击。

4.3. Slow read

Slow read攻击简单说就是,通过调整TCP协议头中的window size来控制双方的数据流速率,尽可能长的保持单次连接的交互时间,直至超时。

234327qbyufou1vlcpv06i

要 使这种攻击效果更加明显,请求的资源要尽量大,比如我这里的测试图片test.png,其大小为4M多。如果目标网站没有这么大的资源,但若其支持 http_pipelining的话,可以采用在同一连接中多次请求同一资源的方法来增大返回内容。从捕获的数据包中可以看出,当请求 test.png资源时,客户端window size被刻意设置为1120字节。客户端缓冲区在被来自服务的数据填满后,发出了[TCP ZeroWindow]告警,迫使服务端等待。从交互开始到断开,单个连接耗费了14秒。

捕获的数据:

234335h6toeap966retkke

检测防御

特征匹配: 这里看一下工具的部分源代码,我们可以把user agent搭配referer作为特征。

234339wv7od7huwzq8donh

使用ModSecurity: 基于特征匹配其局限性比较大,容易被绕过,尤其是针对开源的工具。我们的另一种选择是使用专业的检测模块ModSecurity。最新版本为2.8,支持多个平台,它采用的是基于规则的匹配。它有基础的免费防护规则,不过商业规则需要付费。

234339v6a3g1xeppxa1pc1


在功能栏中针对slow http攻击的描述:

234341onttfegolye02gg6

通用方案: 设置单个IP单位时间内的并发连接数,并对每个连接请求创建一个定时器并设置合适的超时时间,触发任一规则,则断开连接,当然也可配合黑白名单机制。

5. 常用DDoS工具一览[td]

工具 时间 类型 运行平台
Hping 2004 ICMP/UDP/SYN Linux、Windows、Mac OS
Slowloris 2007 HTTP GET Perl运行环境
LOIC 2009年6月 UDP/TCP/HTTP GET Linux、Windows、Mac OS
PenTBox 2009年7月 SYN/TCP Linux、Windows、Mac OS
R.U.D.Y 2011年1月 HTTP POST python运行环境
HOIC 2011年3月 HTTP GET Linux、Windows、Mac OS
THC SSL DOS 2011年10月 SSL renegotiation Linux、Windows、Mac OS
Zarp 2012年2月 SYN Linux
HULK 2012年5月 HTTP GET python运行环境

6. 参考

http://sourceforge.net/projects/xoic/

https://defense.ballastsecurity.net/wiki/index.php/Zarp

[url=https://code.google.com/p/slowhttptest/wiki/InstallationAndUsagehttp://www.modsecurity.org/http: … dd36407d948dcf9be4f]https://code.google.com/p/slowhttptest/wiki/InstallationAndUsage[/url]

[url=https://code.google.com/p/slowhttptest/wiki/InstallationAndUsagehttp://www.modsecurity.org/http: … dd36407d948dcf9be4f]http://www.modsecurity.org/[/url]

[url=https://code.google.com/p/slowhttptest/wiki/InstallationAndUsagehttp://www.modsecurity.org/http: … dd36407d948dcf9be4f]http://hi.baidu.com/thinkpig007/item/59222dd36407d948dcf9be4f[/url]

转自:http://www.1937cn.com/forum.php?mod=viewthread&tid=1837

转载请注明:jinglingshu的博客 » 绿盟科技分析报告:DDoS兵器谱2014Q1版


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /usr/share/nginx/html/wp-content/themes/d8/comments.php on line 17
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址