[转载]Wireshark+SYN Flood两篇

这篇日志发布时间已经超过一年,许多内容可能已经失效,请读者酌情参考。

xbzbing:今天遇到了一例DDoS,用纯SYN Flood打到了500MB/S,这种攻击我遇到的很少,找到两篇很有参考价值的文章,转载以做记录。工具虽然在变,但思路和原理是不变的。

[第一篇]使用Wireshark分析并发现DDoS攻击

博文作者:BigHy[TSRC]

发布日期:2012-08-01

原文链接:http://security.tencent.com/index.php/blog/msg/3

与那些复杂而精密的入侵行为和漏洞利用相比,大部分的DDoS攻击显得十分粗线条,属于黑客世界中的“暴力犯罪”。然而,随着网络规模的不断扩大,可利用的僵尸网络规模的和带宽不断增加。现今DDoS攻击者的发起变得相对容易,发动的攻击规模不断扩大,能够使用较低成本轻易的造成目标网络的瘫痪。成为互联网上最广泛和危害最大的安全威胁之一,让广大站长朋友头疼不已。

 不幸的是,目前最有效的DDoS攻击检测防御都还依靠昂贵的专用硬件防御设备进行,对于业内广泛的中小企业和站长朋友来说显得难以负担。

本文中笔者整理了一些典型的DDoS攻击数据包,通过wireshark进行简易的分析,能够对攻击数据包的构成和特征进行粗略分析。通过简单的分析抓包文件认定攻击的发生和确定简单而行之有效的防御措施,适用于在没有专用设备的情况下最大程度和攻击者斗智斗勇,减少攻击影响和降低损失。

SYN Flood

1、  使用wireshark 过滤器tcp.flags==0x02 过滤检查数据包分布情况。如图所示,SYN Flood攻击发生时数据包分布发生明显改变,Syn包比例明显增加。

tcp.flags==0x02

2、  使用wireshark static->ipv4->endpoint分析数据包源地址分布。当使用伪造IP地址的DDoS攻击发生时,抓包文件中的数据包数目和源地址对应关系会发生明显变化。从图中实例可以发现,除了被攻击的目的IP意外,wireshark统计每个源地址对应的数据包数目较小,数据包大小字节数(Bytes)几乎一致。

endpoints统计

3、TTL分析发现攻击者的蛛丝马迹。当使用随机源进行DDoS攻击时,虽然使用了伪造源地址进行攻击,但攻击者无法伪造攻击主机与目标主机之间的位置关系。有时候通过观察数据包的TTL值变化,也能够获得攻击者的蛛丝马迹,为攻击防御提供辅助支持。下图所示的这个攻击程序并没有修改攻击数据包的TTL值,所有的攻击数据包使用相同的TTL值。聪明的你可能已经发现了,没错,这个攻击数据包是由局域网内的一个windows计算机发出的。

ttl.gif

UDP FLOOD

UDP FLOOD攻击的主要目的是通过发送大量的UDP数据包来堵塞服务器的带宽。同时针对DNS ,语音和流媒体等互联网业务,也会有通过UDP承载的应用层攻击出现。图示是著名的蜗牛攻击器产生的攻击数据包,可以明显的看出,这种数据包的payload固定,使用UDP大包进行攻击,同时使用真实源地址进行攻击。

udpflood.gif

ICMP FLOOD

与UDP FLOOD相同,ICMP FLOOD主要以阻塞服务器带宽为主。但与UDP FLOOD不同的是,ICMP通常不会承载数据业务,比较容易通过交换机ACL或者服务器的iptables等进行防御。同时,攻击实施者为了更加有效的利用手上的僵尸主机,会使用包大小较大的数据包和IP层分片的数据包进行攻击,这种攻击会绕过没有设置IP层分配的ACL,也会加重服务器分配重组的负担。值得一提的是,window客户端发出的ping数据包有特定的格式和数据包大小,使用通用的做白逻辑进行防御在大多数情况下也是有效的。

icmpflood.gif

上图中的数据包是一个典型的UDP FLOOD攻击数据包,数据包大小为1514Byte,payload固定,同时使用了分片标志。

来自应用层的DDoS

