ubnt解决方案
楼主: bestgo

[原创] 想破解WPA前应该了解的东西

  [复制链接]

520

回帖

1411

积分

392 小时

在线时间

上尉

注册时间
2009-12-26
金币
829 个
威望
4 个
荣誉
0 个
累计签到:4 天
连续签到:1 天
[LV.20]漫游旅程
发表于 2010-3-16 20:53 |显示全部楼层
支持楼主,我也去试一试,希望用的上,谢谢。
回复

使用道具 举报

1559

回帖

1万

积分

515 小时

在线时间

上校

级别:沈阳砖哥

注册时间
2010-1-24
金币
9640 个
威望
4 个
荣誉
2 个
累计签到:152 天
连续签到:0 天
[LV.200]无线新星
发表于 2010-3-17 22:28 |显示全部楼层
在动手P解WPA/WPA2前,应该先了解一下基础知识,本文适合新手阅读
1 r* L, O) U- Q- {. g! n2 }5 G% K7 O- l9 F# Y" c首先大家要明白一种数学运算,它叫做哈希算法(hash),这是一种不可逆运算,你不能通过运算结果来求解出原来的未知数是多少,有时我们还需要不同的未知数通过该算法计算后得到的结果不能相同,即你不太可能找到两个不同的值通过哈希得到同一个结果。哈希是一类算法的统称,通常哈希算法都是公开的,比如MD5,SHA-1等等。
" Y2 T. ^" ]5 G' {( T( ?8 T7 Q4 e' i我们平时说的WPA密码其实叫PSK(pre-shared key),长度一般是8-63字节,它加上ssid通过一定的算法可以得到PMK(pairwise master key)。PMK=SHA-1(ssid,psk) ,PMK的长度是定长的,都是64字节。由于计算PMK的过程开销比较大,是我们P解花费时间长的关键,所以采用以空间换时间的原则把PMK事先生成好,这个事先生成好的表就是常说的HASH表(生成PMK的算法是一种哈希),这个工作就是用airlib-ng这个工具来完成的,我们的快速P解就是这么来的。
+ o& t; I6 W0 h& s: T; |+ ]% L: N  x7 u' w认证的时候会生成一个PTK(pairwise temporary),这是一组密钥,具体细节不详细说了,它的生成方法也是采用的哈希,参数是连接的客户端MAC地址、AP的BSSID、A-NONCE、S-NONCE、PMK,其中A-NONCE和S-NONCE是两个随机数,确保每次连接都会生成不同的PTK。PTK的计算消耗很小。PTK加上报文数据采用一定的算法(AES或TKIP),得到密文,同时会得到一个签名,叫做MIC(message integrality check),tkip之所以被P解和这个mic有很大关系。
6 c; }2 Y1 D& ]) ?8 x( u9 ~8 W  A2 ~3 R" }# n7 @, Z四次握手包中含有以上的哪些东西呢?客户端的MAC地址,AP的BSSID,A-NONCE,S-NONE,MIC,最关键的PMK和PTK是不包含在握手包里的!; s* c9 N, p+ E, F
1 d  \8 I3 E( L- N认证的原理是在获得以上的所有参数后,客户端算出一个MIC,把原文连同MIC一起发给AP,AP采用相同的参数与算法计算出MIC,并与客户端发过来的比较,如果一致,则认证通过,否则失败。. `: a0 u% c  U3 p! G/ w" ?2 c% v- Q2 ~( Q* r$ y  N
目前的P解方法是我们获得握手包后,用我们字典中的PSK+ssid先生成PMK(如果有HASH表则略过),然后结合握手包中的(客户端MAC,AP的BSSID,A-NONCE,S-NONCE)计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比较,如果一致,那么该PSK就是密钥。: E* ^6 T3 C, q- o% P/ w' w9 _, A
" m( P3 s! V3 K6 I; u- p目前最耗时的就是算PMK,可谓P解的瓶颈。即使搞定了运算量的问题,海量的密钥存储也是个问题(PMK都是64字节长度)!0 ^: H; _/ h3 F) G4 Y& I/ R
$ o2 v; x1 a8 F& j/ M1 d最近出来的tkiptun-ng只是可以解开使用tkip加密了的数据包,并不是说能够快速算出PMK或PSK。& u% A, i+ w' M7 I( e0 P
* C5 e# I1 B' Y+ w' ~# B如果感兴趣,可以到书店看看讲哈希的书,说不定你把这些HASH算法都P解出来了。" y. r: @/ s! F# o8 m8 x
, F$ y# s% ?+ u3 `2 d" s' ?. u; C2 ?0 _
( E) t0 G2 i$ w- p0 o4 L) {+ r% Lwpa_supplicant套件中有个小工具,叫做wpa_passphrase,它和airolib-ng的作用差不多,都是用来生成PMK,在backtrack中应该自带这个工具。比如有个ssid为TP-LINK,PSK是12345678,那么生成PMK的方法就是wpa_passphrase TP-LINK 12345678,结果应该是这样:# d+ O" z4 P6 I: k' q/ J% k7 W+ J' y7 Z3 I1 J: z! p9 T
network={8 J6 M( b$ p- j% g! m9 _( _
4 x  l: D' T3 T2 n7 k        ssid="TP-LINK"4 s8 ^/ d  D' \( i8 n+ s: ]: w
$ \- o! s# v2 U$ P* U  M        #psk="12345678"2 L1 O* p- F" O9 S
7 S" \9 j2 S( |  _  k        psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da! I, w; l7 y% r; C: D8 W
  M* j0 v2 l, \}
6 Y3 N# @! f& A8 e. ~# s+ m. ^  K# H: Q# zpsk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da其实就是PMK了,一般在电脑上运行查看无线密码的软件就是得到这个,把1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da直接输入到无线客户端中就可以连上该ssid,相当于输入了12345678,生成PMK的过程是不可逆的,即无法通过1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da来逆推得到12345678。可以看到同样是psk是12345678,如果ssid名字改变,那么pmk就会发生改变,这就是为什么用airolib-ng建表是只能按ssid生成。
我回来了
回复

使用道具 举报

890

回帖

3万

积分

437 小时

在线时间

大校

注册时间
2010-2-9
金币
37987 个
威望
8 个
荣誉
2 个
累计签到:67 天
连续签到:0 天
[LV.100]试剑无线
发表于 2010-3-18 11:03 |显示全部楼层
前来学习学习
回复

使用道具 举报

169

回帖

315

积分

30 小时

在线时间

少尉

注册时间
2009-4-18
金币
140 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2010-3-18 21:39 |显示全部楼层
专业! 高深!
回复

使用道具 举报

197

回帖

736

积分

118 小时

在线时间

中尉

注册时间
2010-1-27
金币
475 个
威望
7 个
荣誉
0 个
累计签到:3 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2010-3-21 19:51 |显示全部楼层
顶起,有用。
回复

使用道具 举报

121

回帖

290

积分

28 小时

在线时间

少尉

注册时间
2009-12-30
金币
166 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2010-3-21 21:16 |显示全部楼层
很好的文章,通俗易懂
回复

使用道具 举报

139

回帖

300

积分

68 小时

在线时间

少尉

注册时间
2010-3-9
金币
148 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2010-3-23 08:57 |显示全部楼层
看看,感谢分享
回复

使用道具 举报

804

回帖

4750

积分

151 小时

在线时间

VIP

大兵无上

注册时间
2008-6-19
金币
3751 个
威望
15 个
荣誉
1 个

尚未签到

发表于 2010-3-23 23:16 |显示全部楼层
这个要得。
回复

使用道具 举报

158

回帖

284

积分

19 小时

在线时间

少尉

注册时间
2010-3-1
金币
123 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2010-3-24 07:57 |显示全部楼层
谢谢!学习了
回复

使用道具 举报

158

回帖

284

积分

19 小时

在线时间

少尉

注册时间
2010-3-1
金币
123 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2010-3-25 19:17 |显示全部楼层
谢谢!学习了
回复

使用道具 举报

30

回帖

178

积分

22 小时

在线时间

上等兵

注册时间
2008-11-14
金币
146 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2010-3-25 21:49 |显示全部楼层
好文章,学习了。
回复

使用道具 举报

65

回帖

414

积分

90 小时

在线时间

少尉

注册时间
2009-1-23
金币
325 个
威望
3 个
荣誉
0 个
累计签到:2 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2010-3-27 12:34 |显示全部楼层
学习了,可是还是不太明白!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-11-1 13:27

返回顶部 返回列表