如何检测服务器支持的秘钥算法列表-sslscan详解:安装、使用、原理、示例

如何检测服务器支持的秘钥算法列表-sslscan详解:安装、使用、原理、示例


一、安装sslscan

1、git下载sslscan源码

      [root@localhost ~]# git clone https://github.com/rbsec/sslscan

2、进入目录

      [root@localhost ~]# cd sslscan

3、编译安装

      [root@localhost sslscan]# make static

4、查看是否编译成功

      [root@localhost sslscan]#./sslscan -version
      Version: 1.11.12-rbsec-1-gfab908e-static
      OpenSSL 1.0.2-chacha (1.0.2g-dev)

二、使用sslscan

       [root@localhost sslscan]# ./sslscan --tlsall www.baidu.com:443

       OR

       [root@localhost sslscan]# ./sslscan --tlsall 192.168.5.200      ----假如192.168.5.200是你的服务器IP

       PS:上述两个命令的前提是能够ping通。

三、sslscan的原理

      ① sslscan通过创建多个https的连接来试探服务器支持的加密方式;

      ② 当使用https连接到服务器的时候,会交换双方所支持的加密方式,之后选择双发都能支持的方式进行通信;

           如果https服务器配置不当,就会存在MITM攻击,攻击者就可以通过客户端支持的弱加密算法来欺骗服务器;

           假如使用的是SSLV2的56位DES,当攻击者拦截并使用了这种加密流量过后,可能在很短时间之内就能够破解加密密钥。

四、sslscan的功能

       ① sslscan能够检测heartbleed,这是一个openssl的漏洞;

           heartbleed漏洞存在于OpenSSL TSL中,它由一个缓冲区导致,允许从内存中读取数据;

          实际上,Heartbleed 可以在任何未装补丁的支持 TLS 的 OpenSSL (1.0.1 到 1.0.1f 之间)服务器上利用;

          它从服务器内存中读取 64 KB 的纯文本数据,这能够重复执行,服务器上不会留下任何踪迹或日志。

          这意味着攻击者可以从服务器读取纯文本信息,包括服务器的的私钥或者加密方式,会话 Cookie 或 HTTPS 请求会包含用

          户的密码或其它敏感信息。

五、sslscan的输出格式

  • sslscan有相当完整的支持来检测SSL和TLS的所有版本和密码,包括漏洞(如心脏出血漏洞和贵宾犬)。
  • 在输出中突出高亮的SSLv2和SSLv3的密码。
  • 高亮显示的SSLv3(贵宾犬)上的CBC密码。
  • 在输出中高亮显示3DES和RC4密码。
  • 高亮显示PFS + GCM密码在输出中良好。
  • 检查OpenSSL HeartBleed(CVE-2014-0160)。
  • 标记已过期的证书。
  • 使用OpenSSL> = 1.0.2标记弱DHE密钥。
  • 试验性Windows&OS X支持。
  • 支持扫描的PostgreSQL服务器。
  • 启动TLS支持LDAP。

六、示例解析

第一部分告诉了我们服务器的一些配置信息,包含常见的配置:是否支持TLS Fallback SCSV,是否支持压缩,Heartbleed。

第二部分告诉了我们服务器支持的加密算法,以及服务器首选的加密算法(如果客户端支持,服务器会尝试使用prefered的算法进行通信);红色表示不安全的算法,黄色代表中等强度的算法。

第三部分告诉了我们证书签名的一些信息,这里用的是2048位的RSA进行签名。

猜你喜欢

转载自blog.csdn.net/u011537073/article/details/89026522
今日推荐