快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

Memcached DRDoS攻击趋向阐发

1、概述 

基于Memcached服务的反射攻击,由于其 5万倍的反射比例,从一最先出现就成为DDoS攻击界的“新宠”。 2018年2月28日 , GitHub遭遇了1.35T 的Memcached DRDoS攻击。目前基于安全专家和相干机构的起劲,可行使的反射源已经逐步缩小。攻击者也逐步更新本人的攻击手段藏避审查,本文首要先容基于Memcached的DDoS攻击趋向和一些新的Memcached DRDoS的攻击伎俩。

二、攻击趋向

从2月25号最先,Memcached DRDoS攻击数量逐渐增多,3月初,Memcached DRDoS攻击只占团体攻击的5%,三月中旬之后,逐渐超过10%,现在稳定在10%-20%之间波动,近来一周增进到30%。

Memcached DRDoS攻击趋向阐发3、放大的魔力

5万倍

CF在2月份发布文章称,检测到发送15字节的包,收到750k字节的包。从而计算出反射倍数是51200倍。

Memcached DRDoS攻击趋向阐发

CF提出的5万倍仅仅是按响应数据与要求数据的比例计算得到的,但DDoS攻击消费的是收集带宽资源,所以真正的放大倍数必须考虑数据包的实际收集数据流长度。

在IEEE 802.3注1中,对以太网数据包有明确的规定:

Memcached DRDoS攻击趋向阐发

根据802.3规范,一个数据包在收集上传播,占用的长度范围是84~1542。上述发送15字节,实际收集上数据包据有应为84字节,接收1400字节,实际收集上数据包据有应为1466字节。因为一个完备UDP的包,发送到收集中的报文实际长度会包含协定头,包括14(以太头)+20(IP头)+8(UDP头)+4(FCS)+ 20(帧间隙)= 66字节。

按照CF的检测到的数据重新计算 :

750字节产生的收集流量达到:750*1024/1400*1466 = 804205.7

实际反射倍数则是:804205/84 = 9573.9 倍。

可见计算要领不同,放大倍数差距云云之大,从原来的5万倍变为不到1万倍。但不论如何的差距,都不会影响Memcached反射攻击成为DRDoS的TOP 1。

当然究竟上,即使怎么样严谨的计算放大倍数,此类攻击照样有进一步放大的案例。

增大反射倍数

Memcached 的value默认配置的最大长度是1Mbyte。单个get a要求后可完成的反射倍数达到: 1024*1024/1400*1466/84 = 13071.5倍。

虽然直接调大VALUE的值放大倍数还不足2万倍,但通过一些攻击技巧照样能完成反射倍数达到十几万倍。

我们近来拿获到的攻击,就使用了一种技巧完成了如许的放大结果。

Memcached DRDoS攻击趋向阐发

上图所述的攻击者在一个要求中,使用了多次查询,通过在一个UDP包中执行多条get指令,Memcached服务器返归大批的多条数据包,由于UDP包本身的长度要占用66字节,通过如许的节省UDP包发送条数的伎俩,达到比之前单条发送要放大更多倍的结果。

上述攻击实例中,攻击者使用70个Memcached的GET指令拼装到一个UDP包中,发送包总长度844字节(Wireshark没有计算帧间隙以及FCS,所以是820+24=844)。

Memcached DRDoS攻击趋向阐发

该指令获取的VALUE值的长度达到304800:

image.pngMemcached DRDoS攻击趋向阐发

完成反射倍数:304800*70/1400*1466/844= 26471.4倍。

理论上这不是最高的放大倍数。

当GET指令的个数增添时,反射比例还会增大,加上优化payload,终极能完成十几万倍的反射结果:

1)    将get VcoOw\r\n  替代为get a\r\n ,在一个UDP包中组织更多的要求指令,考虑MTU 1500,IP头20,UDP头8,Memcache协定头8,则指令个数可达:(1500-20-8-8)/7 = 209.14,安全计算取205个指令。

2)    发送包长: 66+8+7*205=1509字节,

