您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
HTTPS及HTTPS中间人攻击
 
来源:51CTO 发布于:2017-3-7
  2428  次浏览      14

HTTPS及HTTPS中间人攻击,全站HTTPS正在称为潮流趋势,国内实现全站https的有淘宝和百度两家。

一、https的作用

C I A:机密性,完整性,可用性(可用性是合法用户可以访问自己有权限访问的资源)

解决的是信息传输中数据被篡改、窃取

加密:对称、非对称、单向

二、https工作原理

https的工作原理还是有必要研究下的(原理我也是从网上学习总结的,感谢这些前辈)

1. 客户端发起HTTPS请求

用户在浏览器里输入一个https网址,然后连接到server的443端口。

2. 服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面

web通信中的SSL加密的公钥证书(受信任的第三方证书颁发机构签名颁发)常见的如

VeriSign

Thawte

GlobalSign

Symantec

3. 传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4. 客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值。然后用证书对该随机值进行加密。

5. 传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6. 服务段解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7. 传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原

8. 客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。

大概过程如下:

握手——协商加密算法——获得公钥证书——验证公钥证书——交换会话密钥——加密信息传输

三、SSL的弱点

1.ssl是不同的对称、非对称、单向加密算法的组合加密实现(cipher suite)

如密钥交换、身份验证使用RAS/Diffie-Hellman,加密数据,使用AES加密,有RAS/DH完成密钥交换,摘要信息由HMAC-SHA2,组成了一个cipher suite,当然,也可以是其他组合。

2.服务器端为提供更好的兼容性,选择支持大量过时的cipher suite。

3.协商过程中强迫降级加密强度。

4.现代处理器计算能力可以在接收的时间内破解过时加密算法。

5.黑客购买云计算资源破解。

四、HTTPS常见攻击方式

针对其弱点,常见的https攻击方法有

降级攻击(把高安全级别的加密算法强制降成低安全级别的加密算法)

解密攻击(明文、证书伪造)

协议漏洞、实现方法的漏洞、配置不严格

五、HTTPS证书查看

在进行中间人攻击之前,先查看下证书,可以使用以下软件(以百度为例)

1. OpenSSL

OpenSSL是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

直接调用openssl库识别目标服务器支持的SSL/TLS cipher suite

openssl s_client -connect www.baidu.com:443,

 

2. sslcan

SSLscan主要探测基于ssl的服务,如https。SSLscan是一款探测目标服务器所支持的SSL加密算法工具。

sslcan能自动识别ssl配置错误,过期协议,过时cipher suite和hash算法

默认会检查CRIME、heartbled漏洞,绿色表示安全、红色黄色需要引起注意

sslscan -tlsall www.baidu.com:443

分析证书详细数据

sslscan -show-certificate --no-ciphersuites www.baidu.com:443

分析证书详细数据

3. nmap

还可以使用nmap的脚本。

nmap --script=ssl-enm-ciphers.nse www.baidu.com

还可以使用nmap的脚本。

六、https中间人攻击

1. 先生成一个证书

openssl req -new -x509 -days 1096 -key ca.key -out ca.crt,进行一个新的请求,格式为-x509,现在的证书基本是x509的国际标准的证书格式,有效期为1096天,并使用ca.key私钥,生成ca.crt标准的证书文件。

ca.crt标准的证书文件

sslsplit会自动的调用根证书,根据你要访问哪些网站,根据网站的名称,由根证书签发一个专门针对网站的证书。

2.开启路由功能

中间人也是个终端设备,不具有路由功能,转发过程不是由软件实现的,是由操作系统的路由功能实现的。

sysctl -w net.ipv4.ip_forward=1,将net.ipv4.ip_forward=1的值设为1,当然用输出重定向或者vim编辑proc/sys/net/ipv4/ip_forward也可。

3.写转发规则

iptables端口转发规则

当客户端把请求发给中间人终端设备的时候,发到终端的443端口之后,需要用iptables做NAT地址转换,其实是端口转换,把本地443端口收到的包转发到另外一个端口,而另外一个端口由sslsplit所侦听的端口,这样的话,凡是发给443端口的请求流量就会发给slsplit所侦听的端口,而sslsplit就会调用证书伪造一个看起来是目标网站的伪造网站,sslsplit会利用伪造的证书对发过来的流量进行解密

iptables -t nat -L 查看net的配置,为避免干扰,可以使用iptables -F清空配置,并使用netstat -pantu | grep :80 ,netstat -pantu | grep :443检查80和443是否被使用,使用则停止进程

将80、443端口进行转发给8080和8443端口。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443

当然还可以对其他的协议的加密流量进行中间人攻击。

iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443 //MSA 
iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443 //SMTPS
iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443 //IMAPS
iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443 //POP3S

4. 进行arp欺骗

使用arpspoof进行arp欺骗,不管是进行DNS欺骗还是HTTP或HTTPS的中间人攻击,arp欺骗都是前提,所以,在进行防御的时候,将ip和MAC绑定,就可以防止中间人攻击了。

   
2428 次浏览       14
 
相关文章

iOS应用安全开发,你不知道的那些事术
Web安全之SQL注入攻击
移动APP安全在渗透测试中的应用
从Google备份互联网看“数据安全”
 
相关文档

web安全设计与防护
互联网海量内容安全处理技术
黑客攻击与防范技术
WEB黑盒安全检测
 
相关课程

WEB网站与应用安全原理与实践
web应用安全架构设计
创建安全的J2EE Web应用代码
信息安全问题与防范
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]

iOS应用安全开发
Web安全之SQL注入攻击
APP安全在渗透测试中的应用
初探PHP的SQL注入攻击的技术
从Google备份看“数据安全”
更多...   

WEB网站与应用安全原理与实践
web应用安全架构设计
创建安全的J2EE Web应用代码
注册信息安全专业人员(CISP)
信息安全管理
信息安全问题与防范

中国银行 信息安全技术及深度防御
Web应用安全架构、入侵检测与防护
某财税领域知名IT服务商 Web安全测试
普瑞克斯 web安全设计、测试与优化
北京和利时 性能和安全性测试
SUN中国工程研究院 JSF框架、安全
更多...