日期:2014-05-17  浏览次数:20901 次

WPA / WPA2无线加密高速破解的真相
对于无线WPA加密环境,在获得了WPA握手验证包后,攻击者会通过暴力破解模式来进行WPA密码破解,同时也可以通过事先建立有针对性的字典,然后再进行字典破解(攻击)。对于大多数无线接入点AP而言,这将会是个行之有效的方法。因为事实证明:绝大部分的管理员、维护人员、家庭用户的安全意识并没有他们自己认为的那么高,至少过去的一年多时间里,笔者已经遇到了无数设置为生日或者简单单词的WPA-PSK密码。  那么,是不是可以说,只要有足够空间、考虑周全的字典,破解WPA实际也就主要是时间的问题了。真的只是这样么?不知道大家仔细留意过没有,按照现在主流单机环境配置,在WPA破解速率上也就维持在100~~300k/s(k/s指的是破解时每秒调用的key数量),以这样的破解速率,要把一个以小写字母和数字组合的5位WPA密码破开,我们来以基本的概率论知识估算一下:(图1所示)
   
(26+10)?= 60466176;  
该5位数WPA密码可能性为:
破解所有花费的时间将会是:
60466176/(3600×300)~~ 60466176/(3600×100),即花费55.987~~167.962小时。
若是换算成天数的话,大概需要2~~7天。这还只是5位数WPA密码,若是采用WPA密码为纯小写字母且长度在10位数以上,则最快需要时间是5446261天,也就是14921年!!真的是天位数字啊!!若是密码组合采用大小写字母+数字+特殊字符的话,恐怕连看到这里的你都会说:还是不用考虑破解了吧?

所以,前面讲述的获得到WPA握手后,进行的破解实际上只适用于是在对方采用简单密码的情况,也就是说,因为破解速率太慢,所以在对方采用稍微复杂的密码之后,这个常规方法就没有太多的实战能力甚至彻底失去破解意义。




图1 密码可能包含的组合内容  

 
UID50135 帖子1273 精华1 积分2062 威望14 金钱0 虎钻0 贡献值1 在线时间277 小时 注册时间2008-10-7 最后登录2009-10-30 查看详细资料
 TOP 
IT管理大不同—蓝代斯克TechShow在线会议直播  

vvope 
金牌会员



UID50135 帖子1273 精华1 积分2062 威望14 金钱0 虎钻0 贡献值1 在线时间277 小时 最后登录2009-10-30 个人空间 发短消息 加为好友 当前离线 2# 大 中 小 发表于 2009-3-19 16:19 只看该作者 
若有人对概率知识稍有欠缺,或者觉得计算破解时间太麻烦的话,可以到下面这个网址上看看,这上面提供一个在线估算密码破解时间的服务,很方便。网址:http://lastbit.com/pswcalc.asp,可以看到一个明显的Password Calculator标题,即密码估算。  在下面的栏目中,可以输入要计算密码的可能长度、使用计算机的破解速率、被用于破解的计算机数量、密码的组合可能(大小写字母、数字、通配符或全部),填写完毕,点击下方的Calculate(计算),在其下方就可以给出暴力破解的估算时间了。如下图2,可以看到估算出采用小写字母和数字组成的5位数密码,在单机以30k/s的速率破解需要时间为24天!!




图2 密码估算服务设置内容


   
  看到这里,也许有的读者会想到:可以升级硬件设备啊,比如CPU、内存之类。不错,升级硬件确实可以在一定程度上提升破解,但那也是很有限的,比如就目前而言,普通**计算机下内存最大也就能升级到4G,CPU无非就是最新的高缓存四核处理器。这样的配置对于刚才我们举例的10位WPA密码,破解时间还是以年来计算的!!
  那么,那些高级黑客们又是怎么做的呢?难道只是靠单纯地提升硬件么?这里我们在揭开高速破解之前,先讲述一些概念:
  Tables
  可以说长期进行密码学研究的人很少有不知道这个的。在很多年前,国外的黑客们就发现单纯地通过导入字典,采用和目标同等算法破解,其速度其实是非常缓慢的,就效率而言根本不能满足实战需要。之后通过大量的尝试和总结,黑客们发现如果能够实现直接建立出一个数据文件,里面事先记录了采用和目标采用同样算法计算后生成的Hash散列数值,在需要破解的时候直接调用这样的文件进行比对,破解效率就可以大幅度地,甚至成百近千近万倍地提高,这样事先构造的Hash散列数据文件在安全界被称之为Table表(文件)。 
UID50135 帖子1273 精华1 积分2062 威望14 金钱0 虎钻0 贡献值1 在线时间277 小时 注册时间2008-10-7 最后登录2009-10-30 查看详细资料
 TOP 
精彩热荐:深信服在香港发布全新品牌标识  

vvope 
金牌会员



UID50135 帖子1273 精华1 积分2062 威望14 金钱0 虎钻0 贡献值1 在线时间277 小时 最后登录2009-10-30 个人空间 发短消息 加为好友 当前离线 3# 大 中 小 发表于 2009-3-19 16:21 只看该作者 
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月瑞士洛桑联邦技术学院PhilippeOechslin公布了一些实验结果,他及其所属的安全及密码学实验室(LASEC)采用了时间内存替换的方法,使得密码破解的效率大大提高。作为一个例子,他们将一个常用操作系统的密码破解速度由1分41秒,提升到13.6秒。这一方法使用了大型查找表对加密的密码和由人输入的文本进行匹配,从而加速了解密所需要的计算。这种被称作“内存-时间平衡”的方法意味着使用大量内存的黑客能够减少破解密码所需要的时间。
  于是,一些受到启发的黑客们事先制作出包含几乎所有可能密码的字典,然后再将其全部转换成NTLMHash文件,这样,在实际破解的时候,就不需要再进行密码与Hash之间的转换,直接就可以通过文件中的Hash散列比对来破解Windows帐户密码,节省了大量的系统资源,使得效率能够大幅度提升。当然,这只是简单的表述,采用的这个方法在国际上就被称为Time-MemoryTrade-Off,即刚才所说的“内存-时间平衡”法,有的地方也会翻译成“时间—内存交替运算法”。其原理可以理解为以内存换取时间,可由下图3表示:




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


   
  具体算法方面的内容本文就不再涉及,对于想进行更高深层次探究的读者,可以仔细参考2003年的这篇详细文档《Making a FasterCrytanaly