3)    每一个value值为1024*1024字节,

则团体反射倍数:1024*1024*205/1400*1466/1509= 149166.2倍!

实际的环境中,反射比例要小的多。一方面,是由于Memcached服务器的性能决定,另一方面UDP存在一定比例的丢包,甚至还有空响应的。

4、放大的不测

在对拿获的攻击数据阐发中,有一定比例的返归包只有一个END数据,

Memcached DRDoS攻击趋向阐发

这是由于GET 指令的KEY不存在。一个820字节的发送包能产生70个60字节UDP小包。

反射倍数:84*70/844 = 6.97倍。

Memcached DRDoS攻击趋向阐发

反射比例超低,但由于路由设备和服务器对小包处感性能较弱,于是大批的小包也会对收集也会产生较大的影响。

针对部分采样数据的统计,企业黑客,END小包与大包比例以下:

Memcached DRDoS攻击趋向阐发5、反射源阐发

对采样的反射源产生的攻击包进行聚类汇总。中国占比最高,美国,俄罗斯紧随其后。

Memcached DRDoS攻击趋向阐发

国内分布的状况,杭州的反射源产生的攻击包至多。抑制反射源滥用收集,需要IDC、云平台等踊跃处理。

Memcached DRDoS攻击趋向阐发

抽样阐发反射源使用的Memcache版本,1.4.15使用占比至多:

Memcached DRDoS攻击趋向阐发

对攻击者使用MemcachedDRDoS的攻击目标进行阐发,宿迁区域遭遇的攻击至多:

Memcached DRDoS攻击趋向阐发6、攻击伎俩对比

之前暴出的攻击POC C 版本注2以及Python版本注3,其中C版本首要使用了Memcached服务的stats命令(10-20倍)。Python版本使用了Memcached服务的set以及get命令

而我们这次拿获到的变种使用了多次指令组合到一个UDP包中发送。

Payload以下:

根据攻击者使用的反射资源,SET配置的key以及value参数的相似性进行分类。

攻击者更多采用get XXX 相干的指令完成更大的反射倍数。

整体 payload 比例
整体1 gets Vco0W 6%
整体1 get Vco0W; get Vco0W; … 72%
整体2 get djt dht 11%
整体3 get foo 1%
整体4 get qtcfg 1%
整体5 gets a b c d e f… z 1%
整体 6 stats items 3%
整体6 stats 5%

7、防范

1)    在Memcached服务器或者其上联的收集设备上设置防火墙策略,仅允许授权的营业IP地址走访Memcached服务器,拦截非法的走访。

2)    更改Memcached服务的监听端口为11211之外的其他大端口,避免针对默认端口的恶意行使。

3)    除非特殊必要,不开启Memcached UDP服务,最新版本的Memcached已经默认不开启UDP服务。

4)    升级到最新的Memcached软件版本,设置启用SASL认证等权限控制策略(在编译装置Memcached程序时添加-enable-sasl选项,并且在启动Memcached服务程序时添加-S参数,启用SASL认证机制以抬举Memcached的安全性)。

8、结语

UDP协定以其无壅塞、收发快为开发者所喜好,较TCP更天真,对一些实时交互的场景更具有优势,信赖越来越多的服务会选择UDP协定。而DRDoS攻击恰是行使UDP协定这一松散快速响应的特性,一次次的瞄准更大范围的开放服务来实施攻击,让目标防不胜防。 Memcached反射攻击可高达十几万倍的反射能力,不仅对攻击目标造成极大的损害,也会大大增添反射源的负载而影响自有营业运行。黑客无处不在,防御仍需专业,防备则更依靠服务提供者、IDC以及云平台等多方面加强安全意识。

注释

注1: 收集帧间隙 https://en.wikipedia.org/wiki/Ethernet_frame

注2: POC C 版本https://pastebin.com/ziueinae

注3: POC Python版本https://github.com/649/Memcrashed-DDoS-Exploit

*

您可能还会对下面的文章感兴趣: