文档章节

【转】Wireshark入门与进阶系列十一之SSL分析

c
 continuous
发布于 2016/12/28 10:48
字数 1335
阅读 188
收藏 0

0x00 前言
    Wireshark(前称Ethereal)中文版是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。本文着重分析wireshark捕获SSL协议及其对SSL协议的故障分析。

0x01 基本的密码学

1 保密性

      【加密和解密】、消息完整性【信息摘要和消息签名】、端点身份验证和认可【证书和认证机构】

2 对称加密

        加密和解密的密钥相同、Computatively低消耗、短密钥(通常为40-256比特)DES,3DES,AESxxx,RC4

3 非对称加密

        加密是一个密钥,解密是另外第二个密钥(两键来源于一对)、相比较“高消耗”、长密钥(通常为512-4096位)RSA,DSA

4 消息摘要

         不可逆【从摘要中不能复原文】
         抗碰撞【不可能创建一个消息M',使其具有相同摘要的消息M,MD5,SHA-1,SHA-2】

5 消息签名

         用私钥认证来新建信息摘要,消息的发送者可以用公钥进行检查真实性

6 数字证书

        以加密法,公开密钥证书(或身份证明)是一种利用与身份的公共密钥绑定在一起的数字签名的电子文档。

7 证书颁发机构

        互相信任的发送者和接收者“解决了”密钥交换问题、CA之间能够链接、顶链是“自签名”(它称为“根CA”)

0x01 SSL知识

1 SSL历史

SSLv1 by Netscape (unreleased, 1994)
SSLv2 by Netscape (v2-draft,1994)
SSLv3 by Netscape (v3-draft, 1995)
TLSv1.0, IETF (RFC 2246, 1999)
TLSv1.1, IETF (RFC 4346, 2006)
TLSv1.2, IETF (RFC 5246, 2008)

2TCP/IP堆中位置

在传输层和应用层之间、介于HTTP和TCP之间,SSL协议独立处于一个层段,不依赖上下层协议。

3 SSL记录层

提供分片(最大尺寸为2 ^14)
每个SSL记录多个SSL信息(包括一个内容类型)允许
SSL记录可以被分割在多个TCP段(2 ^14> MSS!)
一个TCP段可以包含多个SSL记录(或片段)

4 SSL内容类型

握手协议(0x16)---负责认证和密钥设置
ChangeCipherSpec协议(0×14)----通知加密开始
警报协议(为0x15)---警示和致命错误的报告
应用协议(0x17已)---数据的实际的加密和传输

0x02 分析SSL记录层

    为了更好地过滤SSL协议的信息并且同时排除其他协议对本次本次分析的影响,我们可以提前设置一下显示过滤设置,详细设置参数如下:
ip.defragment: TRUE
tcp.check_checksum: FALSE
tcp.desegment_tcp_streams: TRUE
ssl.desegment_ssl_records: TRUE
ssl.desegment_ssl_application_data: TRUE
        我们从wireshark的截图中,通过分析,可以查看SSL记录层的状态,长度,加密等,如下图1 是建立SSL协议前,客户端发送了请求包,进行握手协商。

 


图2.1.1 客户端hello包

 


图2.1.2 服务端hello包



图2.1.3 证书传输
 

0x03 常规的RSA handshake

      下图为SSL中RSA handshake建立连接的整个过程,其中客户端和服务端之间共经过9个流程来建立一个SSL连接,连接成功后,才开始发送数据。


1=====客户端发送clienthello=================================================================

2===服务器发送serverhello包回应=============================================================

3===服务端发送证书====================================================================




4====服务端证书认证完成===================================================================

5===客户端秘钥交换========================================================================

6====交换客户端加密套件===================================================================

7====客户端完成加密套件加密================================================================

8====服务端交换加密套件===================================================================

9====服务端交换秘钥套件完成================================================================

############################################################################################

0x04短暂RSA (or DH) handshake

下图显示整个加密过程,明显可以看到整个流程比RSA多了一个服务端秘钥交换过程。


===在0x02中的第3,4之间多了一个【ServerKeyExchange】的过程=====================================

0x05 Client Authentication


====服务器请求客户端证书==================================================================

=====客户端发送自己的证书=================================================================

=====确认证书============================================================================

========================================================================================

0x06 缓存SSL 会话

密钥协6商消耗大
TCP会话之间的缓存SSL会话可以从停留的地方继续进行
SSL会话ID作为索引使用
SSL会话的ID超时是一个“绝对超时”,也不是一个“空闲超时”
旧老IE:默认是2分钟,现在10小时

========================================================================================

========================================================================================

