关于CVE-2020-1464的事情

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

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

  • 微软获知问题但734天才发布补丁
  • 已知该漏洞在野外被利用
  • 利用漏洞可以安装任意恶意代码
  • 影响Microsoft Windows所有主要版本

受影响的系统版本

基本覆盖全部版本

  • 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)

漏洞利用

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

大致利用过程如下:

mysql如何进行漏洞升级 mysql5.1漏洞_安装程序检测到无法验证文件的发行者

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

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

mysql如何进行漏洞升级 mysql5.1漏洞_无法验证驱动程序的签名_02

2.准备自己的恶意代码

mysql如何进行漏洞升级 mysql5.1漏洞_windows操作系统原理_03

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

mysql如何进行漏洞升级 mysql5.1漏洞_windows mysql5.6 驱动包_04

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

mysql如何进行漏洞升级 mysql5.1漏洞_windows操作系统原理_05

待运行后即可启动后门

mysql如何进行漏洞升级 mysql5.1漏洞_windows操作系统原理_06

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