# 前言:
之前已经有文章写过redis未授权访问的利用总结了,这次主要是py脚本自动化的一个小分享吧。也算是对自己学习的一个记录..
一、环境搭建(建议用centos7搭建):
wget http://download.redis.io/releases/redis-5.0.0.tar.gz tar -xvzf redis-5.0.0.tar.gz cd redis-5.0.0 make
漏洞描述:
在Redis 4.x之后,Redis新增了模块功能,通过外部拓展,可以实现在redis中实现一个新的Redis命令,通过写c语言并编译出.so文件。利用范围:Redis 4.x-Redis 5.x
修改redis.conf:
protected-mode yes 改为no #关闭redis保护模式
bind 127.0.0.1 改为0.0.0.0 #服务器任意网卡地址都可访问redis
启动redis:
cd src./redis-server ../redis.conf #加载指定配置
踩坑:
如果环境搭建好无法远程连接redis的话,请添加防火墙规则放行6379:
打开6379端口防火墙方法: 执行命令打开6379端口防火墙,看到success字样就表明添加成功 firewall-cmd --zone=public --add-port=6379/tcp --permanent 然后重新启动防火墙,看到success字样就表明重启成功 firewall-cmd --reload 最后可以输入命令验证6379端口打开是否生效,看到yes及表示生效 firewall-cmd --zone=public --query-port=6379/tcp
二、漏洞利用(自写exp自动化利用):
1、利用redis写webshell
python3 Redis_Exp.py 目标ip -f webshell -s 本地shell路径
2、利用计划任务反弹shell
python3 Redis_Exp.py 目标ip -f crontab
3、利用SSH私钥登陆
python3 Redis_Exp.py 目标ip -f ssh-key
需要修改/etc/ssh/sshd_config配置文件:
PubkeyAuthentication设置为yes # 设置开启公钥验证;AuthorizedKeyFiles # 公钥所保存的文件;
脚本中有个ssh_key.sh文件,用来生成ssh私钥的,脚本已经打包好了,需要的看官后台留言:redis exp
注意:脚本仅作为学习和讨论使用,禁止利用其进行任何违法行为,与作者无关!
注意:脚本仅作为学习和讨论使用,禁止利用其进行任何违法行为,与作者无关!
注意:脚本仅作为学习和讨论使用,禁止利用其进行任何违法行为,与作者无关!