除了传统的网络层攻击之外,一些针对特定应用系统比如apache的应用层攻击也能够取得很好的效果。例如CVE-2011-3192 Range header DoS vulnerability Apache HTTPD,是典型的使用应用层漏洞进行DDoS攻击的攻击方法。在这种攻击中,攻击者刻意构造畸形的http头,其中包含了大量重复的range字段。Apach在处理这种http请求时,会不断的进行range重组,最终导致目标系统CPU繁忙而无法响应正常请求。

webappddos.gif

正常流量TTL分布性质

 在讲synflood 的时候已经提到,可以通过分析数据包的TTL值分布情况对是否发生攻击进行简要判断。但是在实际操作时不容易找到现网中TTL值的分布规律,或者需要很长时间训练才能明确。通过对现网中流量进行测量分析,能够得出现网中正常流量TTL分布性质,本文作者对国内外现网测量实验结论进行了简要整理,整理出性质如下:

 1、某一条链路上的入境数据包源IP地址数目在不同TTL值上的分布基本保持稳定,但对整个观测区间内入境数据包源IP地址总数的测量显示:在当前网络环境下,入境数据包IP地址数目不会在较短时间内增加到饱和趋势,而是在比较长时间内保持近似常数的增长速率。

ttlbucket.gif

从图中可以得出,该链路未发生攻击时基于最终TTL值的数据包分布呈双峰分布。大部分的入境数据包的最终TTL值集中在64和128的左侧,这是由于参与通信的大部分境外主机采用缺省初始TTL值64和128作为初始TTL值。同时,分布曲线的重合证明基于最终TTL 值的入境IP地址数目的分布在同一测量间隔内保持稳定,随测量时间变化较小。

小结:

在没有专用的防护设备的条件下,相对于攻击者而言,防御方在资源方面处于绝对的弱势。对攻击发生时的cap文件进行仔细的分析,找出攻击者忽略的地方,找出攻击数据包与正常业务流量中有区别的地方,有些时候能够起到四两拨千斤的作用。而攻击者需要不断的变换特征和构造复杂的攻击,也在一定程度上提升了攻击实施的成本,使得防御方更加有利,能够有效的控制攻击影响。

[第二篇]SYN flood+带宽消耗混合式DOS攻击一例

博文作者:易隐者

发布日期:2014-4-11

原文链接:http://www.vants.org/?post=243

一用户新系统上线前,发现流量存在异常,利用wireshark抓包后,查看summary视图,发现其每秒近4000个包,平均包长991字节,如下图所示:

 1404825214123666.png

我们在通过coversations视图查看其连接情况,发现IP连接会话中,源主机向113.105.171.88、121.12.110.60、121.12.110.61等3个IP交互的报文数远远大于其他IP的,如下图所示:

点击查看原图

我们再查看TCP会话,发现交互特征明显,都是发送一个长度为1024字节的报文,如下图所示:

 点击查看原图

我们回到数据包视图:

 点击查看原图

看上去基本上都是SYN报文,但是常规的SYN报文一般只有64字节,无应用层数据,而这里其显示存在970字节的应用层数据,这明显是不合常理。
我们查看这些数据包的具体解码,如下图所示:

点击查看原图

发现其长度为970字节的应用层数据全部是“0”填充的。

 点击查看原图

综合上述分析,基本可判断为黑客利用被拿下的机器,对固定主机发送包含以“0”填充的、长度为970字节的应用数据的SYN Flood攻击报文,在对服务器造成SYNflood攻击效果之外,还会给被攻击主机的互联网出口带宽资源带来较大的消耗,到达综合的拒绝服务攻击效果。

常规DOS攻击手段以前遇到和处理的蛮多,但这种较为聪明和更有效率的混合式DOS攻击方式在实际工作过程中较为少见,是以记之,供各位兄弟姐妹参考。


感谢两位前辈的文章,再次注明转载地址:

0x01 使用Wireshark分析并发现DDoS攻击

0x02 SYN flood+带宽消耗混合式DOS攻击一例



留言交流

50infivedays
50infivedays 2014-07-22 13:18 回复
icon_cool.gif 好文章 不错
疯狂的dabing
疯狂的dabing 2014-07-22 22:17 回复
回复 50infivedays : 牛子高级黑。。。这都是我转载的,第一篇还来自你们大腾讯。。。
点击换图