漏洞预警 | Zimbra 远程代码执行漏洞

作者:   深圳市网安计算机安全检测技术有限公司 2019/03/18 15:37:23 460次阅读 国际
文章来源:https://mp.weixin.qq.com/s/1E8kTeO9gjDQ9h8aXnqhOg

Zimbra 远程代码执行漏洞


Zimbra 是一家提供专业的电子邮件软件开发供应商,主要提供 Zimbra Collaboration Server 协作服务器套件、Zimbra Desktop 邮件管理软件等邮件方面的软件。

3 月 13 日, 国外安全研究员 tint0 发布了一篇博客,指出 Zimbra Collaboration Server 系统全版本存在一系列漏洞,通过恶意利用可以导致远程代码执行漏洞。


漏洞描述

当 Zimbra 存在像任意文件读取、XXE(XML 外部实体注入) 这种漏洞时,攻击者可以利用此漏洞读取 localconfig.xml 配置文件,获取到 zimbra admin ldap password,并通过 7071 admin 端口进行 SOAP AuthRequest 认证,得到 admin authtoken,然后就可以利用 admin authtoken 进行任意文件上传,从而达到远程代码执行的危害。

而 tint0 博客文章里指出,即使在 7071 admin 端口做了防火墙配置、不对外开放的情况下,也可以利用存在于 443 普通用户端口服务里身份认证的一个特性,配合 ProxyServlet.doProxy() 方法里的 SSRF,同样也能完成 admin SOAP AuthRequest 认证,得到 admin authtoken。

长亭科技经过漏洞分析后,确认了这种攻击方式的可行性和危害。下图为配合利用 XXE 和 ProxyServlet SSRF 漏洞拿到 admin authtoken 后,通过文件上传在服务端执行任意代码的本地测试截图:

a19ec744dc571cfff1c7d017d4c7548e.png


除此之外,在 Zimbra服务端使用 Memcached 做缓存服务时,还可以利用 SSRF 攻击 Memcached 缓存服务,通过反序列化实现远程代码执行。不过由于 Zimbra 的安装过程中的 bug,导致单服务器的情况下,Memcached 尽管会启动,但并不会使用,因此 SSRF 攻击 Memcached 反序列化的利用场景比较有限。


影响范围

ZimbraCollaboration Server 8.8.11 之前的版本都受到影响。具体来说:

1. Zimbra < 8.7.11 版本中,攻击者可以在无需登录的情况下,实现远程代码执行

2. Zimbra < 8.8.11 版本中,在服务端使用 Memcached 做缓存的情况下,经过登录认证后的攻击者可以实现远程代码执行


解决方案


使用雷池 WAF 的客户无需升级补丁即可防御。

未使用雷池 WAF 的客户需更新官方发布的安全补丁或升级 Zimbra 到最新版:

https://wiki.zimbra.com/wiki/Zimbra_Security_Advisories


如需帮助请咨询info@chaitin.com。



参考资料



https://blog.tint0.com/2019/03/a-saga-of-code-executions-on-zimbra.html

https://wiki.zimbra.com/wiki/Zimbra_Security_Advisories


指导单位
广东省公安厅网络警察总队 广东省信息安全等级保护协调小组办公室