《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > ProxyShell利用分析1——CVE-2021-34473

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

2021-08-28
來源:嘶吼專業版
關鍵詞: ProxyShell

  0x00 前言

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

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

  0x01 簡介

  本文將要介紹以下內容:

  調試環境搭建

  漏洞分析

  利用思路

  0x02 調試環境搭建

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

  設置環境變量COMPLUS_ZapDisable=1

  重啟系統

  2.查看Exchange中對應的進程

  執行命令:

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

  3.使用dnSpy進行調試

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

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

  0x03 漏洞調試

  使用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

  0x04 漏洞分析

  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)

  參考資料:

  https://docs.microsoft.com/en-us/exchange/architecture/mailbox-servers/recreate-arbitration-mailboxes?view=exchserver-2019

  0x05 小結

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




電子技術圖片.png

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 成人免费av一区二区三区 | 国产亚洲综合成人91精品| 国产成人精品男人免费 | 国产精品99久久久久久董美香| 国产真人无码作爱免费视频| 国产成人无码精品一区在线观看| 国产成人黄色在线观看| 国产尤物在线视精品在亚洲| 国产日韩在线亚洲字幕中文| 国产午夜无码精品免费看动漫 | 成年人毛片视频| 天天操天天爽天天射| 国产深夜福利在线观看网站| 午夜成人精品福利网站在线观看| 亚洲日韩av无码中文| 亚洲AV无码专区亚洲AV不卡 | 欧式午夜理伦三级在线观看| 色人阁在线视频| 男女下面的一进一出视频| 粗大的内捧猛烈进出视频| 爱福利极品盛宴| 欧美国产伦久久久久| 欧美成人怡红院在线观看| 欧美俄罗斯乱妇| 日本一卡精品视频免费| 怡红院一区二区在线观看| 国产高清一区二区三区| 在线观看精品国产福利片87| 在线观看亚洲一区| 强行被公侵犯奈奈美| 日本护士xxxx黑人巨大| 欧洲美熟女乱又伦免费视频| 极品粉嫩小泬白浆20p| 最近中文字幕高清2019中文字幕 | 欧美成人免费午夜影视| 欧美性猛交xxx黑人猛交| 波多野结衣制服诱惑| 欧美成人午夜做受视频| 最近2018中文字幕2019高清| 日本三级黄视频| 成人性开放大片|