zoukankan      html  css  js  c++  java
  • 逆向wireshark学习SSL协议算法(转)

    9.png

    小贴士:SSL协议的定义

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。

    正文

    前不久从网上得到一个https会话数据包文件https.pcap,用32位的wireshark打开(64位的会增加逆向难度,因为用到寄存器传递参数)

    如图:

    wrieshark1.png

    就这么多数据包,非常适合用来研究ssl协议的实现。 wireshark只要导入密钥是可以自动解密出明文的。
    点开Edit菜单下的Preferences项,再点开左侧的Protocols里面的SSL,新建一个SSL解密任务。

    2.png

    确定之后,就可以看到明文数据了。 3.png

    4.png

    原来的第24帧就多了一个http协议块,25帧也是如此,这就是wireshark的ssl解密功能。
    那么它是怎么实现的呢?这需要调试才能搞清楚。
    我调试的版本是Wireshark_win32_V1.12.4_setup.1427188207.exe 大小22.4 MB (23,588,136 bytes)
    费了九牛二虎之力定位到了libwireshark.dll文件,所有的ssl加解密都是在这模块中实现的。
    贴几张调试截图,这些断点都是比较关键的。    5.png    6.png

    7.png

    8.png

    9.png

    10.png

    11.png

    通过调试,终于知道了ssl解密的算法,写了个python脚本,实现了wireshark的ssl解密核心算法。

    结果如图:

    12.png


    大致脚本如下:

    上面的RSA_Encrypted_PreMaster_Secret、client_random、server_random、_Server_Write_IV、Application_Data都是用wiresharkhttps.pcap文件中抠出来的。
    简单的科普一下,水平有限!

    https://www.91ri.org/15396.html

  • 相关阅读:
    《一网打尽》:贝佐斯粗暴刻薄,商业战略上的几次成功决策造了今天的亚马逊
    《信息简史》:计算机史前史
    《孵化Twitter》:Twitter创始人勾心斗角史,细节披露程度令人吃惊
    《走出电商困局》:与《我看电商》有不少重复,反复强调电商要重视成本
    转贴健康资讯:感冒了,是因为着凉吗?
    《众病之王》:人类探索癌症诊断治疗的历史
    转发健康资讯:寒冷会导致关节炎吗?
    《淘宝十年产品事》淘宝产品演进史及作者的思考
    [React] How to use a setState Updater Function with a Reducer Pattern
    [HTML5] Text Alternatives
  • 原文地址:https://www.cnblogs.com/softidea/p/5268880.html
Copyright © 2011-2022 走看看