您好,登錄后才能下訂單哦!
如何在MicrosoftExchange上冒充用戶,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
今天,我們一起看一看攻擊者(未經身份驗證的用戶)如何利用這個Exchange漏洞來在Exchange服務器上冒充合法用戶并進行惡意操作。
那么接下來我們直奔主題,我們將給大家詳細分析這個服務器端請求偽造(SSRF)漏洞,并演示攻擊者如何偽裝成合法用戶。
在實施攻擊的過程中,攻擊者需要利用一個SSRF漏洞并結合其他安全缺陷來實現身份偽裝。Exchange允許任意用戶指定URL地址來實現訂閱推送,而服務器會直接嘗試向這個URL地址發送通知。漏洞之所以存在,是因為Exchange服務器使用了CredentialCache.DefaultCredentials來進行網絡連接:
在Exchange Web服務中,CredentialCache.DefaultCredentials是以NT AUTHORITY\SYSTEM權限運行的。這將導致Exchange服務器向攻擊者的服務器發送NTLM哈希。Exchange服務器還會默認設置下列注冊表鍵:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck= 1
此時,攻擊者將能夠使用這些NTLM哈希來進行HTTP身份驗證。比如說,他們可以使用這些哈希來訪問Exchange Web服務(EWS)。因為它是以NT AUTHORITY\SYSTEM權限運行的,攻擊者就可以利用TokenSerializationRight獲取到特權“會話”,并使用一個SOAP頭來冒充特定用戶。
下面給出的SOAP頭樣本中,攻擊者使用了SID(S-1-5-21-4187549019-2363330540-1546371449-500)來偽裝成管理員用戶:
為了方便演示,我們使用了下面這兩個Python腳本:
1、 serverHTTP_relayNTLM.py:它可以從入站連接中獲取NTLM哈希,并將其用于EWS身份驗證。
2、 Exch_EWS_pushSubscribe.py:讓PushSubscription調用我們的serverHTTP_relayNTLM.py。
腳本下載地址:【傳送門】(還需Python-ntlm模塊)
首先,我們需要獲取到目標用戶的SID,大致方法如下:
1、 以認證用戶的身份登錄OWA:
2、 接下來,創建新的文件夾,我們這里使用“tempFold”。點擊下拉菜單中的“Permissions”:
3、 添加需要冒充的用戶電子郵件地址,這里我們使用victim@contoso.local:
4、 按下F12鍵,選擇“Network”標簽,然后再次點擊新創建文件夾下拉菜單中的“Permissions”:
5、 我們需要檢查第一個service.svc?action=GetFolder請求返回的響應,查看方法:
Body->ResponseMessages->Items->0->Folders->0->PermissionSet->Permissions->N->UserId->SID
樣本中的N為2,但是你可以根據你自己的情況來選擇正確的。PrimarySmtpAddress為目標用戶的郵件地址,如果響應中不包含PermissionSet參數,我們就需要查看另一個service.svc?action=GetFolder請求了:
6、 我們選擇使用serverHTTP_relayNTLM.py中的SID來進行操作,我們還需要選擇一個沒有被屏蔽的TCP端口來轉發Exchange服務器上的出站連接。比如說,TCP端口8080可用的話。
接下來,使用真實信息修改serverHTTP_relayNTLM.py:
設置好正確的腳本變量后,我們就可以開始了:
7、 下一步就是設置Exch_EWS_pssushSubscribe.py腳本中的變量了:
完成后,我們就可以執行腳本了:
8、 最后一步,我們需要利用事件觸發機制來推送通知。我們可以進行類似創建和發送新郵件,或者刪除新創建的文件夾來實現:
成功后,我們的serverHTTP_relayNTLM.py就可以從Exchange服務器那里收到入站連接了:
攻擊成功后,我們將在響應中看到UpdateInboxRulesResponse ResponseClass="Success"。這也就意味著,入站規則已經成功添加進目標用戶的郵箱了,所有的入站郵件都會被轉發給攻擊者。
接下來,我們需要測試這個新規則。我們需要利用任意郵箱賬號來給目標用戶發送一封郵件,但不要用我們新添加的規則(attacker@contoso.local),因為如果轉發地址和目的地址相同的話規則就無效了。現在,登錄管理員賬號,發送某些信息給目標用戶:
檢查攻擊者的收件箱,我們就可以看到這封郵件了:
看完上述內容,你們掌握如何在MicrosoftExchange上冒充用戶的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。