【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm)

这篇具有很好参考价值的文章主要介绍了【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概要:本次复现是针对编号为CVE-2004-2761的漏洞,由于条件有限,本次复现通过创建自签名证书进行操作。

问题描述:证书链中的 SSL 证书使用弱哈希算法进行签名。

1 环境搭建

本次复现环境在Linux平台下使用Nginx进行环境的搭建,通过Openssl组件生成自签名证书,并在Nginx配置文件中进行加载,最后使用Nussus社区版进行漏洞扫描测试。

类型 名称 版本
平台 Ubuntu 20.04.6 LTS
中间件 Nginx 1.18.0-0ubuntu1.4
证书工具 Openssl 1.1.1f-1ubuntu2.19
漏扫工具 Nessus社区版 10.5.4 (#13) LINUX
主机IP 172.30.103.52 /

1. 安装Nginx

sudo apt install nginx

安装好后访问地址:http://172.30.103.52,弹出Nginx欢迎页(如下图)即安装成功。
【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm),哈希算法,ssl,算法,网络安全,web安全,nginx
2. 安装openssl

sudo apt isntall opensll

安装完成后执行openssl version,弹出版本好即安装成功。
注意:这里我用的是1.1.1版本,在3.0.0以上的高版本并没有进行测试。高版本可能存在将一些弱密码配置的参数给删除的情况。

2 创建 SSL 证书

创建使用 sha1 散列的SSL证书
命令如下:

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt -sha1 -days 365

以下是此命令每个部分的作用的细分:

  • -openssl:这是用于创建和管理 OpenSSL 证书、密钥和其他文件的基本命令行工具。

  • -req:此子命令指定我们要使用X.509证书签名请求 (CSR) 管理。“X.509”是 SSL 和 TLS对其密钥和证书管理所遵循的公钥基础设施标准。我们想创建一个新的 X.509 证书,所以我们使用这个子命令。

  • -x509:这通过告诉实用程序我们要制作自签名证书而不是像通常发生的那样生成证书签名请求来进一步修改前一个子命令。

  • -nodes:这告诉 OpenSSL 跳过使用密码保护我们的证书的选项。当服务器启动时,我们需要 Nginx 能够在没有用户干预的情况下读取文件。密码可以防止这种情况发生,因为我们必须在每次重新启动后输入它。

  • -days 365:此选项设置证书被视为有效的时间长度。我们在这里设置了一年。

  • -newkey rsa:2048:这指定我们要同时生成新证书和新密钥。我们没有在上一步中创建签署证书所需的密钥,因此我们需要将其与证书一起创建。该rsa:2048部分告诉它制作一个2048
    位长的 RSA 密钥。

  • -keyout:这一行告诉 OpenSSL 在哪里放置我们正在创建的生成的私钥文件。

  • -out:这告诉 OpenSSL 在哪里放置我们正在创建的证书。

  • -sha1:指定一种单向加密算法,这里选的是sha1.

命令执行后,系统会询问您一些有关服务器的问题,以便将信息正确嵌入到证书中。

最重要的一行是请求Common Name (e.g. server FQDN or YOUR name). 需要输入与您的服务器相关联的域名。

由于我们是自签名证书做漏洞复现测试,这里为了方便我是直接回车。并没有详细填写。

整个提示将如下所示:

#这是表示组织所在国家的两个字母的代码。
Country Name (2 letter code) [AU]:US

#这是组织所在州或省的全名。
State or Province Name (full name) [Some-State]:New York

#这是组织所在的城市。
Locality Name (eg, city) []:New York City

#这是颁发证书的组织或公司的法律名称。
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc.

#此字段允许您指定组织内的特定部门或单元。
Organizational Unit Name (eg, section) []:Ministry of Water Slides

#这是将使用证书的服务器的完全限定域名(FQDN
Common Name (e.g. server FQDN or YOUR name) []:server_IP_address

#这是与负责服务器或证书的组织或个人相关的电子邮件地址。
Email Address []:admin@your_domain.com

输入完成后,创建的证书文件和私钥文件都将放置在该/etc/ssl目录的相应子目录中。
证书:/etc/ssl/certs/nginx-selfsigned.crt
私钥:/etc/ssl/private/nginx-selfsigned.key

3 配置 Nginx 以使用 SSL

1. 打开Nginx的默认配置文件。

sudo vim /etc/nginx/nginx.conf

嵌入以下内容

 server {
                listen 443 ssl;
                server_name localhost;
                ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
                ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
}

如图所示:
【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm),哈希算法,ssl,算法,网络安全,web安全,nginx
2. 检查配置文件是否正确。

sudo nginx -t 

输出如下则表示正确。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test issuccessful

3. 重新加载nginx配置文件,使其生效。

sudo nginx -s reload

4 使用漏扫工具测试

  1. 打开浏览器,输入本机Nginx服务地址 https://172.30.103.52
    由于是自签名证书会收到警告,因为您创建的证书不是由您浏览器的受信任证书颁发机构之一签署的。直接点高级,然后访问即可。

在这里查看证书所使用的签名算法,可以看出正是我们之前创建的sha1.
【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm),哈希算法,ssl,算法,网络安全,web安全,nginx
【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm),哈希算法,ssl,算法,网络安全,web安全,nginx

