Wi-Fi无线网络(WPA2加密)高速破解 ——某公司无线设备安全隐患报告






Wi-Fi无线网络(WPA2加密)高速破解
——某公司无线设备安全隐患报告







评估人:阿牛
2013年12月12日





目录

一、 导言 2
二、 背景 2
三、 无线产品应当采取的安全策略 3
四、 存在的问题 4
五、 附件:WPA破解 4





一、 导言
最早的wifi采用WEP加密方式,后来采用了WPA,以及近几年各种wifi设备广泛支持的WPA2,都相继被证明是不安全的。目前,新的加密方法还没有出来,如何最大可能的保障无线wifi网络的安全,成为摆在无线产品设计者面前的首要问题。
二、 背景
自2006年,WEP的破解密码被公开以后,WiFi芯片厂商已经迫不及待的需要一种更为安全的算法。能成功兼容之前的硬件,并通过简单的固件升级,WPA就能使用在之前的WEP的产品上。
WPA只是802.11i的草案,但WPA采用了TKIP算法(其实也是一种rc4算法,相对WEP有些许改进,避免了弱IV攻击),还有MIC算法来计算效验和。目前为止,还没有人能像破解WEP一样“点杀”(几秒钟破解)WPA密码,能破解TKIP+MIC的方法只有通过暴力破解和字典法。要想保证安全,需要WPA密码中加一些奇怪的字符。大多数用户往往做不到,因此被破解也就是几是分钟到十几个小时的问题。
WPA2(WPA的第二版)是Wi-Fi联盟对采用 IEEE 802.11i 安全增强功能的产品的认证计划。貌似WPA和WPA2只是一个标准,而核心的差异在于WPA2定义了一个具有更高安全性的加密标准CCMP。CCMP取代了WPA的TKIP,AES取代了WPA的MIC。因为算法本身几乎无懈可击,所以也只能采用暴力破解和字典法来破解。暴力破解是密码破解中最无奈的办法,字典破解猜密码则像买彩票。暴力破解所耗的时间是正常情况下用普通的PC机是算一辈子也算不出来的。而字典法破解利用的字典往往是英文单词、数字、论坛ID。因此可以看到无线网络的环境如今是越来越安全了,同时覆盖范围越来越大,速度越来越快,日后无线的前途无量。现在新型的网卡、AP都支持WPA2加密。
然而,一度认为是100%安全的WPA2加密模式,目前也被认为是极度的不安全了。早在2009年,日本安全专家广岛大学的 Toshihiro Ohigashi和神户大学的Masakatu Morii的称,他们已研发出一种可以在1分钟内利用无线路由器攻破WPA2加密系统的办法。这种攻击为黑客提供了扫描电脑和使用WPA(Wi-Fi保护接入)加密系统的路由器之间加密流量的方法。
近几年,随着无线安全的深度了解,黑客以及发现了最新的WPA2加密破解方法。通过字典以及PIN码破解,几乎可以60%的轻易化解WPA2机密。
WPA2采用2中认证方式:共享密钥认证方式和IEEE 802.1X认证。前者模式简单,没有认证服务器,多用于家庭和简单网络,也叫PSK模式,后者需要特定的认证服务器,用于复杂网络。对于无线网络的入侵者来说,本质上是一样的。
三、 无线产品应当采取的安全策略
公司的无线网装置,在每个站点都是1套单独的无线网络,应当采取如下的合理配置:
1) 修改SSID,设置一个随即的名称。另外,每个站点的SSID号不应当相同,否则一个站点被攻破,会形成连锁反应。
2) 禁用SSID广播。需要说明的是,禁用SSID广播,仅仅是攻击者不能轻易的找到我公司产品的网络号。
3) 关于Radius认证:应当做如下合理设置:
1、 随即选择Radius端口,
2、 定期修改Radius密码,
3、 修改组密钥更新周期默认值。
另外,每个站点的关于Radius认证的配置不应当是相同的,否则会形成连锁反应。
4) 修改访问“发射端”的默认管理员帐号名称,对应密码,以及连接端口,设置足够复杂的密码(并且使用大小写字母混合数字和字符,密码长度建议为10—32位),并定期更新密码。另外,每个站点的管理员账号和密码,已经不要相同,否则会同样产生连锁反应。
5) 关闭WPS/QSS。这是个快速组网的功能,我公司产品应当禁用。
6) 禁用DHCP:增加攻击者获取网络的内部配置的难度。
7) 采用MAC过滤:增加攻击者的攻击难度。
8) 采用IP地址过滤:增加攻击者的攻击难度。
9) 采用端口过滤。根据加油机的产品通信数据特点,设置允许通过的端口。
10) 禁用点对点的工作模式:加油机之间没有数据通信,应当禁止其相互访问的数据。
11) 禁用简单网络管理协议。如果有命令行方式设置,可以考虑禁用HTTP方式。并禁用SNMP。
12) 禁用PING功能:该功能可以帮助排除故障,但是也增加了不安全因素。配置完成后,可以禁用。
13) 禁用远程的telnet:开启此服务可以方便管理员远程配置,但也增加了不安全因素,在大多数情况下,我们是不需要远程控制,请设置从内部访问路由器,这样会更安全一些。

