漏洞简介
Zimbra是著名的开源系统,提供了一套开源协同办公套件包括WebMail,日历,通信录,Web文档管理和创作。一体化地提供了邮件收发、文件共享、协同办公、即时聊天等一系列解决方案。此漏洞的主要利用手法是通过 XXE (XML 外部实体注入) 漏洞读取localconfig.xml配置文件来获取Zimbra admin ldap password,接着通过SOAP AuthRequest认证得到Admin Authtoken,最后使用全局管理令牌通过ClientUploader扩展上传Webshell到Zimbra服务器,从而实现通过Webshell 来达到远程代码执行效果。(需要注意,最后要达到RCE组要结合SSRF漏洞,即需要结合另一个漏洞CVE-2019-9621)
漏洞影响范围
Zimbra< 7.11 版本中,攻击者可以在无需登录的情况下,实现远程代码执行。
Zimbra< 8.11 版本中,在服务端使用 Memcached 做缓存的情况下,经过登录认证后的攻击者可以实现远程代码执行。
漏洞环境搭建
系统环境
虚拟机
IP地址:192.168.220.56
Zimbra版本:8.7.7
- 更新源,下载必要插件,执行以下命令:
apt update
apt-get install libgmp10 libperl5.22 unzip pax sysstat sqlite3 dnsmasq wget
apt install vim
- 修改主机名:
vim /etc/hostname
,修改为如下内容
- 绑定
ip
和域名,修改hosts
文件,vim /etc/hosts
- 修改
dnsmasq
的配置为如下,执行vim /etc/dnsmasq.conf
server=192.168.220.56
domain=test.com
mx-host=test.com, mail.test.com, 5
mx-host=mail.test.com, mail.test.com, 5
listen-address=127.0.0.1
5. 下载Zimbra
安装包:(注意:完成1-4步操作,最好执行sudo reboot
重启下虚拟机)
tar -xvf zcs-8.7.7_GA_1787.UBUNTU16_64.20170410133400.tgz
6. 解压压缩包:tar -xvf zcs-8.7.7_GA_1787.UBUNTU16_64.20170410133400.tgz
7. 执行安装程序:cd zcs-8.7.7_GA_1787.UBUNTU16_64.20170410133400 sudo ./install.sh
8. 安装过程根据需要选择要安装的组件,我不是很懂所以一路都是Y
9. 接下来开始配置Main Menu
,这个过程需要注意,看提示,所有前边带号的,是必须要配置的,否则无法保存配置并且完成应用安装.
我这里需要配置的一共有两项:
10. 先配置账号密码,选择7) zimbra-store:,之后选择4) Admin Password
,最后输入要设置的密码,我这里设置的密码是123456
11. 之后,返回上层菜单,对DnsCache
进行配置,首先选择5) zimbra-dnscache
,之后选择 2) Master DNS IP address(es):
,最后输入要设置的IP地址:
12. 之后提示配置完成,请按a应用配置,这里需要注意,只有把所有带号的选项配置完成才会出现这条提示,否则不会出现这个提示
13. 之后切换用户,查看各组件运行状态
su zimbra
zmcontrol status
14. 浏览器尝试访问管理界面:https://192.168.220.56:7071/
:可以成功访问即安装环境成功