2. 使用Nessus对172.30.103.52这个IP进行扫描。发现漏洞问题如下:
【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm),哈希算法,ssl,算法,网络安全,web安全,nginx【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm),哈希算法,ssl,算法,网络安全,web安全,nginx
到这里我们就算复现成功。

5 漏洞修复

1. 重新制作强密码哈希算法的证SSL证书,还是使用之前的命令。

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt -sha256 -days 365

对比之前的命令主要是将-sha1替换为-sha256

2. 再次加载nginx配置。

nginx -s reload

3. 再次查看证书签名算法,已经变为sha256.
【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm),哈希算法,ssl,算法,网络安全,web安全,nginx
4. 再次使用nessus进行扫描。结果如下,可以看见弱密码的漏洞已经被修复。只剩下了自签名证书的漏洞问题。
【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm),哈希算法,ssl,算法,网络安全,web安全,nginx

本次复现漏洞已经全部结束,对您有帮助的可以点个关注。文章来源地址https://www.toymoban.com/news/detail-685711.html

到了这里,关于【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 两个CVE漏洞复现

    2017年6月13日,微软官方发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘、网络共享等途径触发漏洞,完全控制用户系统,安全风险高危 传播的载体一般是LNK,LNK是windows系统内应用程序快捷方式文件

    2024年02月10日
    浏览(36)
  • CVE-2017-7921漏洞复现

    0x01 CVE-2017-7921漏洞复现 许多HikvisionIP摄像机包含一个后门,允许未经身份验证的模拟任何配置的用户帐户。 0x02 漏洞复现: 利用工具发现漏洞(CVE-2017-7921): 利用路径:/Security/users?auth=YWRtaW46MTEK 附:检索所有用户及其角色的列表 利用路径:/onvif-http/snapshot?auth=YWRtaW46MTEK 附

    2024年02月12日
    浏览(43)
  • CVE漏洞复现-CVE-2019-5736 Docker逃逸

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口 Docker环境和普通生产环境的差异在哪呢?举个列子,

    2024年02月12日
    浏览(48)
  • CVE-2020-14882&14883漏洞复现

    漏洞介绍   在2020年10月的更新中,Oracle官方修复了两个长亭科技安全研究员提交的安全漏洞,分别是CVE-2020-14882和CVE-2020-14882。 CVE-2020-14882 允许远程用户规避控制台组件中的身份验证。导致此漏洞的原因是服务器 URL 的路径遍历黑名单配置不当,可以在 WebLogic HTTP 访问的处理

    2023年04月24日
    浏览(41)
  • 漏洞复现_CVE-2017-0144 “永恒之蓝”漏洞

    (1)一台Windows电脑 (可以使用虚拟机代替) 配置是 网络—右键,属性----高级共享设置----启用文件和打印机共享 (可以理解为,这样设置才使其具有了“永恒之蓝”漏洞) (2)Metasploit任意平台 可以是Windows版,可以是kali自带版 1.何为CVE-2017-0144? ​ CVE-2017-0144 既 永恒之蓝最

    2024年02月04日
    浏览(50)
  • 【网络安全---漏洞复现】Tomcat CVE-2020-1938 漏洞复现和利用过程(特详细)

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的

    2024年02月08日
    浏览(53)
  • 【漏洞复现】CVE-2019-0708(BlueKeep)

    2019年5月14日微软官方发布安全补丁,修复了 Windows 远程桌面服务的远程代码执行漏洞,该漏洞影响了某些旧版本的 Windows 系统。此漏洞是预身份验证,无需用户交互,这就意味着这个漏洞可以通过网络蠕虫的方式被利用,与2017年 WannaCry 勒索病毒的传播方式类似。 存在漏洞的

    2024年02月04日
    浏览(45)
  • 心脏出血漏洞复现(CVE-2014-0160)

    介绍:         认识:首先简单介绍一下这个漏洞,该漏洞是一个出现在加密程序库OpenSSL的安全漏洞,这个程序呢,是在传输层协议TLS协议之上,这个协议呢被称为心跳协议,这个漏洞就是在心跳协议的工作过程中窃取到一些重要数据,因此这个漏洞的名字被称为心脏出血

    2024年02月10日
    浏览(46)
  • 【漏洞复现】Weblogic CVE-2023-21839

    1. 产品简介 WebLogic是Oracle公司研发的用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,在全球范围内被广泛使用。 2. 漏洞简介 Oracle发布安全公告,修复了一个存在于WebLogic Core中的远程代码执行漏洞(CVE-2023-21839),可在未经身份验证

    2023年04月16日
    浏览(40)
  • 漏洞复现 CVE-2023-0297( pyload远程代码执行漏洞 )

    在 addcrypted2() 函数中,对传入的参数 jk 解析后用 eval_js() 作为 JS 语句执行。 利用 JS 中 pyimport 导入 OS 包,执行系统命令(文件操作,进程管理),还可以利用 os.system() 执行 shell 命令。 构建 payload 过程比较简单,只要传入所需的 package, crypted, jk, passwords 四个参数即可,这里

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包