Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
CVE-2020-0601:微软核心加密库漏洞学习心得_创想鸟

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

本文作者: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://www.php.cn/link/2947f6c206cc56866a88cc47130625d7

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://www.php.cn/link/465c005d04204f859d0080c915f744b3

https://www.php.cn/link/2947f6c206cc56866a88cc47130625d7

https://www.php.cn/link/0f47d8af9d0abe580c26d8551f4071f1

以上就是CVE-2020-0601:微软核心加密库漏洞学习心得的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/105136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
使用 Mono.error 进行 WebClient 异常处理单元测试
上一篇 2025年11月22日 00:32:01
linux中进入目录命令是什么
下一篇 2025年11月22日 00:36:15

相关推荐

  • 神马搜索App用户反馈处理教程_神马搜索App问题解决技巧

    首先通过App内“帮助与反馈”提交问题,其次针对负面信息访问官网进行侵权投诉,最后定期清理缓存以解决卡顿或显示异常问题。 如果您在使用神马搜索App时遇到问题或希望反馈体验,可以通过官方渠道提交信息以获得处理。以下是针对不同问题的解决步骤: 本文运行环境:iPhone 15 Pro,iOS 18 一…

    2026年9月22日
    000
  • 悟空浏览器下载速度慢怎么解决_悟空浏览器下载速度慢提升技巧

    下载慢可优化缓存、网络、后台、多线程及版本。1、清理缓存与数据;2、检查Wi-Fi并优化信号;3、关闭后台应用释放资源;4、开启多线程加速下载;5、更新浏览器至最新版本。 如果您在使用悟空浏览器下载文件时遇到速度缓慢的情况,这可能是由于网络连接不稳定、浏览器缓存堆积或后台资源被大量占用所致。优化相关…

    2026年9月22日
    600
  • 常见分布式任务调度工具浅析

    一、背景 在日常业务中,经常会遇到需要在特定时间执行任务或周期性执行任务的需求。这些任务通常被归类为定时任务。为了满足这种需求,各种任务调度框架应运而生,如Timer、ScheduledThreadPoolExecutor(没错,它也可以用于定时任务)、Quartz等。然而,随着分布式和微服务的发展…

    2026年9月22日
    100
  • win11平板模式无法自动切换怎么办_win11平板模式自动切换异常修复方法

    首先检查设备形态和设置,确保键盘分离或屏幕翻转到位,并在“平板电脑”设置中启用自动切换;若无效,重启Windows资源管理器、更新传感器驱动或重装感应式旋转锁驱动;最后通过sfc /scannow命令修复系统文件,恢复平板模式自动切换功能。 如果您发现Windows 11的平板模式无法根据设备形态自…

    2026年9月22日
    100
  • Canva中AI生成图片如何导出?教你快速保存设计作品的方法

    答案:Canva中导出AI生成图片的操作与普通图片相同,点击右上角“分享”按钮,选择“下载”,可选PNG、JPG、PDF、SVG、MP4或GIF等格式;为保证画质,建议优先选用PNG格式,避免有损压缩,同时选择高分辨率和合适尺寸,Pro用户可进一步调整质量与透明背景设置;除下载外,还可通过分享链接、…

    2026年9月22日
    800
  • windows怎么用命令行删除顽固文件_命令行删除顽固文件的方法

    使用命令行可强制删除顽固文件,先以管理员身份运行cmd或PowerShell,通过del /f /q或Remove-Item -Force命令删除文件,若被占用则用taskkill终止进程,或进入安全模式删除,也可用rd /s /q删除整个目录。 如果您尝试删除某个文件时,发现资源管理器无法完成操作…

    2026年9月22日
    200
  • VSCode安全更新机制解析

    VSCode通过自动检查、数字签名验证和用户可控策略确保更新安全。启动时后台定期HTTPS请求检查新版本,每日一次;安装包经平台特定签名(Windows Authenticode、macOS代码签名、Linux GPG)验证完整性;用户可选自动更新、提示或关闭,企业可集中管控;微软通过安全入口响应漏…

    2026年9月22日
    000
  • Linux系统中文件属性和权限实战操作

    Linux系统中文件属性和权限实战操作Linux系统中文件属性和权限实战操作Linux系统中文件属性和权限实战操作Linux系统中文件属性和权限实战操作

    —–原本今天的文章是昨天晚上就要更新的,但是由于昨天晚上下班回到住的地方,发现停电了,所以就没写成。今天是在上一篇文章–linux系统中文件类型的基础上,继续进行深入的学习。好了,直接开干。 一、文件的操作权限: 1、在这之前我想还是很有必要介绍对文件的操作权限(…

    2026年9月22日 用户投稿
    000
  • Inkscape如何导出AI生成的矢量图片?教你快速保存图像的步骤

    答案:在Inkscape中导出矢量图需根据用途选择格式,网页用优化SVG并转文本为路径,印刷则导出为PDF/EPS、转文字为路径、确保高分辨率位图,同时注意颜色模式与出血设置。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 在Inkscap…

    2026年9月22日
    700
  • Laravel 8 登录后重定向至仪表盘的策略与实践

    本教程详细阐述了在 Laravel 8 中实现用户登录后重定向到仪表盘的多种策略。我们将探讨如何通过配置 LoginController 的 $redirectTo 属性、利用 RouteServiceProvider 定义常量以及在自定义登录方法中进行精确控制来管理重定向流程。文章还涵盖了相关中间…

    2026年9月22日
    000
  • 如何在iPhone情侣模式中启用视频通话?快速连接彼此的设置方法

    如何在iPhone情侣模式中启用视频通话?快速连接彼此的设置方法如何在iPhone情侣模式中启用视频通话?快速连接彼此的设置方法如何在iPhone情侣模式中启用视频通话?快速连接彼此的设置方法如何在iPhone情侣模式中启用视频通话?快速连接彼此的设置方法

    iPhone虽无官方“情侣模式”,但可通过FaceTime或微信、WhatsApp等第三方应用实现高质量视频通话。首选FaceTime,操作便捷、画质清晰,支持SharePlay共享影音,仅限苹果设备;跨平台可选微信、WhatsApp等,注重隐私可用Telegram。优化体验需稳定网络、良好光线与背…

    2026年9月22日 用户投稿
    200
  • windows8怎么更改锁屏界面的图片_windows8修改锁屏壁纸的方法

    1、可通过“电脑设置”或“控制面板”更换Windows 8.1锁屏图片;2、在“个性化”中选择“锁屏”并浏览自定义图像完成设置。 如果您希望个性化您的Windows 8设备,更改锁屏界面的图片是一个简单而有效的方法。系统提供了多种途径来设置您喜欢的图像作为锁屏背景。 本文运行环境:Surface P…

    2026年9月22日
    000
  • VSCode配置GDB调试器 深入掌握VSCode调试C程序技巧

    配置vscode中gdb调试c程序的核心是正确设置tasks.json和launch.json;2. tasks.json负责使用gcc -g编译生成带调试信息的可执行文件,确保prelaunchtask与launch.json中的program路径一致;3. launch.json指定调试器gdb…

    2026年9月22日
    100
  • 抖音怎么打开流量开关?抖音怎样才有流量扶持

    在如今的短视频时代,抖音已成为许多用户展示自我、吸引粉丝的重要平台。为了帮助创作者获得更多曝光机会,抖音推出了流量扶持机制。掌握如何开启流量开关,将有助于提升作品的推荐概率,从而吸引更多观众关注。 一、了解抖音流量开关的作用 抖音流量开关是平台为优质内容创作者提供的一项功能。当创作者开启该功能后,其…

    2026年9月22日
    600
  • VSCode如何通过扩展实现Markdown预览 VSCode Markdown预览功能的配置方法

    安装“markdown all in one”或“markdown preview enhanced”等扩展;2. 安装后通过ctrl+shift+v打开预览;3. 在设置中配置预览样式、主题、字体等;4. 启用“auto show preview to side”实现自动预览;5. 开启“scro…

    2026年9月22日
    000
  • 谷歌浏览器安卓版如何清除数据_安卓版Chrome应用数据清理方法

    首先清除浏览数据可解决谷歌浏览器页面加载慢、自动填充错误等问题。通过Chrome设置菜单可一次性清除指定时间范围内的历史记录、Cookie及缓存;针对特定网站问题,可仅清除该站点的数据以保留其他登录状态;若问题严重,可通过手机系统设置中的应用管理清除Chrome的缓存或全部数据,以重置应用状态。 如…

    2026年9月22日
    000
  • 如何在Linux命令行中进行文件查找?

    最常用Linux查找文件方法是使用find命令。按名称搜索用-name选项,如find . -name “*.log”;忽略大小写用-iname;按类型查用-type f(文件)或d(目录);按大小查用-size,如+100M表示大于100MB;按修改时间用-mtime,-7…

    2026年9月22日
    000
  • PHP如何利用缓存优化实时输出_PHP实时输出与缓存结合优化

    PHP实时输出需结合输出缓冲控制与flush()强制推送,同时考虑服务器和浏览器缓存影响;2. 长时间任务应使用APCu或Redis缓存频繁数据,避免重复计算;3. 动态页面可采用分块输出与片段缓存策略,静态内容从缓存读取,动态部分边生成边输出;4. 更优方案是通过异步任务与Redis存储进度,前端…

    2026年9月22日
    000
  • 华为天际通Go将支持eSIM:设备在路上了

    华为天际通Go将支持eSIM:设备在路上了华为天际通Go将支持eSIM:设备在路上了华为天际通Go将支持eSIM:设备在路上了华为天际通Go将支持eSIM:设备在路上了

    9月3日消息,今年的iphone 17 air将仅支持esim,彻底移除实体sim卡槽结构。随着新品发布日期的临近,国内esim政策的进展也愈发引人关注。 然而综合多方信息来看,iPhone 17 Air国行版本可能无法赶上首发,因前期在国内无法使用eSIM服务,导致该机型短期内难以在国内上市。 相…

    2026年9月22日 用户投稿
    000
  • ThinkPad电脑黑屏无显示如何解决?商务本常见问题修复教程

    ThinkPad黑屏但风扇转时,先做强制断电放电,再接外显测试;若有显示则为屏幕或排线问题,否则查内存、显卡等内部硬件,逐步深入排查可定位故障。 ThinkPad电脑突然黑屏无显示,这事儿搁谁身上都挺糟心的,尤其是那些把笔记本当命根子的商务人士。别慌,经验告诉我,很多时候它没你想的那么严重,往往是一…

    2026年9月22日
    000

发表回复

登录后才能评论
关注微信