前言
本文将要介绍ProxyShell中第二个漏洞的细节,分析利用思路。
简介
本文将要介绍以下内容:
◼CommonAccessToken
◼Exchange PowerShell Remoting
◼利用分析
CommonAccessToken
在上篇文章《ProxyShell利用分析1——CVE-2021-34473》提到,我没有找到通过参数指定EWS认证用户的方法,但是对于Exchange PowerShell Remoting,可以通过传入CommonAccessToken指定认证用户,访问Exchange PowerShell Remoting
1.定位参数传入方法
使用dnsSpy打开文件C:\Program Files\Microsoft\Exchange Server\V15\Bin\Microsoft.Exchange.Configuration.RemotePowershellBackendCmdletProxyModule.dll
依次定位到Microsoft.Exchange.Configuration.RemotePowershellBackendCmdletProxy -> RemotePowershellBackendCmdletProxyModule -> CommonAccessToken CommonAccessTokenFromUrl(string user, Uri requestURI, out Exception ex)
如下图
可以看到,通过X-Rps-CAT作为参数传入CommonAccessToken
传递参数的方式可以参考下图
2.CommonAccessToken的生成
使用dnsSpy打开文件C:\Program Files\Microsoft\Exchange Server\V15\Bin\Microsoft.Exchange.Net.dll
依次定位到Microsoft.Exchange