如何在MicrosoftExchange上冒充用戶

如何在MicrosoftExchange上冒充用戶,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的城口網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

寫在前面的話

   今天,我們一起看一看攻擊者(未經(jīng)身份驗(yàn)證的用戶)如何利用這個(gè)Exchange漏洞來在Exchange服務(wù)器上冒充合法用戶并進(jìn)行惡意操作。

那么接下來我們直奔主題,我們將給大家詳細(xì)分析這個(gè)服務(wù)器端請求偽造(SSRF)漏洞,并演示攻擊者如何偽裝成合法用戶。

漏洞分析

在實(shí)施攻擊的過程中,攻擊者需要利用一個(gè)SSRF漏洞并結(jié)合其他安全缺陷來實(shí)現(xiàn)身份偽裝。Exchange允許任意用戶指定URL地址來實(shí)現(xiàn)訂閱推送,而服務(wù)器會直接嘗試向這個(gè)URL地址發(fā)送通知。漏洞之所以存在,是因?yàn)镋xchange服務(wù)器使用了CredentialCache.DefaultCredentials來進(jìn)行網(wǎng)絡(luò)連接:

如何在MicrosoftExchange上冒充用戶

在Exchange Web服務(wù)中,CredentialCache.DefaultCredentials是以NT AUTHORITY\SYSTEM權(quán)限運(yùn)行的。這將導(dǎo)致Exchange服務(wù)器向攻擊者的服務(wù)器發(fā)送NTLM哈希。Exchange服務(wù)器還會默認(rèn)設(shè)置下列注冊表鍵:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck= 1

此時(shí),攻擊者將能夠使用這些NTLM哈希來進(jìn)行HTTP身份驗(yàn)證。比如說,他們可以使用這些哈希來訪問Exchange Web服務(wù)(EWS)。因?yàn)樗且訬T AUTHORITY\SYSTEM權(quán)限運(yùn)行的,攻擊者就可以利用TokenSerializationRight獲取到特權(quán)“會話”,并使用一個(gè)SOAP頭來冒充特定用戶。

下面給出的SOAP頭樣本中,攻擊者使用了SID(S-1-5-21-4187549019-2363330540-1546371449-500)來偽裝成管理員用戶:

如何在MicrosoftExchange上冒充用戶

漏洞利用

為了方便演示,我們使用了下面這兩個(gè)Python腳本:

1、 serverHTTP_relayNTLM.py:它可以從入站連接中獲取NTLM哈希,并將其用于EWS身份驗(yàn)證。

2、 Exch_EWS_pushSubscribe.py:讓PushSubscription調(diào)用我們的serverHTTP_relayNTLM.py。

腳本下載地址:【傳送門】(還需Python-ntlm模塊)

首先,我們需要獲取到目標(biāo)用戶的SID,大致方法如下:

1、 以認(rèn)證用戶的身份登錄OWA:

如何在MicrosoftExchange上冒充用戶

2、 接下來,創(chuàng)建新的文件夾,我們這里使用“tempFold”。點(diǎn)擊下拉菜單中的“Permissions”:

如何在MicrosoftExchange上冒充用戶

3、 添加需要冒充的用戶電子郵件地址,這里我們使用victim@contoso.local:

如何在MicrosoftExchange上冒充用戶

4、 按下F12鍵,選擇“Network”標(biāo)簽,然后再次點(diǎn)擊新創(chuàng)建文件夾下拉菜單中的“Permissions”:

如何在MicrosoftExchange上冒充用戶

5、 我們需要檢查第一個(gè)service.svc?action=GetFolder請求返回的響應(yīng),查看方法:

Body->ResponseMessages->Items->0->Folders->0->PermissionSet->Permissions->N->UserId->SID

樣本中的N為2,但是你可以根據(jù)你自己的情況來選擇正確的。PrimarySmtpAddress為目標(biāo)用戶的郵件地址,如果響應(yīng)中不包含PermissionSet參數(shù),我們就需要查看另一個(gè)service.svc?action=GetFolder請求了:

如何在MicrosoftExchange上冒充用戶

6、 我們選擇使用serverHTTP_relayNTLM.py中的SID來進(jìn)行操作,我們還需要選擇一個(gè)沒有被屏蔽的TCP端口來轉(zhuǎn)發(fā)Exchange服務(wù)器上的出站連接。比如說,TCP端口8080可用的話。

接下來,使用真實(shí)信息修改serverHTTP_relayNTLM.py:

如何在MicrosoftExchange上冒充用戶

設(shè)置好正確的腳本變量后,我們就可以開始了:

如何在MicrosoftExchange上冒充用戶

7、 下一步就是設(shè)置Exch_EWS_pssushSubscribe.py腳本中的變量了:

如何在MicrosoftExchange上冒充用戶

完成后,我們就可以執(zhí)行腳本了:

如何在MicrosoftExchange上冒充用戶

8、 最后一步,我們需要利用事件觸發(fā)機(jī)制來推送通知。我們可以進(jìn)行類似創(chuàng)建和發(fā)送新郵件,或者刪除新創(chuàng)建的文件夾來實(shí)現(xiàn):


如何在MicrosoftExchange上冒充用戶

成功后,我們的serverHTTP_relayNTLM.py就可以從Exchange服務(wù)器那里收到入站連接了:

如何在MicrosoftExchange上冒充用戶

攻擊成功后,我們將在響應(yīng)中看到UpdateInboxRulesResponse ResponseClass="Success"。這也就意味著,入站規(guī)則已經(jīng)成功添加進(jìn)目標(biāo)用戶的郵箱了,所有的入站郵件都會被轉(zhuǎn)發(fā)給攻擊者。

接下來,我們需要測試這個(gè)新規(guī)則。我們需要利用任意郵箱賬號來給目標(biāo)用戶發(fā)送一封郵件,但不要用我們新添加的規(guī)則(attacker@contoso.local),因?yàn)槿绻D(zhuǎn)發(fā)地址和目的地址相同的話規(guī)則就無效了。現(xiàn)在,登錄管理員賬號,發(fā)送某些信息給目標(biāo)用戶:

如何在MicrosoftExchange上冒充用戶

檢查攻擊者的收件箱,我們就可以看到這封郵件了:

如何在MicrosoftExchange上冒充用戶

看完上述內(nèi)容,你們掌握如何在MicrosoftExchange上冒充用戶的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁名稱:如何在MicrosoftExchange上冒充用戶
網(wǎng)址分享:http://muchs.cn/article40/ihsoeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、App開發(fā)虛擬主機(jī)、服務(wù)器托管、搜索引擎優(yōu)化網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)