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文件的附加数据进校验
大致利用过程如下:
通过创建恶意文件jar,这里需要独立说为什么建议JAR文件,由于jar文件运行中通过单个请求即可完成整个应用程序部署,且JAR文件格式基于ZIP来存储不同组件和资源,并通过目录记录,方便文件归档时将添加新文件在末尾,此外在Windows系统上运行JAR文件时会默认文件关联,便自动运行java -jar,相对绑定程序就一起运行了.在windows更方便操作触发.运行简单命令即可完成此类操作.此类操作可以轻而易举伪造各种知名软件.当然这里我只演示JAR,其实发挥空间很大看各位大佬们的发挥如图所示
1. 准备一个正常签名MSI,此操作系统自寻
轻松伪造任意知名软件签名,针对现在补丁刚出,还是建议各位打好补丁.经过测试特别是目前部分防护软件是还没更新此类防护策略.
待运行后即可启动后门
最近各位师傅们发布的各种JAR工具这么多,利用此漏洞做应该能做很多事情.^_^
本文作者:legend
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/138999.html