Wireshark+Apache2.4解密SSLv3

首先说明一下,国内的网上很多资料没提到这点:Wireshark不能解密应用了DH(Diffie–Hellman)秘钥的SSL密文。

(TLS也是可以解密的,要从第一次握手该host开始全部的包都截到才行)

因为这个原因,就需要好好配置apache了。还有两点要注意:

  1. Apache2.2有bug没能禁用TLS,所以只能在Apache2.4上做
  2. 提供给Wireshark的key文件,必须是 内含pkcs8格式的私钥的PEM文件格式 的文件。

下面的步骤是基于前文《Apache2.2搭建SSL/HTTPS/SPDY服务器》http://blog.csdn.net/hursing/article/details/20049381的,最简单地搭建SSL服务器的方法在Apache2.2和2.4是一样的。

正式开始:

1.禁用DH秘钥

用命令打开:

sudo gedit /etc/apache2/mods-enabled/ssl.conf

找到这行

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

注释掉改成:

#SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCipherSuite RSA

更保险地是改成

SSLCipherSuite RSA+AES256+SHA

2.禁用TLS

接着第一步,找到这行

SSLProtocol all

注释掉改成:

#SSLProtocol all
SSLProtocol SSLv3

这个改动在Apache2.2没能生效。

保存文件。然后重启apache

sudo service apache2 restart

3.转换出pkcs8格式的私钥key

在/etc/apache2/sites-enabled/default-ssl.conf文件中,能看到这行

SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

它表示了默认的私钥文件路径。但这个目录只有root用户可以打开,所以先用命令行操作把它复制出来并加上访问权限:

cd ~

sudo cp /etc/ssl/private/ssl-cert-snakeoil.key .

sudo chmod 777 ssl-cert-snakeoil.key

然后是转换:

openssl pkcs8 -nocrypt -in ssl-cert-snakeoil.key -out key.pem -outform
PEM

转换出来的key.pem将交给Wireshark使用来解密。

4.Wireshark设置

我用的版本是1.9.1。

菜单Edit->Preferences...->Protocols->SSL->RSA keys lists: Edit...->New

然后填入你的服务器IP,port是443,protocol是http,并选择刚才转换出来的key.pem:

保存配置。

5.截包

如果解密成功,原本显示为Application Data的内容将直接显示成HTTP,且底栏多了查看解密后的数据(点击图片看大图):

转载请注明出处:http://blog.csdn.net/hursing。详细补充这个坑爹的地方:

在Server Hello的阶段,Cipher Suit是选择了RSA的才能解密,如果是

Cipher Suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)

这样含有DH或DHE的,则不能解密,因为这个算法是服务器端新生成public/private key供这次session使用,Wireshark没有这对key,所以不能解密。

参考:

http://ask.wireshark.org/questions/17630/cant-decrypt-tlsv1-traffic

http://wiki.wireshark.org/SSL

http://blog.chinaunix.net/uid-24709751-id-3643187.html

http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html

http://packetpushers.net/using-wireshark-to-decode-ssltls-packets/

转载请注明出处:http://blog.csdn.net/hursing

时间: 2024-11-08 19:01:21

Wireshark+Apache2.4解密SSLv3的相关文章

使用支持SPDY协议的Wireshark截包(含spdyshark插件)

因为SPDY基于SSL/TLS,所以要分析出SPDY包,就需要能解密TLS,就得有SPDY服务器的私钥.所以只能分析自己搭的服务器的包. 本文基于前三篇文章,请先阅读: Linux Mint + Apache2.2搭建SSL/HTTPS/SPDY服务器 http://blog.csdn.net/hursing/article/details/20049381 Wireshark+Apache2.4解密SSLv3 http://blog.csdn.net/hursing/article/detai

SPDY、HTTP/2、QUIC协议

1 SPDY协议 1.1 概述 SPDY为speedy(单词原意:快速的)的缩写,读音也就是speedy. SPDY协议已发布过4个草案,分别为版本1.2.3.3.1.目前版本4已在试验阶段,但未发布,Chromium里已有一些针对版本4的代码. SPDY对比HTTP的优势: 复用连接,可在一个TCP连接上传送多个资源.应对了TCP慢启动的特性. 请求分优先级,重要的资源优先传送. HTTP头部数据也被压缩,省流量. 服务器端可主动连接客户端来推送资源(Server Push). 缺点: 单连接

