0x00 漏洞简介
- 漏洞简述Memcached 是一套分布式高速缓存系统。它以 Key – Value 的形式将数据存储在内存中。这些数据通常是会被频繁地应用、读取的。正因为内存中数据的读取速度远远大于硬盘的读取速度所以可以用来加速应用的访问。
- 由于 Memcached 的安全设计缺陷客户端连接 Memcached 服务器后无需认证就可读取、修改服务器缓存内容。
- 影响范围:Memcached 全版本
0x01 环境搭建
测试机:Ubuntu216.04
靶机:Ubuntu16.04
Memcache:v1.4.5
1、安装Memcache服务端
apt-get install memcached
2、启动服务
memcached -d -m 128 -p 11211 -u root
3、查看是否启动了服务
ps -ef | grep memcache
4、安装客户端(可省略)
apt-get install php-memcached
5、重启一下apache服务
service apache2 restart
0x02 漏洞证明
1、netstat -an |more
命令查看端口监听情况
回显0.0.0.0:11211
表示在所有网卡进行监听,存在Memcached未授权访问漏洞。
2、在Ubuntu2输入telnet 192.168.246.130 11211
,连接成功表示漏洞存在
0x03 防御手段
1、配置访问控制。
iptables -A INPUT -p tcp -s 192.168.246.130 --dport 11211 -j ACCEPT
2、配置memcached监听本地回环地址127.0.0.1。
memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
3、修改默认端口。
memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11222 -c 1024 -P /tmp/memcached.pid
4、当memcached配置为监听内网IP或公网IP时,使用主机防火墙(iptalbes、firewalld等)和网络防火墙对memcached服务端口进行过滤。
0x04 参考
https://www.freebuf.com/articles/web/207877.html
http://blog.nsfocus.net/memcache-unauthorized-access-exploit/