灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4104回复:0

深入解析无线WEP和WPA密码及破解原理(三)

楼主#
更多 发布于:2013-01-31 14:40
3.6.2 抓取WPA-PSK 的四次握手包进行破解
可以说 WPA-PSK 安全体系是十分完善的。但他始终是用一个密码保护的。对于
这种用密码保护的安全体系。一般情况下我们都可以用一种叫字典攻击的常规攻击手
段。所以针对WPA-PSK 可以进行的直接攻击,目前就只有字典攻击这一种方式。而这
种常规的攻击方式将在字典攻击里详细讨论。当然我们WPA-PSK 的设计者也很明确这
点,所以在WPA-PSK 的安全体系中加入了潜规则加以对抗。这点将在攻击预算里做详
细的讨论。在WPA-PSK 的四次握手包中包含着和密码有联系的信息,依靠这个信息进
行字典攻击。
3.6.3 断线攻击
由于 WPA-PSK 是单向认证的。所以可以使用-0 Deautenticate攻击。这样有助于
我们获取握手包。在获得握手包时-0 攻击不要太多,否则适得其反的。有些AP几次握
手不成就会认为有攻击。禁止客户端和AP的链接30秒。(可能基于WPA EAP TLS 这
样双向认证的就不怕断线攻击了)
3.6.4 间接攻击
例子:别人输密码你在哪里偷看。使用美人计骗取密码。有技术含量点的。原来
WEP时他的计算机有漏洞你给他下了木马。改成WPA 后木马把密码发给你的。或你整
天窃听他的WEP通信,他改密WPA 模式时发给路由的密码让你截获了。比较狠一点的,
AP是你卖给他的AP的系统里添加了你的后门。
3.7 WPA安全性的前景
WEP 由原来的安全到今天的不安全。你是否同样也会担心是不是很多年之后的WPA
也会是同样的命运。但我们也要看到WEP 的破解不是某个算法的漏洞导致的。而是整个
WEP的安全体系有很多漏洞所共同导致的。而WPA的安全体系很强壮。使用的大多是混合
算法。所以某一个算法的弱点往往不能给WPA 这样的安全体系以致命的打击。WPA 这种依
靠算法的安全体系也许某一天会被破解。但是可能WPA 被完全破解的那一天比WPA 废弃
的那一天都晚。如果这样的话,那么的确该说WPA 是一种很强壮的安全体系。
3.8 WPA 的窃听
WP-PSK 没有密码几乎没法窃听他的通信。在有了密码的情况下WPA 的窃听也不具
有WEP 中窃听的随意性。在WPA 中SNonce,ANonce 也很好的起到了加密数据防止窃听
的作用,所以作为攻击者我们必须从握手开始窃听。而且会同步更替数据加密密钥。所以
WPA-PSK 的安全性都依赖于密码。
3.9 WPA评价
无论是WPA还是WPA2 在目前都是有很好的安全性的。企业级EAP的安全模式更为
WPA的安全性如虎添翼。我很欣赏WPA = PSK + TKIP + MIC这个模式。因为原来WEP的
设备只需要更换代码就能升级到这个模式了。所以这个模式使用较低的成本就可以实现很高
的安全性,还有便捷性。成本当然也是一个东西是否能普及重要因素。而WPA2 AES+CCMP
的更高的安全性对硬件的要求也是要高一点的。
4 字典攻击
4.1 寻找可以攻击的信息元素
字典攻击作为一种常用的攻击手段要明白的是从那里开始攻击。要寻找和密码有有联系
的信息元素。在WPA 中和密码有联系的信息有数据的传送包和四次握手包。由于无法知道
明文,和WPA的数据加密算法的复杂性。在数据传输包上要找到可以攻击的信息元素基本
上很难实现。所以只能在握手包里寻找有密码有联系的信息。在上面的四次握手包的图片中
很清楚的表明,在四川握手中主要传递的有如下数据:SSID,AP_MAC,STATION_MAC,
SNonce,ANonce,802.1x data,MIC。前面6 个元素很清楚,一般不会和密码有联系的。
只有最后一个MIC和密码有所联系。通过MIC的派生图我们知道,MIC是通过上面六个信
息元素和密码通过三个主要的算法派生出来的。那么我们是不是只要找到这三个算法的逆反
算法就可以根据上面的7 个信息元素把密码计算出来了呢。的确实这样。但是这三个算法有
一个共同的名字叫HASH 函数。
4.1.1 HASH 函数
HASH 函数是不可能从生产的散列值来唯一的确定输入值。
a. 单向性(one-way)。HASH 函数是没有反函数的。
b. 抗冲突性(collision-resistant)。要寻找两个hash值相同的原值十分困难。
c. 映射分布均匀性和差分分布均匀性。不像普通函数那样数值分布有一定规
律。
由于上面的pdkdf2_SHA1,SHA1_PRF,HMAC_MD5是HASH 函数。所以我们就基
本上无法直接计算出密码。对于HASH 函数比较有效的攻击就是建立HASH 字典攻击。
HASH 字典就是把预先算好的HASH 值按照线性排列然后组成一个数据库。当我们知道
一个HASH 值时在这个数据库里能马上找到他的原值。当然这个过程是通过数据库实现
的而不是HASH 的逆反函数。所以有些HASH 值在这样的数据库里是找不到原值的。
由于HASH 库是线性的所以。所以在HASH 库里找数据是十分迅速的。下面的链接让
你体验一下HASH 线性库的速度http://www.cmd5.com/。还有一点有的人也知道的国内
的王小云教授对于部分HASH 算法有突出贡献的。她的主要贡献是寻找碰撞值。暴力破
解的话就是大概需要2^80 量级的MD5 HASH 运算。被王教授提高到只需要2^69 量级
的MD5 HASH 运算就能够找到一个碰撞。我们有这样两个对付HASH 函数的方法。那
么对我们破解我怕密码是不是如虎添翼了呢?
4.1.2 HMAC (HASH Message Authentication Code)哈希消息校验算法
这里我承认我刚才有骗过你。pdkdf2_SHA1,SHA1_PRF,HMAC_MD5 不是HASH
函数。当然我骗你我也有我的理由啦。第一我以前被别人骗过,某论坛上说建立HASH
库然后进行WPA破解的。能建立HASH 库那三个函数不是HASH 函数那是什么啊。第
二我不是故意的。了解HASH 函数,有助于你理解HMAC 算法。所以
pdkdf2_SHA1,SHA1_PRF,HMAC_MD5是HMAC算法。不是HASH 函数。HMAC算法
就是用一个密码,和一个消息。最后生成一个HASH值。由上面的介绍,我们可以看出,
HMAC算法更象是一种加密算法,它引入了密钥,其安全性已经不完全依赖于所使用的
HASH 算法。所以上面对HASH 的攻击,对于HMAC 是没有效果的。HMAC 特别是
象“挑战/响应”身份认证应用中,由于攻击者无法事先获得HMAC 的计算结果,对系
统的攻击只能使用穷举或“生日攻击”的方法,但计算量巨大,基本不可行。所以,在
目前的计算能力下,可以认为HMAC算法在“挑战/响应”身份认证应用中是安全的。
4.1.3 四次握手包
有上面的HMAC 的特性我们也不难得出SSID,AP_MAC,STATION_MAC,
SNonce,ANonce,802.1x data,这些信息元素都是上面的HMAC算法里的消息。HMAC
算法里的密码在pdkdf2_SHA1 算法里是WPA 的密码,在SHA1_PRF 算法里是PMK,
在HMAC_MD5算法里是PTK。最后才得出MIC值。由于这些消息和这个MIC值都有
关联性。所以四次握手吧的后面三次是缺一不可的。而且是有时效性的。不能把不是同
一次的握手包拼起来使用的。当然第一次握手包的SSID 和AP-MAC是可以后获取的。
这里你也明白了四次握手中根本是不是在传递一个简单的HASH 值。而是要传递一个
HMAC 值。如果是传递一个简单的HASH 值,那么我们只要获取后重播这个值就可以
欺骗AP 获得认证了。都不要知道这个HASH 值对应的原值。但我的这么好的想法被
HMAC给打破了。


喜欢0 评分0
游客

返回顶部