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

小贴士:SSL协议的定义

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

正文

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

如图:

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

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

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

确定之后,就可以看到明文数据了。 逆向wireshark学习SSL协议算法(转)

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

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

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

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

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

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

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

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

结果如图:

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

 
 
 
 
 
Default
 
1
2
3
4
5
6
7
8
9
10
11
12
-
Dsfl3OK
zHNPBuPpXCZH
mcDAHL6b
GIsXGHp5OzIsxABM
9AECMQDuvm3SPOfpnA4iSf7MRBjDSvdOQYv6cUw3kYKE
H
//W5OmjYITOYPg9dU3X9wECMQCnEe/8Xc7U9fYWHL4H5+eEUuO5ibkR
Gl
oHWpol6MdKQ
==
-

大致脚本如下:

 

 

 
 
 
 
 
 
Default
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
hashlib
hmac
AES
:
.
d
:
.
master_secret
:
.
sess_keys
0x32b350bd547fcb7d916ee0264549d76c82e9a996f0a3787e077e77f2484ed82cc137a14e7816ef8ec7a509a882af0e8659c077e365519a706fb5324470a0a222e2d57ccf6d6b48350102651cce155ad76b2717dcf83e0dd60b5bef9f0a9d3870
0xeebe6dd23ce7e99c0e2249fecc4418c34af74e418bfa714c3791828414ab18f32fd7e093062a49b030225cc845f99ab5
0xd982ec7b440e2869d2535e51f91bacc3eb6eba042e106e6f875c3d17e53db65fffd6e4e9a36084ce60f83d754dd7f701
)
)
]
]
)
)
)
)
.
)
)
)
)
)
)
)
)
)
)
'\n'
)

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

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

相关文章:

  • 2022-02-07
  • 2022-03-01
  • 2021-08-31
  • 2021-07-24
  • 2022-01-19
  • 2021-11-04
  • 2021-08-05
  • 2021-08-28
猜你喜欢
  • 2021-08-26
  • 2022-12-23
  • 2021-08-26
  • 2021-12-16
  • 2021-04-26
  • 2021-06-15
  • 2021-11-22
相关资源
相似解决方案