liamber 发表于 2009-5-28 17:16

利用分布式系统来查找HASH表或者GPU提高运算能力破解WPA绝对错误的

真正要实现WPA的即时破解,通过分布式系统或者GPU提高运算能力破解WPA来破解是绝对错误的,原因如下
1.所谓的分布式系统破解WPA其实就是通过服务器集群而获得强大的数据处理能力,从而加快破解WPA的速度,这就局限了黑客应用此技术。(如果可以上网,黑客可以租用GOOGLE提供的云计算能力,但是价格不菲,而且HASH表的传输对带宽要求很大,完整的HASH表有几百G)
2.即时你可以获取到强大的GOOGLE云计算能力,运气不好的话,要破解WPA所耗费时间也是相当长的
3.研究的方向错误了:通过硬件来加快破解速度肯定是错误的,WPA的真正破解之路是通过查找HASH表的算法上的提高
下面是我结合数据库查找数据的理念以及暴力破解原理所思考出来的认为可取的WPA破解研究方向
1.300G的HASH表里面包含无数的HASH值,但是所有HASH值都是通过MD5计算出来的,所以都是定长的不重复的128位二进制数据,每个数据对应不同的密钥,现有的WPA主要是通过找到相同的HASH值,然后就可以知道此HASH值来知道对应的密钥,从而实现破解,这个思想是正确的,可是如何在hash table找到与捕捉到数据包hash值相等是重点,假如采取下面我所提出的方法,可以在一分钟之内找出。
2.学过数据库的人应该知道,某些数据库的数据存放是以树的方式来存放数据的
3.HASH表是由无数个128位二进制数来组成的,按照排列组合的原理,最多有2的128次方个可能,如果要全部对比完这么多的HASH值,所耗时间是非常久的(黑客常用的300G的HASH表,就是挑了使用频率高的密钥来做HASH,但是即使如此,其HASH值也达到了300G之巨,在最坏的情况下,要对比完如此多HASH值耗时甚巨)


我的思想:假如结合数据库的理念,把300G的HASH TABLE数据采取树结构来存放,树跟与分支都分别对应0或者1,这样只有2个树根,分别是0和1,0和1的下面再分支,数据按照树形存放如下
                            0                                                                   1
             0                            1                                    0                            1
      0             1             0            1                      0            1             0             1
0      1   0      1      0      1      0      1            0      1      0      1   0      1      0      1
0101010101010101         0101010101010101


上面只是HASH表前5位的存放,由于篇幅关系,我就以5位二进制数如何查找出特定数据来举例子,5位二进制数有2的5次方个不同数据,如果不采取树形结构存放及查找数据,最坏情况下要查找对比64次,最快查找1次就匹配成功;按照树形思想,5位数要查找5次,每次最多匹配2次,最少匹配1次(当此位是0时匹配1次,次位是1时匹配2次),举个例子,要查找11111我们要查找树形表10次,要查找00000我们要查找树形表5次,我们可以发现,查找任意5进制数,都只需要查找5到10次就可以匹配成功,同理,虽然HASH表有2的128次方个不同数值,我们只需要查找最多256次,最少128次就可以匹配成功,然后再根据所查到的HASH表找到对应的密钥。

由于小弟我是从事网络安全方面的职业,对数据库以及编程涉猎不深,无线也是前两个月才刚接触,有错漏之处还望大侠们不吝赐教
PS:对无线安全有共同爱好的朋友可以加我QQ技术交流(445780352)

kissme5000 发表于 2009-5-28 19:39

高人 顶一个

kissme5000 发表于 2009-5-28 19:40

传说中的沙发?呵呵

lms8653 发表于 2009-5-28 19:53

希望看到以你的这种方式来提高破解速度的东东!!!。。。。。。。。。。。。
不知道有没有可能!
我在这方面也是个白痴!

liuzaoxing 发表于 2009-5-28 19:54

GPU运算还是有一些可行的~~增加了运算速度,大大提高了破解的可能性嘛。。。

bestgo 发表于 2009-5-28 20:07

本帖最后由 bestgo 于 2009-5-28 20:10 编辑

PMK的长度是64位的,不是128位,并且不是直接的比较。我们需要把PMK从HASH TABLE里读出,然后结合数据报文里的一些信息算出一个MIC,再把这个MIC与报文中带的相比较,如果一致就找到密码了。楼主的二分法查找在这里是没有用的,因为必须把每条记录都取出,然后经过运算才能进行比对。
WPA认证机制就目前来说是没有明显漏洞的,这点WEP不能和它比。

liamber 发表于 2009-5-28 20:11

PMK的长度是64位的,不是128位,并且不是直接的比较。我们需要把PMK从HASH TABLE里读出,然后结合数据报文里的一些信息算出一个MIC,再把这个MIC与报文中带的相比较,如果一致就找到密码了。楼主的二分法查找在这里是 ...
bestgo 发表于 2009-5-28 20:07 http://forum.anywlan.com/images/common/back.gif
原来要加上一个动态值来计算出MIC,然后再进行比较的,怪不得~~~谢谢的兄弟你的解答~~~

longas 发表于 2009-5-31 00:38

呵呵,听到kevin介绍,才发现有这么个帖子。

恩,感谢liamber的分享及探讨,我们也在摸索中,欢迎提出更多的意见。另外,bestgo你还是那么帅。:lol

liamber 发表于 2009-5-31 07:58

呵呵,听到kevin介绍,才发现有这么个帖子。

恩,感谢liamber的分享及探讨,我们也在摸索中,欢迎提出更多的意见。另外,bestgo你还是那么帅。:lol
longas 发表于 2009-5-31 00:38 http://forum.anywlan.com/images/common/back.gif
呵呵~~~让大家见笑了~~~前阵子放假无聊发个水贴来让bestgo这样的高手来释疑自己心中的疑问~~~

longas 发表于 2009-5-31 19:11

没人笑你,呵呵,liamber,我们都是在相互提问和争执中前进的......你的思路很清晰,希望能和你展开更多的讨论

liamber 发表于 2009-6-1 05:52

没人笑你,呵呵,liamber,我们都是在相互提问和争执中前进的......你的思路很清晰,希望能和你展开更多的讨论
longas 发表于 2009-5-31 19:11 http://forum.anywlan.com/images/common/back.gif
嗯嗯~~~大家以后相互学习~~~共同进步~~~

zmczdczhhai 发表于 2010-2-10 21:07

dddddddddddddddddddd
页: [1] 2
查看完整版本: 利用分布式系统来查找HASH表或者GPU提高运算能力破解WPA绝对错误的