三种解密 HTTPS 流量的方法介绍

三种解密 HTTPS 流量的方法介绍 Web 安全是一项系统工程,任何细微疏忽都可能导致整个安全壁垒土崩瓦解.拿 HTTPS 来说,它的「内容加密.数据完整性.身份认证」三大安全保证,也会受到非法根证书.服务端配置错误.SSL 库漏洞.私钥被盗等等风险的影响.很多同学认为只要访问的网站地址前有一把小绿锁就绝对安全,其实不然.本文通过介绍三种最常规的 HTTPS 流量解密方法及原理,浅谈一下 HTTPS 的安全风险. Man-in-the-middle Man-in-the-middle(中间人,

wireshark ssl 数据怎么分析

问题描述 wireshark ssl 数据怎么分析 怎么可以看的明文的数据 wireshark 数据包地址 链接:http://pan.baidu.com/s/1bn7cviJ 密码:s36i 解决方案 wireshark 分析过滤数据tcpdump+wireshark分析数据笔记(2)tcpdump+wireshark分析数据笔记(1) 解决方案二: 你需要有私钥证书,然后倒入wireshark.就可以解密 解决方案三: 好吧 换应用层的工具看了

逆向wireshark学习SSL协议算法(转)

小贴士:SSL协议的定义 SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议. 正文 前不久从网上得到一个https会话数据包文件https.pcap,用32位的wireshark打开(64位的会增加逆向难度,因为用到寄存器传递参数) 如图: 就这么多数据包,非常适合用来研究ssl协议的实现. wireshark只要导入密钥是可以自动解密出明文的.点开Edi

阿里云 CDN HTTPS 最佳实践——动态密钥套件(三)

背景 在 ssllabs 中可以测试域名的 SSL 安全等级: 影响这个测试等级的最主要因素就是密钥套件,在接入阿里云 CDN 的所有域名中,绝大多数域名评级都是 A,但是有少数域名为了兼容一些老浏览器或者客户端,需要支持比如 RC4 这样的加密算法,这样就导致评级为 B,但用户体验更重要,这就需要为这些对密钥套件有特殊需求的域名特殊配置密钥套件. 另外,当我们调试 https 时,比如抓包分析数据包时,发现应用数据都是加密的,无法分析 HTTP 协议的问题,但是如果我们有私钥,那就有办法可以通

Wireshark抓到的TLSv1(SSL)协议的数据包怎么样解密出来啊?

问题描述 我在分析一个https网站时,Wireshark抓到的TLSv1(SSL)协议的数据包,这里应该是发送了一个get或者post请求,因为我在firefox用httpfox在这个位置是一个post.那么我应该怎样将这块的TLSv1数据包解密出来呢?网上查过http://blog.csdn.net/cch5487614/article/details/6364711,说要导出一个证书,转成.pem格式,但是这个证书是什么证书,从哪导出啊?请大神们给我仔细讲讲啊谢谢! 解决方案 本帖最后由

Wireshark无法解密HTTPS数据解决办法

介绍 网络封包  分析软件的功能 可想像成 "电工技师使用电表来量测电流.电压.电阻" 的工作 - 只是将场景移植到网络上,并将电线替换成网络线.在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件.Ethereal的出现改变了这一切.在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利.Ethereal是目前全世界最广泛的网络封包分析软件之一. Wireshark无法解密HTTPS数据解决办法 问题 由于需要定

利用Fiddler和Wireshark解密SSL加密流量

原文地址:http://kelvinh.github.io/blog/2014/01/12/decrypt-ssl-using-fiddler-and-wireshark/ Fiddler是一个著名的调试代理工具,它不仅能解析HTTP,而且还能解析加密的HTTPS流量.Wireshark则是一个非常强大的网络包监控以及协议分析工具. 在本文中,只考虑使用SSL来加密HTTP,所以并不严格区分SSL和HTTPS,虽然从广义上来讲,将二者混为一谈是非常不合理的 . 看到这里,大多数人都会很困惑:Fi