车辆常用的蓄电池型号:破解无线网络WPA密码的可能性

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 19:54:56
破解无线网络WPA密码的可能性2009-09-26 03:42

破解无线网络WPA密码的可能性 摘要:

无线网络的WEP密钥的破解相当容易,据说国外专业人士可以在2分钟内通过工具截获WEP加密过的数据包并解析出WEP密钥来。国内也有很多人都能够快速破解。至于另一种加密方式,就是我们本文要提到的WPA加密,是不是也能够被破解,如果能,那么可能性有多大?

关键词:无线网络,WPA
破解无线网络WPA密码的可能性 正文:

无线网络的WEP密钥的破解相当容易,据说国外专业人士可以在2分钟内通过工具截获WEP加密过的数据包并解析出WEP密钥来。国内也有很多人都能够快速破解。至于另一种加密方式,就是我们本文要提到的WPA加密,是不是也能够被破解,如果能,那么可能性有多大?

在进入正题之前,还是要先讲一讲这个破解无线网络WPA密钥的可能性有多大,以免大家做无用功。

不管是破解WPA加密数据还是WEP加密数据我们都需要找到专门的监听和分析软件,类似于有线网络中的sniffer,在无线网络中我们破解主要使用名为WinAirCrack的强大工具,这里重点讲一下无线网络WPA加密方式的破解。

对于无线WPA加密环境,在获得了WPA握手验证包后,攻击者会通过暴力破解模式来进行WPA密码破解,同时也可以通过事先建立有针对性的字典,然后再进行字典破解(攻击)。对于大多数无线接入点AP而言,这将会是个行之有效的方法。因为事实证明:绝大部分的管理员、维护人员、家庭用户的安全意识并没有他们自己认为的那么高,至少过去的一年多时间里,笔者已经遇到了无数设置为生日或者简单单词的WPA-PSK密码。

那么,是不是可以说,只要有足够空间、考虑周全的字典,破解WPA实际也就主要是时间的问题了。真的只是这样么?不知道大家仔细留意过没有,按照现在主流单机环境配置,在WPA破解速率上也就维持在100~~300k/s(k/s指的是破解时每秒调用的key数量),以这样的破解速率,要把一个以小写字母和数字组合的5位WPA密码破开,我们来以基本的概率论知识估算一下:

(26+10)?= 60466176;

破解所有花费的时间将会是:

60466176/(3600×300)~~ 60466176/(3600×100),即花费55.987~~167.962小时。

若是换算成天数的话,大概需要2~~7天。这还只是5位数WPA密码,而事实上,5位数的WPA密钥在现今的大部分无线路由器里是不存在的,最低都是8位。若是采用WPA密码为纯小写字母且长度在10位数以上,则最快需要时间是5446261 天,也就是14921年!!真的是天位数字啊!!若是密码组合采用大小写字母+数字+特殊字符的话,恐怕连看到这里的你都会说:还是不用考虑破解了吧?所以,前面讲述的获得到WPA握手后,进行的破解实际上只适用于是在对方采用简单密码的情况,也就是说,因为破解速率太慢,所以在对方采用稍微复杂的密码之后,这个常规方法就没有太多的实战能力甚至彻底失去破解意义。有人估算出采用小写字母和数字组成的5位数密码,在单机以30k/s的速率破解需要时间为24天。有的人可能想,能不能提升一下硬件配置来提高破解速度呢?是的,这是个可行的办法,但就目前而言,普通独立计算机下内存最大也就能升级到4G,CPU无非就是最新的高缓存四核处理器。这样的配置对于刚才我们举例的10位WPA密码,破解时间还是以年来计算的!

还是先打一下退堂鼓吧,不想看的就不要再看下去了。

但是,的确有个别高手能使用家庭计算机在极短的时间内破解出某些无线网络的WPA密钥,这又是采取什么办法呢?

这里我们在揭开高速破解之前,先讲述一些概念:

Tables

