一个小故事读懂Memcached漏洞

0x00 有人的地方就有江湖

只要有人,就有恩怨,有恩怨,就有江湖。小黑同学早就看班里的小白不顺眼了,恰逢今天是3月2日元宵节,所谓月黑风高杀人夜,今晚就给他整点麻烦。小白平时不是最喜欢嘚瑟家里房子多大多好吗,最好能找些人去到他家里吓吓他,人越多越好。于是乎,小黑开始谋划这次整蛊计划。

1、城里人不少,但是该找哪些人呢?

最好四肢发达那种,因为杀伤力比较强;最好还头脑简单那种,这样比较容易找来办事,所以小黑到处打听满足这两个条件的人,小黑还给他们取了个统一的名字叫肉鸡。

2、找到人之后,该怎么把他们聚集起来呢?

小黑心想城里人都喜欢凑热闹,于是小黑向肉鸡们散播谣言,小白家附近今晚有烟花表演看咯,小白家附近今晚有烟花表演看咯,小白家附近今晚有烟花表演看咯。

3、该怎么说服这些人去小白家呢?

反正肉鸡们头脑简单,于是小黑戴着小白模样的面具,跟他们说,我是小白,今晚在我家阳台看烟花角度最好咯,今晚在我家阳台看烟花角度最好咯,今晚在我家阳台看烟花角度最好咯。

晚上8点左右,小白刚吃完饭想出去看小电影,推开家门,突然一帮壮汉涌了进来,家里面瞬时挤满了人,想出也出不去,外面的人还有很多壮汉想挤进来。。。

小白一脸懵逼,在家里随便拉了个壮汉问了那三个经典问题:你是谁,你从哪里来,你来干嘛。谁知道那人也是一脸懵逼“不是你跟我说今晚在这里看烟花最爽吗,所以我就来了呀”,小白这才明白被恶作剧了,心里一万只草泥马奔涌而过。。。

0x01 复盘故事

这个小故事其实讲的就是这几天闹得沸沸扬扬的Memcached漏洞事件,复盘下整个过程,看看为什么小黑能成功整出恶作剧,然后你会顺便发现Memcached漏洞攻击的逻辑竟然如此简单:

一、搜集信息,明确目标

故事:小黑首先通过搜集信息,确定出今晚去小白家的人。目标很明确,有两个条件:四肢发达、头脑简单。

Memcached漏洞:寻找满足两个条件的网络主机:开着11211端口、且服务可以默认登录。11211端口号一般由Memcached占用,且容易通过Memcached放大流量,即所谓的“四肢发达”;默认登录的意思就是不用任何认证,比如无需账号密码就能登录Memcached服务。

二、信息埋伏,准备攻击

故事:小黑向肉鸡们散播今晚有烟花表演看的消息,引起肉鸡们兴趣,腾出晚上时间。

Memcached漏洞:攻击者需要先往肉鸡的Memcached里埋伏预设值的信息,以便后续攻击使用。Memcached用于数据库的内存缓存服务,简单来说就是可以存储一些键值对数据。什么是键值对?比如储存英文名的数据库,小白的英文是A,那么其中一条数据是“小白:A”。“键”是“小白”,“值”是“A”,通过查询“键” “小白”,就可以得到“值” “A”。在这里为了得到放大攻击的效果,把小白的英文名设为A…………(省略1百万次重复的A)…………A。这样一来,输入 “查询小白英文名” 大约是20个字节数据,就能输出1M字节的“A”,实现五万倍的放大效果。

三、伪造信息,反射攻击

故事:小黑通过面具伪装为小白,把头脑简单的壮汉们骗到小白家。

Memcached漏洞:Memcached支持UDP协议,而UDP协议又是基于无连接特性,简单来说攻击者通过UDP协议伪造数据包,把源IP地址篡改为受害者的地址,这样一来发布给“肉鸡们”之后,“肉鸡们”就自然把反馈的流量反射给受害者,流量一大就能造成对方网络拥塞的攻击效果。全世界各地有5W多台符合条件的肉鸡,再乘以每个肉鸡流量的放大值,将能达到恐怖的流量攻击效果。

0x02 模拟攻击

下面是模拟攻击的具体流程:

一、情报收集

通过情报引擎(比如钟馗之眼或shodan等)按指定条件搜索肉鸡们。

二、虚拟机搭建环境

将虚拟机(Windows 2008系统)作为其中一个肉鸡,安装Memcached服务(1.4.4版本),根据默认配置进行操作:

1、发现11211端口已被Memcached占用,且不对IP地址做限制

2、本地或者远程直接telnet进来,发现无需认证,即可使用

三、向肉鸡写入预设值的键值对

攻击者主机,撰写Python脚本,通过TCP协议向肉鸡写入大负荷的键值对,“GoMem”对应1M字节的字符“A”。这里有两个问题:

1、为什么是1M字节,而不写入更大的数据?是因为Memcached最大只支持1M的键值单数据对存储。 2、为什么不用UDP协议来写入键值?是因为UDP协议一次只能发送64Kb的数据,要写入1M字节数据,得分好几次写入,所以选择TCP协议。

四、伪造UDP数据,反射攻击

