1. 程式人生 > >sslscan詳解:安裝、使用、原理、示例

sslscan詳解:安裝、使用、原理、示例

一、安裝sslscan

1、git下載sslscan原始碼

      [[email protected] ~]# git clone https://github.com/rbsec/sslscan

2、進入目錄

      [[email protected] ~]# cd sslscan

3、編譯安裝

      [[email protected]

 sslscan]# make static

4、檢視是否編譯成功

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

二、使用sslscan

       [

[email protected] sslscan]# ./sslscan --tlsall www.baidu.com:443

       OR

       [[email protected] 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進行簽名。