sslscan詳解:安裝、使用、原理、示例
一、安裝sslscan
1、git下載sslscan原始碼
[[email protected] ~]# git clone https://github.com/rbsec/sslscan
2、進入目錄
[[email protected] ~]# cd sslscan
3、編譯安裝
[[email protected]
4、檢視是否編譯成功
[[email protected] sslscan]#./sslscan -version
Version: 1.11.12-rbsec-1-gfab908e-static
OpenSSL 1.0.2-chacha (1.0.2g-dev)
二、使用sslscan
[
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進行簽名。