Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2020-1971 — 针对CVE-2020-1971(OpenSSL空指针解引用)的自动扫描和远程漏洞利用脚本。包含修补后的OpenSSL 1.1.1i源代码以及适用于Linux和Windows的安装/更新脚本。 | Kitploit
工具/GitHubGitHub/honeyvig/cve-2020-1971
漏洞扫描器漏洞分析漏洞利用密码学
GitHubhoneyvig/cve-2020-1971

CVE-2020-1971

针对CVE-2020-1971(OpenSSL空指针解引用)的自动扫描和远程漏洞利用脚本。包含修补后的OpenSSL 1.1.1i源代码以及适用于Linux和Windows的安装/更新脚本。

查看仓库
7个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2020-1971

CVE-2020-1971 自动扫描与远程漏洞利用脚本。本地自动扫描与修补脚本。

开发中

  • 已修补的 OpenSSL 1.1.1i 源代码
  • 从源码安装/更新 .deb 脚本 开发中 下午5:38 已完成 下午5:50
  • 从源码安装/更新(Windows) 开发中 下午6:06 已完成 下午6:40
  • 自解压 EXE 下载地址: 32位/64位
  • 自动扫描漏洞/远程利用脚本(本地)
  • 自动扫描漏洞/远程利用脚本(远程)

2020年12月9日

下午5:03

我正在开发脚本,希望今晚能全部完成。目前此仓库仅包含修补后的 OpenSSL 1.1.1i 源代码。我正在编写安装/更新补丁脚本。


下午5:50

已上传 Debian/Ubuntu Linux 安装脚本。安装说明请见“Linux 安装”


下午6:40

  1. 从源码安装 Windows 的说明见从源码安装 Windows
  2. 已上传 32/64 位自安装程序 下载地址: 32位/64位

漏洞描述

X.509 GeneralName 类型是一种通用类型,用于表示不同类型的名称。其中一种名称类型称为 EDIPartyName。OpenSSL 提供了一个函数 GENERAL_NAME_cmp,用于比较两个 GENERAL_NAME 实例是否相等。当两个 GENERAL_NAME 都包含 EDIPARTYNAME 时,该函数的行为不正确。可能发生空指针解引用和崩溃,导致拒绝服务攻击。

OpenSSL 自身在两个用途中使用 GENERAL_NAME_cmp 函数

  1. 比较可用的 CRL 与嵌入在 X509 证书中的 CRL 分发点名称

  2. 验证时间戳响应令牌签名者是否与时间戳机构名称匹配(通过 API 函数 TS_RESP_verify_response 和 TS_RESP_verify_token 暴露)

如果攻击者能够控制被比较的两个项目,则可能触发崩溃。例如,攻击者可以诱使客户端或服务器检查恶意证书与恶意 CRL,从而触发此问题。

请注意,某些应用程序会根据证书中嵌入的 URL 自动下载 CRL。此检查在验证证书和 CRL 的签名之前进行。OpenSSL 的 s_server、s_client 和 verify 工具支持 "-crl_download" 选项,该选项实现自动 CRL 下载,并且已验证此攻击可针对这些工具起作用。

另外,一个不相关的错误导致受影响版本的 OpenSSL 无法解析或构造正确的 EDIPARTYNAME 编码。然而,可以构造 OpenSSL 解析器会接受的畸形 EDIPARTYNAME,从而触发此攻击。

所有 OpenSSL 1.1.1 和 1.0.2 版本均受此问题影响。其他 OpenSSL 版本已停止支持,未经过检查。已在 OpenSSL 1.1.1i(受影响版本 1.1.1-1.1.1h)和 OpenSSL 1.0.2x(受影响版本 1.0.2-1.0.2w)中修复。


Linux 安装

root@kitploit:~
sudo chmod +x Linux_Patched_Install_From_Source_Script

运行:

root@kitploit:~
sudo ./Linux_Patched_Install_From_Source_Script

从源码安装 Windows

“本机”OpenSSL 在运行时直接使用 Windows API。 要构建本机 OpenSSL,可以使用:

Microsoft Visual C++ (MSVC) C 编译器(命令行)

或