========================================================================================

========================================================================================
0x07 解密 SSL 流量
         提供服务器的私钥给wireshark;仅在追踪文件时,仅对完整的会话或者握手有效;在EphemeralRSA or DH ciphers无法起到作用(因为密钥交换);在客户端认证的情况,也能起效。要实现这个效果,首先要设置SSL的密钥和日志等文件,。
操作方法:主界面--【编辑】--【首选项】--【协议】--【SSL】-->>

========================================================================================

========================================================================================

=======================================================================================

========================================================================================

========================================================================================

========================================================================================

========================================================================================

==========

========================================================================================
      解密过程中,由于各种因素,难免出现各种问题,所以这时候要检查 SSL 调试日志和 核实证书的一致性,例如服务器证书是否变动,是否更改,是否和wireshark配置的是同一个证书。

0x08 常见SSL 连接问题

1 安全连接失败

2 无共同密钥

3 客户端无法验证服务端的证书

4 证书过期

5 时间不对称

6 虚假网站


========================================================================================

7服务器证书


========================================================================================

========================================================================================

========================================================================================

 

0x09参考资料

https://wiki.wireshark.org/

 

https://www.wireshark.org/docs/

本文转载自:http://blog.csdn.net/qq_29277155/article/details/52144179

c
粉丝 1
博文 80
码字总数 7293
作品 0
南京
私信 提问
MoreWindows博客目录(微软最有价值专家,原创技术文章152篇)

为了方便大家查找和学习,现将本人博客中所有博客文章列出目录。 一. 白话经典算法 目前有17篇,分为七大排序和经典面试题讲解两大类 1. 《白话经典算法系列之一 冒泡排序的三种实现》 2. 《...

morewindows
2013/12/24
0
0
Jenkins入门系列

enkins 是一个可扩展的持续集成引擎。 主要用于: l 持续、自动地构建/测试软件项目。 l 监控一些定时执行的任务。 Jenkins拥有的特性包括: l 易于安装-只要把jenkins.war部署到servlet容器...

harries
2016/04/21
218
0
Jenkins入门系列

Jenkins 是一个可扩展的持续集成引擎。 主要用于: l 持续、自动地构建/测试软件项目。 l 监控一些定时执行的任务。 Jenkins拥有的特性包括: l 易于安装-只要把jenkins.war部署到servlet容器...

外星人et59
2016/04/21
0
0
深入浅出MyBatis_Index

深入浅出MyBatis系列 【深入浅出MyBatis系列一】MyBatis入门 【深入浅出MyBatis系列二】配置简介(MyBatis源码篇) 【深入浅出MyBatis系列三】Mapper映射文件配置 【深入浅出MyBatis系列四】...

陶邦仁
2015/12/22
932
0
Excel 十大学习体系-表哥、表姐、表神之路必会(含47门实战课程推荐)

身在职场,无论你身处什么职业,办公室白领?财务?项目经理?互联网运营?销售?市场?行政?HR?...... Office办公软件几乎是考察个人能力的标配。Excel表格的使用也是衡量工作中不可忽视的...

51CTO学院
2017/10/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac部分目录读写提示“Operation not permitted”解决

今天试图在mac os x下重命名/usr/bin/python,提示Operation not permitted,虽然我是root,很奇怪。原来mac os x里还有一个安全机制:rootless,少用root。参考这篇文章如何开关rootless,不...

swingcoder
26分钟前
1
0
49.Nginx防盗链 访问控制 解析php相关 代理服务器

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置(502的问题) 12.16 Nginx代理 扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog....

oschina130111
32分钟前
0
0
信必优成功案例 – 中国网络电视台(CNTV)

项目背景 •中国网络电视台(英文简称CNTV),由央视国际网络有限公司主办,是中央电视台旗下的国家网络广播电视播出机构。中国网络电视台全面部署多终端业务架构,已建设网络电视、IP电视、...

symbiochina88
32分钟前
0
0
redis cluster集群 三主三从

redis 集群一般由 多个节点 组成,节点数量至少为 6 个,才能保证组成 完整高可用 的集群。每个节点需要 开启配置 cluster-enabled yes,让 redis 运行在 集群模式 下。 redis5之后使用redis...

MonroeCode
34分钟前
1
0
新东方的Kubernetes实践:从服务化ES到Kafka和Redis

2017年,新东方开始了利用容器化手段将中间件业务服务化的探索,基于Rancher 1.6使用ES;2019年,新东方再次开始了扩大了中间件的业务服务化,基于Kubernetes使用Kafka、ES和Redis。在服务化...

RancherLabs
36分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部