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/