Windows文件签名验证绕过漏洞(CVE-2020-1464)漏洞利用

2020-08-20 10,883

0x01关于CVE-2020-1464的事情

Microsoft的Authenticode数字签名软件包中的一个漏洞。Authenticode是一种代码签名技术,旨在识别软件发行者,同时还禁止篡改软件包。Authenticode技术的运行方式与数字证书非常相似-“软件发布者在驱动程序或驱动程序包上签名,并用数字证书进行标记,该数字证书可以验证发布者的身份,并且还为代码提供验证数字证书的能力,主要是通过防止安装经过更改或未正确签名的软件包来进行的。

此漏洞与Microsoft允许在不使Authenticode签名无效的情况下将内容附加到Windows MSI包的末尾有关。攻击者利用这种行为来添加自己的恶意代码,例如可以直接执行的JAR文件。由于许多操作系统和安全产品都依靠签名来决定是否信任文件,因此,攻击者插入的恶意代码将是可信任的,因为它是已签名程序包的一部分。

 

  • 通知微软后734天发布补丁

  • 已知该漏洞是在野外被利用的

  • 利用漏洞可以安装任意恶意代码

  • 影响Microsoft Windows的所有主要版本

0x02受影响的系统版本

基本覆盖全部版本

  • Windows 7

  • Windows 8.1

  • Windows 10

  • Windows Server 2008

  • Windows Server 2012

  • Windows Server 2016

  • Windows Server 2019

可以在此处获得完整系统列表

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-1464

0x03漏洞利用

漏洞原理为Windows在验证.MSI文件的数字签名时未对MSI文件的附加数据进校验

大致利用过程如下:

image.png 

通过创建恶意文件jar,这里需要独立说为什么建议JAR文件,由于jar文件运行中通过单个请求即可完成整个应用程序部署,且JAR文件格式基于ZIP来存储不同组件和资源,并通过目录记录,方便文件归档时将添加新文件在末尾,此外在Windows系统上运行JAR文件时会默认文件关联,便自动运行java -jar,相对绑定程序就一起运行了.在windows更方便操作触发.运行简单命令即可完成此类操作.此类操作可以轻而易举伪造各种知名软件.当然这里我只演示JAR,其实发挥空间很大看各位大佬们的发挥如图所示

1. 准备一个正常签名MSI,此操作系统自寻

image.png 

2. 准备自己的恶意代码

image.png 

3. 通过常见命令将文件合并在一起

image.png 

轻松伪造任意知名软件签名,针对现在补丁刚出,还是建议各位打好补丁.经过测试特别是目前部分防护软件是还没更新此类防护策略.

image.png 

待运行后即可启动后门

image.png 

最近各位师傅们发布的各种JAR工具这么多,利用此漏洞做应该能做很多事情.^_^


本文作者:legend

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/138999.html

Tags:
评论  (0)
快来写下你的想法吧!

legend

文章数:14 积分: 82

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号