freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

绿盟科技分析报告:DDoS兵器谱2014Q1版
2014-04-30 09:10:49

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

1. 简介

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

2. XOIC

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

3. Zarp

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

4. Slowhttptest

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

4.1. Slowloris

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

攻击的数据包如下:

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

4.2. Slow http post

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

攻击数据包:

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

切换至HEX显示如下:

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

4.3. Slow read

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

检测防御

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

绿盟科技威胁分析报告——DDoS兵器谱2014Q1版

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

5. 常用DDoS工具一览

工具时间类型运行平台
Hping2004ICMP/UDP/SYNLinux、Windows、Mac OS
Slowloris2007HTTP GETPerl运行环境
LOIC2009年6月UDP/TCP/HTTP GETLinux、Windows、Mac OS
PenTBox2009年7月SYN/TCPLinux、Windows、Mac OS
R.U.D.Y2011年1月HTTP POSTpython运行环境
HOIC2011年3月HTTP GETLinux、Windows、Mac OS
THC SSL DOS2011年10月SSL renegotiationLinux、Windows、Mac OS
Zarp2012年2月SYNLinux
HULK2012年5月HTTP GETpython运行环境

6. 参考

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

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

https://code.google.com/p/slowhttptest/wiki/InstallationAndUsage

http://www.modsecurity.org/

http://hi.baidu.com/thinkpig007/item/59222dd36407d948dcf9be4f

作者 曹志华

[via 绿盟科技云安全中心]

本文作者:, 转载请注明来自FreeBuf.COM

# 绿盟科技威胁分析报告
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按时间排序

登录/注册后在FreeBuf发布内容哦

相关推荐
  • 0 文章数
  • 0 评论数
  • 0 关注者
登录 / 注册后在FreeBuf发布内容哦
收入专辑