日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ProxyShell利用分析1——CVE-2021-34473

發布時間:2025/3/21 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ProxyShell利用分析1——CVE-2021-34473 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導語:CVE-2021-34473作為ProxyShell攻擊鏈的基礎,驗證簡單,危害巨大。站在防御的角度,建議用戶盡快更新補丁。

前言

Orange在今年的BlackHat演講中介紹了在Pwn2Own 2021上使用的Microsoft Exchange攻擊鏈,他分享的內容給了我很大的啟發。
【學習資料】

本文僅在技術研究的角度記錄我在研究ProxyShell中的細節,分析利用思路。

簡介

本文將要介紹以下內容:

?調試環境搭建

?漏洞分析

?利用思路

調試環境搭建

1.禁用Visual Studio中的調試優化

設置環境變量COMPLUS_ZapDisable=1

重啟系統【學習資料】

2.查看Exchange中對應的進程

執行命令:

可以獲得Exchange的所有進程和對應的pid,如下圖

3.使用dnSpy進行調試

打開相關的dll文件并在待調試的位置下斷點,選擇附加進程開始調試

如果不確定待調試的Exchange進程,可以選擇所有w3wp.exe

漏洞調試

使用dnSpy打開文件C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\bin\Microsoft.Exchange.FrontEndHttpProxy.dll

依次定位到Microsoft.Exchange.Clients.Owa.Core -> Microsoft.Exchange.HttpProxy

關于SSRF漏洞(CVE-2021-34473)的漏洞原理可以參考如下文章:

https://peterjson.medium.com/reproducing-the-proxyshell-pwn2own-exploit-49743a4ea9a1

漏洞分析

1.判斷漏洞是否存在

這里使用Orange原文給出的方法:

訪問:https:///autodiscover/autodiscover.json?@foo.com/mapi/nspi/?&Email=autodiscover/autodiscover.json%3f@foo.com

如果漏洞存在,返回如下結果:

如下圖

權限為System

url地址中的"/mapi/nspi"為Exchange服務器訪問的最終地址

url地址中的"?&Email=autodiscover/autodiscover.json%3f@foo.com"作為參數,這是為了滿足漏洞觸發的條件。此處還可以通過設置Cookie的內容為"Email=Autodiscover/autodiscover.json%3f@foo.com"實現相同的效果,源碼如下圖

2.通過SSRF漏洞調用Exchange Web Service(EWS)

Exchange Web Service(EWS)對應郵箱用戶的郵件內容,關于EWS的使用可以參考之前的文章《Exchange Web Service(EWS)開發指南2——SOAP XML message》,通過發送XML請求,能夠獲得對應用戶的郵件內容。【學習資料】

由于SSRF默認的權限為System,所以我們需要找到能夠模擬任意郵箱用戶的方法,才能夠讀取對應用戶的郵件內容。

經過一段時間的調試,我沒有找到通過參數指定EWS認證用戶的方法,但是這里我們可以使用Exchange提權漏洞(CVE-2018-8581)中的技巧,通過在Header中使用SerializedSecurityContext,指定SID可以實現身份偽裝,從而以指定用戶身份進行EWS調用操作【學習資料】

代碼地址:

https://github.com/thezdi/PoC/blob/master/CVE-2018-8581/serverHTTP_relayNTLM.py#L48-L64

Header格式如下:

為了獲得用戶的SID,我們可以使用Exchange SSRF漏洞(CVE-2021-26855)中的技巧,通過訪問/autodiscover/autodiscover.xml獲得legacyDn,作為參數繼續訪問/mapi/emsmdb,就能夠獲得用戶對應的sid【學習資料】

至此,整個利用鏈完成,流程如下:

1、訪問/autodiscover/autodiscover.xml獲得legacyDn

2、訪問/mapi/emsmdb獲得用戶對應的sid

3、在Header中使用SerializedSecurityContext,指定用戶身份進行EWS調用操作

3.枚舉郵箱用戶列表

我在之前的文章《滲透技巧——獲得Exchange GlobalAddressList的方法》提到過:“Exchange GlobalAddressList(全局地址列表)包含Exchange組織中所有郵箱用戶的郵件地址,只要獲得Exchange組織內任一郵箱用戶的憑據,就能夠通過GlobalAddressList導出其他郵箱用戶的郵件地址。”

這里也是可以進行利用的,我們只需要使用FindPeople操作,做一個遍歷并進行結果去重即可

實現細節可以參考之前開源的腳本:https://github.com/3gstudent/Homework-of-Python/blob/master/ewsManage.py【學習資料】

4.默認郵箱用戶

為了讀取Exchange GlobalAddressList(全局地址列表),我們需要獲得Exchange組織內任一郵箱用戶的憑據,對應到這個漏洞,我們僅僅需要郵箱用戶名稱

Exchange中默認存在以下四個用戶可供使用:

?SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}

?SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}

?SystemMailbox{D0E409A0-AF9B-4720-92FE-AAC869B0D201}(Exchange 2016 CU8 and later)

?SystemMailbox{2CE34405-31BE-455D-89D7-A7C7DA7A0DAA}(Exchange 2016 CU8 and later)

小結

CVE-2021-34473作為ProxyShell攻擊鏈的基礎,驗證簡單,危害巨大。站在防御的角度,建議用戶盡快更新補丁。

有需要網絡安全相關資料的朋友可以關注私信我哦!!!

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的ProxyShell利用分析1——CVE-2021-34473的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。