四、 存在的问题
1、 每套组网设备的网络号是否相同?
2、 每套组网设备认证密码是否相同?
3、 每套组网设备的“发射端”访问的账号和密码是否相同?
4、 是否禁用了PING功能。
5、 是否具备关闭远程访问的功能。
6、 是否具备屏蔽加油机之间的数据通信。




五、 附件:WPA破解
原文链接:http://netsecurity.51cto.com/art/200903/115574.htm
1、常规方法的解释
对于无线WPA加密环境,在获得了WPA握手验证包后,攻击者会通过暴力破解模式来进行WPA密码破解,同时也可以通过事先建立有针对性的字典,然后再进行字典破解(攻击)。对于大多数无线接入点AP而言,这将会是个行之有效的方法。因为事实证明:绝大部分的管理员、维护人员、家庭用户的安全意识并没有他们自己认为的那么高,至少过去的一年多时间里,笔者已经遇到了无数设置为生日或者简单单词的WPA-PSK密码。
那么,是不是可以说,只要有足够空间、考虑周全的字典,破解WPA实际也就主要是时间的问题了。真的只是这样么?不知道大家仔细留意过没有,按照现在主流单机环境配置,在WPA破解速率上也就维持在100~~300k/s(k/s指的是破解时每秒调用的key数量),以这样的破解速率,要把一个以小写字母和数字组合的5位WPA密码破开,我们来以基本的概率论知识估算一下:(表1所示)
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Abcdefghijklmnopqrstuvwxyz
~!@#¥%……&*()-=_+[]\{}|;’:”<>?,./
表1
图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握手后,进行的破解实际上只适用于是在对方采用简单密码的情况,也就是说,因为破解速率太慢,所以在对方采用稍微复杂的密码之后,这个常规方法就没有太多的实战能力甚至彻底失去破解意义。

2、改进的方法
若有人对概率知识稍有欠缺,或者觉得计算破解时间太麻烦的话,可以到下面这个网址上看看,这上面提供一个在线估算密码破解时间的服务,很方便。网址:http://lastbit.com/pswcalc.asp,可以看到一个明显的Password Calculator标题,即密码估算。
在下面的栏目中,可以输入要计算密码的可能长度、使用计算机的破解速率、被用于破解的计算机数量、密码的组合可能(大小写字母、数字、通配符或全部),填写完毕,点击下方的Calculate(计算),在其下方就可以给出暴力破解的估算时间了。如下图2,可以看到估算出采用小写字母和数字组成的5位数密码,在单机以30k/s的速率破解需要时间为24天!!


图2 密码估算服务设置内容
看到这里,也许有的读者会想到:可以升级硬件设备啊,比如CPU、内存之类。不错,升级硬件确实可以在一定程度上提升破解,但那也是很有限的,比如就目前而言,普通独立计算机下内存最大也就能升级到4G,CPU无非就是最新的高缓存四核处理器。这样的配置对于刚才我们举例的10位WPA密码,破解时间还是以年来计算的!!
那么,那些高级黑客们又是怎么做的呢?难道只是靠单纯地提升硬件么?这里我们在揭开高速破解之前,先讲述一些概念:
Tables
可以说长期进行密码学研究的人很少有不知道这个的。在很多年前,国外的黑客们就发现单纯地通过导入字典,采用和目标同等算法破解,其速度其实是非常缓慢的,就效率而言根本不能满足实战需要。之后通过大量的尝试和总结,黑客们发现如果能够实现直接建立出一个数据文件,里面事先记录了采用和目标采用同样算法计算后生成的Hash散列数值,在需要破解的时候直接调用这样的文件进行比对,破解效率就可以大幅度地,甚至成百近千近万倍地提高,这样事先构造的Hash散列数据文件在安全界被称之为Table表(文件)。

3、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表示:


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

4、WPA-PSK Hash Tables
具体算法方面的内容本文就不再涉及,对于想进行更高深层次探究的读者,可以仔细参考2003年的这篇详细文档《Making a Faster Crytanalytical Time-Memory Trade-Off》以及2005年的文档《Time-Memory Trade-Offs: False Alarm Detection Using Checkpoints》,在本节后面会给出链接。
正是由于Rainbow Tables的存在,使得普通电脑在5分钟内破解14位长足够复杂的Windows帐户密码成为可能。


图4 对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 握手包中的值对照,若匹配即为密码。
5、针对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。


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

6、WPA Hash下载页面
这种采用了类似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。


图6 在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这样的拼音了。


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

你可能感兴趣的:(File)