Exchange CVE-2021-34473 RCE复现

文章最后更新时间为:2021年08月29日 23:42:32

1. 漏洞描述

今年的Blackhat演讲中,Orange Tsai对其在上一阶段对Microsoft Exchange Server进行的安全研究进行了分享,除了前一段时间已经公开的proxylogon,还带来了ProxyShell等漏洞的有关具体细节。

其中包括

  • CVE-2021-34473 Microsoft Exchange ACL绕过漏洞
  • CVE-2021-34523 Microsoft Exchange权限提升漏洞
  • CVE-2021-31207 Microsoft Exchange授权任意文件写入漏洞。

攻击者可通过组合这些漏洞在未经身份验证的情况下远程接管目标服务器。

2. 影响范围

Microsoft Exchange Server 2010
Microsoft Exchange Server 2013
Microsoft Exchange Server 2016
Microsoft Exchange Server 2019

3. 漏洞复现

环境搭建参考 https://saucer-man.com/information_security/748.html#cl-3

利用步骤如下:

  1. 首先使用SSRF漏洞,请求AutoDiscover服务,获取legacyDn
  2. 将legacyDn作为参数,访问mapi/emsmdb接口,能够获得用户对应的sid
  3. 在Header中使用SerializedSecurityContext,指定用户身份进行EWS调用操作

直接使用脚本来进行攻击:

1.首先需要生成一个webshell:

下载https://github.com/Ridter/proxyshell_payload ,在proxyshell_payload.py中,修改末尾的webshell变量,将其替换为蚁剑的webshell

然后运行得到payload(encode部分):

2021-08-27T19:01:05.png

2.exp攻击

下载https://github.com/dmaasland/proxyshell-poc ,然后安装依赖,将上一步得到的payload,复制到proxyshell_rce.py的314行。

运行程序后,依次输入:

Get-MailboxExportRequest
Get-MailboxExportRequest|Remove-MailboxExportRequest -Confirm:$false
dropshell

如下图所示:

2021-08-27T19:04:04.png

2021-08-27T19:04:16.png

文件成功上传,下面用蚁剑直接链接shell即可。(这里需要忽略https证书)

2021-08-27T19:05:12.png

2021-08-27T19:05:29.png

4. 漏洞修复

当前微软官方已发布以上漏洞受影响版本的安全补丁,强烈建议受影响的用户尽快安装安全补丁进行防护。建议受影响用户通过以下链接进行手动更新:
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34473
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34523
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-31207

5. 参考

1 + 8 =
3 评论
    湖里 Chrome 109 Windows 10
    2023年02月09日 回复

    请假大佬,第一步 替换了 从蚁剑的插件里生成的webshell后,运行proxyshell_payload.py,报错invalid syntax,啥情况啊,替换不了吗.另外,老哥你的蚁剑的webshll哪儿来得哇

      saucerman Chrome 108 Windows 10
      2023年02月09日 回复

      @湖里 蚁剑的webshell自己生成一个,报错invalid syntax应该是你编码有问题,或者复制的位置有问题

        gordom Chrome 112 Windows 10
        2023年04月26日 回复

        @saucerman 上传成功了,也返回了shell,但是蚁剑链接不了