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】