攻击者主机,撰写Python脚本,通过UDP协议伪造源地址为受害者地址,向肉鸡请求“GoMem”值数据,于是肉鸡把1M字节的字符“A”打向受害者。用tcpdump小工具对11211端口进行监控,从下图可以看到受害者主机已经接收到攻击流量。

而这里为什么使用UDP,而不用TCP?是因为TCP连接需要通过三次握手,UDP则不需要,安全性更低,容易伪造数据包。

0x03 防护建议

互联网世界的主机、软件就是这么单纯,并不像它的创造者那么复杂,创造者给的设定是怎样,它们就怎样执行,所以很容易被不法分子利用。像这次的Memcached漏洞,只要知道了你的服务器地址,不做防护的话,就很容易被攻成宕机,而攻击的成本很小,只要一部能上网和编程的电脑。

一不小心唠叨了几句,说回正题,那么对于这次Memcached漏洞,我们该怎么防护呢?(以下大部分建议参考网上各种安全预警通告)

对于使用Memcached 服务的开发者小伙伴:

1、Memcached官方最新版本 1.5.6 已封堵了漏洞,默认会关闭 UDP 11211 端口,因此建议升级至最新版本,并且设置密码来进行权限控制。 2、为保万全,在边界防火墙上关闭 UDP 11211 端口的入站与出站流量。 3、尽量在服务器上关闭 Memcached 的 UDP 11211 端口,或只允许其监听在 127.0.0.1:11211。 4、机房采取BCP38,以防止攻击者伪造来源。

对于网络运营商小伙伴的应对措施:

1、运营商的互联互通设备上对出口网络中对源端口为 UDP 11211 的请求进行控制。 2、运营商内部的骨干节点接入设备对出口网络中源端口为 UDP 11211 的请求进行控制。 3、 IDC 在网络出口对出口网络中的源端口为 UDP 11211 的请求进行控制。

控制方式:

1、直接封禁 UDP 协议的 11211 端口; 2、通过 netflow 等监控方式统计 UDP 11211 的流量,超过阈值再进行封禁。

希望这次的事件,能引起大家对信息安全的重视。

时刻牢记安全无小事,防微杜渐是关键!

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

围观2016年最活跃的“顶级Exploit Kit”

Exploit Kit作为传播犯罪软件的重要工具,一直深受网络犯罪分子喜爱。俗话说知己知彼百战百胜,面对与时俱进,不断升级更新的Exploit Kit,我们必须...

23650
来自专栏程序员互动联盟

【答疑释惑】Makefile是什么,Windows下面如何编写?

1 问题 ? 解答: ? 点评:Windows下用微软的VS是不需要自己编写Makefile的,但是如果使用Cygwin之类的编译环境,还是需要自己编写Mak...

37390
来自专栏魏艾斯博客www.vpsss.net

Paypal支票借助Payoneer提现到国内银行卡全过程记录

做网赚这么久一直用 paypal 和连连付提现,自从 7 月 1 日起连连付停止兑换之后,魏艾斯博客只好采取了支票提现的方法。为什么不用银行卡提现呢?舍不得那 ...

1K30
来自专栏FreeBuf

你的CAD图纸被盗了吗?

本次分析的样本是CAD脚本动态生产的一种VBS蠕虫病毒,大概10多年前就已经开始通过E-Mail传播此样本,而如今这类病毒依旧活跃着,浮浮沉沉,生生不息。 蠕虫...

21680
来自专栏FreeBuf

悄悄的干活,打枪的不要!勒索+比特币挖矿木马

FreeBuf曾报道过一些勒索用户支付赎金的木马: 1千万英国用户被Cryptolocker勒索软件瞄准 英国NCA向公众发出警告:CryptoLocke...

25760
来自专栏SAP梦心的SAP分享

【SAP业务模式】之STO(二):系统配置

本篇博文开始讲述STO业务模式的配置! 一、定义发货工厂的装运数据:  目录:SPRO-物料管理-采购-采购订单-设置库存调拨订单-定义工厂的装运数据 ? 定义...

25550
来自专栏FreeBuf

只用一台笔记本发动DDoS攻击,就能让大型服务器下线

最近有研究人员发现了一种被称为BlackNurse的简单攻击方式,能够让独立入侵者能用有限的资源(一个有15Mbps带宽的笔记本)驱动大规模DDoS攻击,直接将...

278100
来自专栏信安之路

APT-RAT(Poison ivy ) 攻击模拟及监测口令提取

APT:高级持续性威胁,APT 攻击主要是指针对特定组织、特定领域或个人进行的蓄谋已久的攻击。如:针对一个国家的基础设施的破坏,针对国防、航空航天、医疗、军民融...

22000
来自专栏DHUtoBUAA

通过ODBC接口访问人大金仓数据库

  国产化软件和国产化芯片的窘境一样,一方面市场已经存在性能优越的同类软件,成本很低,但小众的国产化软件不仅需要高价买入版权,并且软件开发维护成本高;另一方面,...

24300
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–可退回包装物销售(120)-2流程及主数据

标准托盘属于制造商,它们作为可退回货物或包装物料处理。本业务情景显示了标准托盘的装运及其退回。 此业务情景使用物料类型为 LEIH 的托盘 L001,该物料类型...

33250

扫码关注云+社区

领取腾讯云代金券