Redis未授权访问高危漏洞预警

近日,深信服安全团队发现开源数据库Redis爆出了一个未授权访问漏洞,第一时间进行跟踪以及分析预警。经研究发现,利用该漏洞,攻击者可以实现反弹shell进行任意代码执行。

Redis软件介绍

Redis是一款开源的(拥有BSD证书)、使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,提供多种语言的API。

Redis支持多种数据结构,如字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志等。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区。

Redis从4.0版本开始加入了对外部扩展模块的支持,外部扩展模块可以实现新的Redis命令,新的Redis数据结构,基本上可以做到所有Redis内核可以做的事情。

Redis同时支持主从复制,主要是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据只能由主节点到从节点单向复制。主从复制的主要作用是实现了数据冗余、故障恢复、负载均衡、高可用基石。

截至目前为止,在全球范围内暴露在外网环境中的Redis资产多达18,620台,其中,中国地区对外开放的Redis资产数量排名第一,有5,935台。考虑到该软件为数据库,我们相信真实存在的设备数量将远远超过暴露的数值。PHP大马

 

(统计数据仅为对互联网开放的资产,本数据来源于shodan。)

图1  Redis全球范围内情况分布

国内方面,该数据库使用主要分布在北京地区。

(统计数据仅为对互联网开放的资产,本数据来源于shodan。)

图2  Redis中国范围内情况分布

漏洞描述

由于Redis在4.0之后的版本中加入了外部模块扩展功能,使得攻击者可以通过外部模块扩展,引入恶意的.so文件,实现恶意代码执行。

如果Redis版本在4.0以下,同时redis-server以root权限启动,则攻击者可以在服务器上创建任意文件。

漏洞复现

该漏洞的复现除需要外部扩展模块功能外,还要设置主从复制功能。具体环境配置参考github链接:https://github.com/Ridter/redis-rce

成功执行后,将获取到目标主机的shell:

影响范围

目前受影响的Redis版本:

Redis 2.x,3.x,4.x,5.x

修复建议

1、禁止外部访问Redis服务端口;

2、禁止使用root权限启动redis服务;

3、配置安全组,限制可连接Redis服务器的IP。 奇热影视

参考链接

[1].https://redis.io/

[2].https://github.com/n0b0dyCN/redis-rogue-server

[3].https://github.com/RicterZ/RedisModules-ExecuteCommand

[4].https://2018.zeronights.ru/wp-content/uploads/materials/15-redis-post-exploitation.pdf

你可能感兴趣的:(Redis未授权访问高危漏洞预警)