可以说长期进行密码学研究的人很少有不知道这个的。在很多年前,国外的黑客们就发现单纯地通过导入字典,采用和目标同等算法破解,其速度其实是非常缓慢的,就效率而言根本不能满足实战需要。之后通过大量的尝试和总结,黑客们发现如果能够实现直接建立出一个数据文件,里面事先记录了采用和目标采用同样算法计算后生成的Hash散列数值,在需要破解的时候直接调用这样的文件进行比对,破解效率就可以大幅度地,甚至成百近千近万倍地提高,这样事先构造的Hash散列数据文件在安全界被称之为Table表(文件)。

Rainbow Tables

最出名的Tables是Rainbow Tables,即安全界中常提及的彩虹表,它是以Windows的用户帐户LM/NTLM散列为破解对象的。简单说明一下,在 Windows2000/XP/2003系统下,账户密码并不是明文保存的,而是通过微软所定义的算法,保存为一种无法直接识别的文件,即通常所说的SAM文件,这个文件在系统工作时因为被调用所以不能够被直接破解。但我们可以将其以Hash即散列的方式提取,以方便导入到专业工具破解,提取出来的密码散列类似于下面:

Administrator:500:96e95ed6bad37454aad3b435b51404ee:64e2d1e9b06cb8c8b05e42f0e6605c74:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
user1:1001:732b2c9a2934e481cd0a8808b19097ef:778620d5d5de064154e689fa4790129f:::
user2:1002:a042f67a99758fd727b99b2375d829f9:6127ee12a83da34fc19953e538e4d580:::

若是以传统破解方式而言,无论是本地,还是内网在线破解,效率都不是很高。据实际测试,单机环境下,破解一个14位长包含大小写字母以及数字的无规律密码,一般是需要3~~9小时的,这个时间值会随着密码的复杂度及计算机性能差异提升到几天甚至数月不等。虽然说大部分人都不会使用这样复杂的密码,但对于目前很多密码足够复杂并且长度超过10位的密码比如“Y1a9n7g9z0h7e”,还是会令黑客们头痛不已。

2003年7月瑞士洛桑联邦技术学院Philippe Oechslin公布了一些实验结果,他及其所属的安全及密码学实验室(LASEC)采用了时间内存替换的方法,使得密码破解的效率大大提高。作为一个例子,他们将一个常用操作系统的密码破解速度由1分41秒,提升到13.6秒。这一方法使用了大型查找表对加密的密码和由人输入的文本进行匹配,从而加速了解密所需要的计算。这种被称作“内存-时间平衡”的方法意味着使用大量内存的黑客能够减少破解密码所需要的时间。

于是,一些受到启发的黑客们事先制作出包含几乎所有可能密码的字典,然后再将其全部转换成NTLM Hash文件,这样,在实际破解的时候,就不需要再进行密码与Hash之间的转换,直接就可以通过文件中的Hash散列比对来破解Windows帐户密码,节省了大量的系统资源,使得效率能够大幅度提升。当然,这只是简单的表述,采用的这个方法在国际上就被称为Time-Memory Trade-Off ,即刚才所说的“内存-时间平衡”法,有的地方也会翻译成“时间—内存交替运算法”。其原理可以理解为以内存换取时间,可由下图3表示:

图 著名的“内存-时间平衡”法运算原理图

具体算法方面的内容本文就不再涉及,对于想进行更高深层次探究的读者,可以仔细参考2003年的这篇详细文档《Making a Faster Crytanalytical Time-Memory Trade-Off》以及2005年的文档《Time-Memory Trade-Offs: False Alarm Detection Using Checkpoints》,在本节后面会给出链接。

正是由于Rainbow Tables的存在,使得普通电脑在5分钟内破解14位长足够复杂的Windows帐户密码成为可能。

图 对Windows账户进行Rainbow Tables破解

如上图4可以看到,类似于c78j33c6hnws、yemawangluo178、38911770这样的Windows帐户密码几乎全部在180秒即3分钟内破出,最短只用了5秒,个别稍长的密码破解开也没有超过3分钟。

由于这里我们讨论的是无线安全部分,所以本文就Windows下的Tables技术不再深入举例。有兴趣的读者可以从本文后面列出的网址查看更多的相关资料。

WPA-PSK Hash Tables

