HTTPS攻擊
全站HTTPS正策划稿那位潮流趨勢
如:百度、阿里
HTTPS的作用
CIA
解決的是信息傳輸過程中數據被篡改、竊取 【從中注入惡意代碼,多為鏈路劫持】
加密:對稱、非對稱、單向
解密攻擊(明文、證書偽造)
協議漏洞(貴賓狗)、https實現方法的漏洞(參考心臟出血漏洞原理)、配置不嚴格
SSL(Secure socket layer)
保證網絡通信安全的加密協議
TLS 它建立在SSL 3.0協議規范之上,是SSL 3.0的后續版本,可以理解為SSL 3.1 【為了兼容性問題,低版本的TLS還在使用】
SSL與TLS的區別
#TLS/SSL、HTTPS、HTTP over SSL 通俗上表示相同的意思
SSL/TLS也被用於其他場景的傳輸通道加密
1、郵件傳輸(服務器間、客戶端與服務期間)
2、數據庫服務器間
3、LDAP身份認證服務器間
4、SSL VPN
5、遠程桌面RDP通信過程中的加密和身份認證
查詢本機擁有的根證書 【可通過瀏覽器查詢】
非對稱加密算法 【加密數據量比較大的信息,性能比較差】
Diffie-Hellman key exchange
Rivest Shamir Adleman (RSA)
Elliptic Curve Cryptography(ECC)
對稱加密算法
Data Encryption Standard (DES) /3DES
Advance Encryption Standard (AES)
International Data Encryption Algorithm (IDEA)
Rivest Cipher 4 (RC4)
WEP、TLS/SSL、RDP、Secure shell
單向加密算法 (HASH)
MD5、SHA-1、SHA-2 【前兩個已被認為不安全】
SHA-3已經設計完成,但尚未廣泛使用
SHA-2是TLS 1.2唯一支持的單向加密算法
碰撞攻擊針對單向加密算法
兩個不同的文件生成相同的HASH值
SSL的弱點
SSL是不同的對稱、非對稱、單向加密算法的組合加密實現 (cipher suite)
因為服務器端為提供更好的兼容性,選擇支持大量過時的cipher suite
在協商過程中強迫降級加密強度
現代處理器計算能力可以在可接受時間內破解過時加密算法
通過購買雲計算資源破解
Openssl 【kali系統命令】
直接調用openssl庫識別目標服務器支持的SSL/TLS cipher suite
查看網站使用的證書
openssl s_client -connect www.baidu.com:443 【s_client:作為一個客戶端 -connect:連接 +服務器域名:端口】
測試是否支持某協議(某低版本協議)
openssl s_client -tls1_2 -cipher 'ECDH-RSA-RC4-SHA' -connect www.taobao.com:443
測試是否所有不安全的ciphers suite都不支持
openssl s_client -tls1_2 -cipher "NULL,EXPORT,LOW,DES" -connect www.taobao.com:443
查看目前可被破解的cipher suite 【openssl】
openssl ciphers -v "NULL,EXPORT,LOW,DES"
#可用man openssl查看openssl的參數,自定義構造命令
#Openssl需要大量密碼學相關知識,命令復雜,結果可讀性差,但的確強大
可自動識別SSL配置錯誤、過期協議,過時cipher suite 和hash算法
默認會檢查CRIME、heartbleed漏洞
綠色表示安全,黃色表示警告,紅色表示危險
TLS支持的cipher suite
sslscan --tlsall www.taobao.com:443
分析證書詳細信息
sslscan --show-certificate --no-ciphersuites www.taobao.com:443
python語言編寫
檢查SSL過時版本
檢查存在弱點的cipher suite
掃描多站點時,支持來源文件(指定掃描文件)
檢查是否支持會話恢復
sslyze --regular www.taobao.com:443 【調用插件】
#NAMP枚舉SSL腳本
nmap --script=ssl-enum-ciphers.nse www.taobao.com
查詢nmap腳本
對ssl進行檢查的網站 【https://www.ssllabs.com/ssltest】
只需輸入域名 【可隱藏自己IP】