SSL 相關的測試工具
這篇文章主要說明幾個SSL 的測試工具。Https (TLS/SSL)被應用在
網路服務的加密、驗證與資料完整性的安全傳輸協定。
但是 2014/2015陸續找出許多相關的SSL漏洞,造成 HTTPS不再是安全的傳輸協定。
因此,驗證正確的 HTTPS設定是必要的。這篇文章說明幾種驗證與測試 HTTPS的工具。
SSL 手動測試工具
- nmap –script “ssl*” <IP address>
- sslcaudit
- ssldump
- sslscan (推薦)
- sslsniff
- O-Saft (推薦)
- sslsplit
- sslstrip
- sslyze (推薦)
- tlssled
- TestSSLServer (推薦)
O-Saft
這是 OWASP 中的其中一個專案。用 Perl 寫成,主要也是用來測試 SSL 相關的弱點。
https://www.owasp.org/index.php/O-Saft
執行上
perl ./o-saft.pl <hostname> |
sslyze
這是一個 python的程式,也可以針對hostname 進行分析。
sslyze –regular www.example.com |
TestSSLServer
http://www.bolet.org/TestSSLServer/
java -jar TestSSLServer.jar HostName 443 |
這個工具結果可以告知三件事情
- 加密的密碼強度是否會太弱? ” minimal encryption strength
- “BEAST status” 是否會遭受 BREAST攻擊
- “CRIME status” 是否會遭受 CRIME攻擊
SSLScan
這是另一個全自動掃描的相關 SSL 弱點的工具。內建在 Kali Linux 中。
或是可以透過apt-get 安裝
sudo apt-get install sslscan |
http://sourceforge.net/projects/sslscan/
掃描也很直覺,只要執行下列指令就會開始自動掃描SSL 相關設定與風險。
sslScan <hostNAME or IP> |
另外 SSLScan Windows 版本可以參考如下
https://code.google.com/p/sslscan-win/downloads/list
https://github.com/rbsec/sslscan/releases
NMAP
NMAP 有許多相關的 scripts 可以用來測試 SSL 的設定與版本是否安全。
用NMAP檢查加密演算法強度
nmap --script ssl-enum-ciphers -p 443 example.com |
用NMAP檢查是否有 HeartBleed風險
[pastacode lang=”markup” message=”” highlight=”” provider=”manual”]
nmap -p 443 --script ssl-heartbleed --script-args vulns.showall example.com
[/pastacode]
相關參考
http://www.contextis.com/resources/blog/manually-testing-ssltls-weaknesses/
http://www.bolet.org/TestSSLServer/
https://www.owasp.org/index.php/Testing_for_SSL-TLS_(OWASP-CM-001)