现在,在理解了“内存-时间平衡”法和Table的存在意义后,让我们回到无线领域,破解WPA-PSK也是同样的意思。在2006年举行的RECON 2006安全会议上,一位来自Openciphers组织的名为David Hulton的安全人员详细演示了使用WPA-PSK Hash Tables破解的技术细节,给与会者极大的震动。

下面所示的为会议上引用的WPA加密以及主密钥对匹配等建立WPA Tables所需理念的原理图,其中,MK为密码原文,PMK就是通过PBKDF2运算所得出的数值,PTK就是在PMK的基础上进行预运算产生的WPA Hash,这个Hash将用来和WPA 握手包中的值对照,若匹配即为密码。

图 针对WPA加密Tables破解的原理图

这种采用了类似Rainbow Tables原理,通过Pre-Compute即预运算的方式,来进行提前运算以生成WPA-PSK加密Hash,从而建立起来的WPA-PSK Hash Tables,可以如事先设想般有效地大幅度提升破解效率。一般来说,可以将以前的100~~300 key/s的普通单机破解速率,提升到30,000~~100,000 key/s,提升了近300~~1000倍!!!这才是国内外无线黑客目前使用的破解技术,就一些地下组织而言,甚至个别秉持执著、探求本质精神的黑客通过改进优化代码等方式使得破解速率突破了150,000k/s,而且还有提升空间。这个速度意味着什么,如果再换置成最新的硬件配置呢?聪明的你一定明白。

下图6即为在cowpatty里对获取的WPA握手包进行WPA Table破解界面,可以看到在导入Table之后,破解速率达到了6,5228 pass/second。

图 在Cowpatty里进行WPA Tables破解界面

我想,对于很多无线用户来说,这才是真正的噩梦。古希腊哲学家苏格拉底曾说过这么一句话: “认识你自己。” ,但实际上很多时候都是黑客背地猖獗,而很多网络及安全管理人员要么对攻击者的技术仅是略知皮毛,要么就根本一无所知,而且甚至不知道自己在经过所谓安全配置后的网络架构,将实际面临什么样的风险。

虽然说公开一些技术也许反而会引起个别心怀恶意的人注意,不过出于对无线安全理念的普及及深入理解,帮助很多已经完成或者正在进行无线网络规划的军警政机构、大中型企业及特殊部门,更清楚地认识到无线网络的风险,从而尽可能地完善自身的不足,避免不必要的损失,才是本书的出发点。

当然,要说明的是,Tables的建立并没有想象的那么容易,就建立本身而言,其效率非常低下,加上需要指定预攻击AP的SSID,想要建立一套针对所有常见接入点,并采用简单密码的WPA-PSK Hash Tables,其生成文件占据的硬盘空间最少也要1~~3G。需要深入了解WPA Table的读者,可以到这个名为The Church of Wifi的无线黑客组织了解更多内容,该组织官方站点为http://www.churchofwifi.org,该组织在过去的两年里成功建立了庞大的WPA Table库,并将其简化的WPA-PSK Hash Table版本提供免费下载,对很多无线黑客而言,这确实是个福音,但遗憾的是,即便是简化版本,其大小也已经超过了30G。

感兴趣的读者可以到http://umbra.shmoo.com:6969去下载这个简化版本的Table种子文件,该Table全部下载回来大小有33.54GB,需要说明的是,生成该Table所依据的字典虽然经过黑客组织的筛选,但是由于国情不同,所以里面部分内容可能并不适合国内情况的使用。比如虽然都会有人使用姓名作为密码,在国外可能是类似于BruceLee这样的英文名称,但是到了国内就可能是Lilianjie这样的拼音了。

图 30G WPA Hash下载页面

不过,对于无线网络管理员,并不能因此松一口气,真正的噩梦才刚刚开始,因为这个方法也同样适用于破解WPA2加密。而且,国外一些地下高级黑客组织,也已经建立了高达500G的详尽WPA/WPA2攻击Table库,甚至一些基本完善的WPA-PSK Hash Tables已经在黑客网站上开始公开出售,只需要支付120美金左右,就会有8张包含WPA-PSK Hash Tables 的DVD光盘通过Fedex直接送到你的手上。

知道了吧,破解无线网络的WPA方式加密是有可能的,但基本是理论上的,而且是密码学专家的事。