展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 软件教程 > CVE-2020-0601漏洞分析与学习笔记

CVE-2020-0601漏洞分析与学习笔记

本文作者:jack.zhou(TimelineSec交流群成员)本文共2076字,预计阅读时间为6到7分钟。声明:本文内容仅供学习研究,不得用于非法途径,违者后果自负。0x01简介对于未接触过公钥签名信任体系的读者,可能难以理解此漏洞。我们先不讨论具体的算法和PKI公钥体系,简单介绍一下证书信任关系的建立。在现实生活中,人与人之间、公司与公司之间的信任关系最初是不存在的。信任通常是通过相互认识和交往建立起来的,但这种方法的缺陷在于一个人或公司不可能认识所有其他人和公司。那么,如何在不认识的人或公司之间

本文目录

    本文作者:jack.zhou(Timeline Sec交流群成员)

    本文共2076字,预计阅读时间为6到7分钟。

    声明:本文内容仅供学习研究,不得用于非法途径,违者后果自负。

    0x01 简介

    对于未接触过公钥签名信任体系的读者,可能难以理解此漏洞。我们先不讨论具体的算法和PKI公钥体系,简单介绍一下证书信任关系的建立。

    在现实生活中,人与人之间、公司与公司之间的信任关系最初是不存在的。信任通常是通过相互认识和交往建立起来的,但这种方法的缺陷在于一个人或公司不可能认识所有其他人和公司。那么,如何在不认识的人或公司之间建立信任关系呢?中心化信任体系是目前较为常见的方法,例如通过双方都信任的第三方人或公司来介绍并建立信任。

    在数字世界中,CA证书扮演了这一第三方角色。当一个受信任的CA证书签署的文件,系统可以放心地使用该文件;当服务器向客户端提供的证书是由客户端信任的CA证书签发的,客户端便会信任该服务器并与其建立连接。下图展示了一个不受信任CA签发的证书的网站,访问时浏览器会提示异常。这种网站网络上较为常见,建议大家在访问时谨慎小心,不要忽视浏览器的提示,避免直接访问。

    如下图所示:

    CVE-2020-0601:微软核心加密库漏洞学习心得

    接下来,操作系统如何确认一个CA证书是可信任的呢?在应用软件或操作系统中,都有一个信用证书列表,里面保存着世界上公认的权威CA机构发布的CA证书。同样,浏览器中也有证书管理列表,如下图所示。

    CVE-2020-0601:微软核心加密库漏洞学习心得

    因此,当应用软件或系统验证文件或服务器证书的签名时,如果签名的CA证书在这个列表中,软件或系统就会选择信任该文件或服务器。大多数浏览器的信用列表中包含这些权威CA证书,所以如果服务器拥有由权威CA证书签发的证书,我们的浏览器可以放心访问,比如访问百度。

    CVE-2020-0601:微软核心加密库漏洞学习心得CVE-2020-0601:微软核心加密库漏洞学习心得

    0x02 漏洞概述

    受CVE-2020-0601漏洞影响的系统,在验证证书签名时,查找受信任CA证书时会出现错误。伪造的ECC CA证书可能被误认为是可信任的,导致该伪造证书签署的文件被系统信任。例如,在Windows 10中,证书MicrosoftECCProductRootCertificateAuthority.pem在受信任的证书列表中。我们利用漏洞,通过算法公式生成一个与该证书具有相同公钥和曲线参数,但基点G不同的证书spoofed.pem。操作系统在验证签名时会将spoofed.pem证书误认为是信任列表中的MicrosoftECCProductRootCertificateAuthority.pem证书,因此spoofed.pem签署的文件也会被系统信任。

    0x03 影响版本

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

    0x04 环境搭建

    Windows 10

    0x05 漏洞复现

    第一类应用是文件签名部分,平时工作中使用较少,基础部分已有介绍,此处不赘述细节。

    第二类应用是SSL/TLS,这是我平时工作相关且感兴趣的部分,下面详细操作一下。

    1、在Windows 10开始菜单中输入certmgr,并打开。

    2、在证书信任列表中找到ECC证书MicrosoftECCProductRootCertificateAuthority(理论上其他受信任的ECC证书也可以),并导出。

    CVE-2020-0601:微软核心加密库漏洞学习心得CVE-2020-0601:微软核心加密库漏洞学习心得

    3、将导出的证书传输到自己的Kali Linux系统中,同时下载PoC程序。下载地址:

    https://github.com/ollypwn/CurveBall

    CVE-2020-0601:微软核心加密库漏洞学习心得

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

    CVE-2020-0601:微软核心加密库漏洞学习心得

    对比一下证书和生成的私钥文件内容可以更好地理解。

    ECC证书中的公钥信息:

    CVE-2020-0601:微软核心加密库漏洞学习心得

    生成的私钥文件:

    CVE-2020-0601:微软核心加密库漏洞学习心得CVE-2020-0601:微软核心加密库漏洞学习心得

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

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

    CVE-2020-0601:微软核心加密库漏洞学习心得

    下级证书的私钥可以随意。

    CVE-2020-0601:微软核心加密库漏洞学习心得

    6、将生成的下级证书cert.crt,其私钥文件cert.key和我们的CA文件spoofed_ca.crt一起放到HTTP服务器上,配置启用SSL。这里使用的是CentOS系统中的Apache,其他服务器软件应该也适用。此步骤较为简单,此处不详细说明。

    7、在Windows 10的hosts文件中添加配置,将自己服务器地址和域名配对。

    CVE-2020-0601:微软核心加密库漏洞学习心得

    这个操作的作用大家都明白,有条件的可以自己搭建DNS服务器来实现。

    8、使用Windows 10的Microsoft Edge浏览器访问我们的HTTP服务器,记得使用HTTPS访问。

    CVE-2020-0601:微软核心加密库漏洞学习心得

    我们的私下搭建的服务器成功欺骗了系统的浏览器,使其认为我们的服务器上的证书是由系统信任的MicrosoftECCProductRootCertificateAuthority签发的,因此信任该服务器站点。如果用户不仔细查看证书,可能误以为这就是Google的网站,因为浏览器没有报警提示服务器使用的是不可信证书,存在被攻击的风险。

    第三类应用是中间人攻击。提一点思路,当大家使用Burp Suite代理访问网站时,实际上就是一种中间人方式。只不过Burp是自己架设的,默认了其行为。如果是攻击者在中间,那就非常危险。

    HTTPS能够较好地缓解中间人攻击,因为中间人没有服务器的证书,即便中间人伪造了服务器证书,也很难获取到权威CA证书来签发。因此当浏览器提示CA证书无效时,就有可能存在中间人攻击。例如,我们使用Burp代理访问HTTPS网站时,浏览器一般都会提示异常,查看证书可以发现是Burp提供的证书,而非网站自身的证书。当Burp上导入我们上面伪造的spoofed_ca.crt证书时,相信在漏洞的影响下,浏览器将不会提示异常。这将极大地增强中间人攻击的效果。

    0x05 修复方式

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

    参考链接:

    https://news.ycombinator.com/item?id=22048619

    https://github.com/ollypwn/CurveBall

    https://www.freebuf.com/vuls/225524.html

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程 数据分析
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。