MinGW 交叉编译器 在类 GNU 开发环境 MSYS2 中运行 或在 Linux 或 Cygwin 中运行

“托管”OpenSSL 在构建(使用 GNU/Unix shell、编译器和工具)和运行时依赖外部 POSIX 兼容层。 为此选项,您可以使用 Cygwin。

Visual C++ 本机构建,即 VC-*

需求详情

除了 INSTALL.md 中列出的要求和说明外,还需要以下内容:

  • Perl。 Strawberry Perl,可从 http://strawberryperl.com/ 获取 请阅读 NOTES.PERL 了解更多信息,包括 CPAN 的使用。 另一个选择是 ActiveState Perl,https://www.activestate.com/ActivePerl 您可能需要显式构建 Perl 模块 Win32/Console.pm,通过 https://platform.activestate.com/ActiveState 下载。

  • Microsoft Visual C 编译器。

  • Netwide Assembler (NASM),可从 https://www.nasm.us 获取 注意:NASM 是唯一支持的汇编器。

快速开始

  1. 安装 Perl

  2. 安装 NASM

  3. 确保 Perl 和 NASM 都在 %PATH% 中

  4. 使用管理员权限打开 Visual Studio 开发者命令提示符,根据目标架构选择相应变体。 或运行 "cmd" 并执行 "vcvarsall.bat",参数为 x86、x86_amd64、x86_arm、x86_arm64、amd64、amd64_x86、amd64_arm 或 amd64_arm64 之一。 这将设置 nmake.exe、cl.exe 等所需的环境变量。 另请参阅 https://docs.microsoft.com/cpp/build/building-on-the-command-line

  5. 在 OpenSSL 源码目录的根目录下运行 perl Configure VC-WIN32 (如果需要 32 位 OpenSSL)或 perl Configure VC-WIN64A (如果需要 64 位 OpenSSL)或 perl Configure (让 Configure 自动识别平台)

  6. nmake

  7. nmake test

  8. nmake install

完整的安装说明,或如果在任何阶段出现问题,请查阅 INSTALL.md 文件。

安装目录

默认安装目录由环境变量派生。

对于 VC-WIN32,默认值为:

root@kitploit:~
PREFIX:      %ProgramFiles(86)%\OpenSSL
OPENSSLDIR:  %CommonProgramFiles(86)%\SSL

对于 VC-WIN64,默认值为:

root@kitploit:~
PREFIX:      %ProgramW6432%\OpenSSL
OPENSSLDIR:  %CommonProgramW6432%\SSL

如果这些环境变量不存在(例如在纯 Win32 安装中),将使用以下回退值:

root@kitploit:~
PREFIX:      %ProgramFiles%\OpenSSL
OPENSSLDIR:  %CommonProgramFiles%\SSL

另请注意,这些目录通常是写保护的,即使您的帐户在 Administrators 组中。为了解决这个问题,请右键单击命令提示符并选择“以管理员身份运行”,然后运行 'nmake install'。另一种解决方案是在配置时使用 --prefix 和 --openssldir 选择不同的目录集。

通用 Windows 平台编译的特殊说明,即 VC-*-UWP

  • UWP 目标仅支持构建静态库和动态库。

  • 在编译之前,您应通过 "vcvarsall.bat" 将平台类型定义为 "uwp" 并指定目标架构。例如,如果要构建 "arm64" 版本,应运行 "vcvarsall.bat x86_arm64 uwp"。


参考文献

参考文献仅供读者参考,以帮助区分漏洞。

https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=2154ab83e14ede338d2ede9bbe5cdfce5d5a6c9eURL

https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=2154ab83e14ede338d2ede9bbe5cdfce5d5a6c9eCONFIRM

https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=f960d81215ebf3f65e03d4d5d857fb9b666d6920URL

https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=f960d81215ebf3f65e03d4d5d857fb9b666d6920CONFIRM

https://www.openssl.org/news/secadv/20201208.txtURL:https://www.openssl.org/news/secadv/20201208.txtDEBIAN:DSA-4807URL

https://www.debian.org/security/2020/dsa-4807FREEBSD:FreeBSD-SA-20:33URL

https://security.FreeBSD.org/advisories/FreeBSD-SA-20:33.openssl.asc


下载工具