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

破解WPA,你真的准备好了吗(二)

楼主#
更多 发布于:2013-01-03 19:30
一:实验
在四次握手的过程中,哪次握手最重要?
用 Beini 下的 FeedingBottle 抓到的含有 WPA 握手信息的 CAP 包:targetap_wpa-01_ok.cap 。
用 Wireshark 编辑生成下列 CAP 包,并用 Elcomsoft Wireless Security Auditor (EWSA)2.12 和Aircrack-ng 1.1 分别使用包含正确密码的字典进行测试,结果如下:

fourway-handshake.pcap —— 仅含握手信息的 cap 包(含Beacon frame,下同) ->成功
fourway-handshake-missing-1-item.pcap —— 丢失第1次握手信息的 cap 包 ->成功
fourway-handshake-missing-3-item.pcap —— 丢失第3次握手信息的 cap 包 ->成功
fourway-handshake-missing-4-item.pcap —— 丢失第4次握手信息的 cap 包 ->成功
fourway-handshake-missing-2-item.pcap —— 丢失第2次握手信息的 cap 包 ->失败
fourway-handshake-only-2-item.pcap —— 仅含第2次握手信息的 cap 包 ->失败
fourway-handshake-only-1-2-item.pcap —— 包含第1、2次握手信息的 cap 包 ->成功
fourway-handshake-only-3-2-item.pcap —— 包含第3、2次握手信息的 cap 包 ->成功
fourway-handshake-only-4-2-item.pcap —— 包含第4、2次握手信息的 cap 包 ->失败
另外:targetap_wpa-01_ok.cap —— 原始 cap 包 -> 成功
图1:fourway-handshake.pcap —— 仅含握手信息的 cap 包(含Beacon frame)

图片:20121230103659433.jpg



结论1:第2次握手信息相对来说比较重要,与第1次或第3次握手信息结合时才能破解密码。
附1:EWSA 的输出信息
图2

图片:20121230103700860.jpg


附2:EWSA 打开上述包时的提示信息
targetap_wpa-01_ok.cap
提示:–>
Some handshakes may be missing because the file is corrupted.
fourway-handshake.pcap
fourway-handshake-missing-1/3/4-item.pcap
fourway-handshake-only-1-2-item.pcap
fourway-handshake-only-3-2-item.pcap
提示:–>
At least one handshake you selected contains no information about passwordvalidity. This means that the recovered password may not be valid for wirelessnetwork. Continue anyway?
fourway-handshake-missing-2-item.pcap
fourway-handshake-only-2-item.pcap
fourway-handshake-only-4-2-item.pcap
提示:–>
No handshakes have been found in the given file.
结合结论1:
EWSA 提示:”No handshakes have been found in the given file.” ,
Aircrack-ng 提示:”No valid WPA handshakes found.”
此时破解工作无法进行。
图3:No handshakes have been found in the given file.

图片:20121230103701473.jpg



图4:No valid WPA handshakes found.

图片:20121230103701308.jpg



二:理论知识
穷举法破解 WPA ,主要涉及到以下两个计算方法,当然,这也是 WPA 进行身份验证的方法:
1:PMK(PSK) <- pdkdf2_SHA1(passphrase, SSID)
2:PTK <- PRF-X(PMK, “Pairwise key expansion”, AA, SA, ANonce, SNonce)
下面这张图5,简要地描述了四次握手的过程并注明了哪些信息是穷举法破解 WPA 所必须的。

图片:20121230103702267.jpg



四次握手过程的简要描述:
1:无线接入点 AP 向客户端 STA 发送随机数 ANonce。
2:STA 收到 ANonce 后,选择一个随机数 SNonce ,利用 WPA 密码(passphrase)和 AP 的 SSID 计算得出PMK(PSK),用 PRF-X 函数计算得出 PTK ,并使用 PTK 的前 16 bytes 和发往 AP 的信息计算出 MIC 认证值。将 SNonce和 MIC 发送至 AP。
3:AP 收到来自 STA 的信息,用上面相同的方法计算出 MIC ,对 STA 生成的 MIC 进行校验,如果匹配,发送 ANonce和其他信息。
4:装载 PTK 。
从上面的描述可以看出, WPA 的认证实际上可以说是对 MIC 的认证。 MIC 由 PTK 产生,计算 PTK 需要: ANonce 、 SNonce、客户端 STA 的 Mac 地址 SA 、无线接入点 AP 的 Mac 地址 AA 、以及 PMK 。而 PMK 由 SSID 和 WPA 密码(passphrase) 计算得出。假如我们知道了 passphrase ,而握手过程又是由合法的 STA产生的,那么只要获得第1和第2次握手的信息,就已经能计算出 MIC 的值。这里要注意:是我们假如知道了 passphrase !
如果我们要使用穷举法破解 WPA ,用通俗易懂的说法描述,就是:
1:从字典中取出一条密码 passphrase ,配合 AP 的 SSID,计算得出 PMK(PSK) ,可以使用 wpa_passphrase命令生成,其结果将参与 PTK 的计算。有一点要说明,PMK(PSK) 说白了也就是 WPA 的密码,她不会出现在身份认证的网络传输过程中,PMK(PSK)信息保存在认证双方的系统内部,否则,直接截取该信息,穷举就得了。见下图6:
2:截获客户端 STA 的 Mac 地址,无线接入点 AP 的 Mac 地址, AP 发往 STA 的随机数 ANonce , STA 发往 AP 随机数SNonce ,配合上一步骤得到的 PMK(PSK) ,用这些参数生成 PTK 。
3:用上一步骤得到的 PTK 的前 16 bytes 计算出 MIC 值,用该值与第2次握手中 STA 发往 AP 的信息中的 MIC值进行比较,如果一致,则证明步骤1取出的密码 passphrase  即为 WPA 的真实密码 PMK(PSK) 。
4:现在流行的用 Hash 表快速破解的方法,实际上就是用指定的 SSID 和字典文件配合,生成字典内各个密码对应的 PMK(PSK) 。如果 SSID具有通用性,那么生成的 Hash 表还可以分享给他人使用,否则无实用价值,因为 PMK(PSK) 是 SSID 和密码计算得出的。如果有了与破解目标 SSID相应的 Hash 表,在破解的过程中可以免去计算 PMK(PSK) 的过程,从而达到节省破解时间的目的。见下图7:
图6:wpa_passphrase 命令生成 PMK(PSK)

图片:20121230103702692.jpg



图7:Hash 表的相关测试

图片:20121230103703179.jpg



对 EWSA 2.12 和 Aircrack-ng 这两款工具来说:
1:验证密码正确与否的关键是 MIC 信息,源自第2次握手,故:第2次握手信息丢失时,程序将无法进行破解工作。相应的,如果第2次握手信息是由非合法 STA产生的,那么破解出来的密码也是非合法的密码,将不能使用,因为错误的密码会产生错误的 MIC 信息。虽然 coWPAtty 4.6 判断的是第4次握手中的 MIC信息,比较严谨,但实际上效果并不好,大家可能发现过这个问题:有些握手包用 EWSA 和 Aircrack-ng 都能破解出来,但使用 coWPAtty却不行,原因就在于此。但可以使用 “-2″ 参数修改成对第2次握手中的 MIC 信息进行判断。
2:AP 发往 STA 的随机数 ANonce 可由第1、3次握手中获得,但 STA 发往 AP 随机数 SNonce只能在第2次握手中出现。所以,当第1次或第3次握手信息丢失后,仍然可以使用第2次握手的信息配合第3次或第1次握手产生的信息破解密码。但当第1次和第3次握手同时丢失后,由于缺少ANonce 信息,所以破解工作将不能继续。同样,如果第2次握手的信息丢失,由于缺少 SNonce 信息,破解工作也将不能继续。
3:由于第2次握手是 STA 发往 AP 的信息,包含两个重要的信息: MIC 和 SNonce 。故:作为处在混杂模式的网卡来说,AP 和 STA的有效工作距离要弄清楚,没准儿你距离 STA 非常远——你的位置恰恰处于能接收到 AP 的信号,但不能接收到 STA 的信号,此时将无法获得 MIC 和SNonce 信息,这就是为什么能获取到很多由 AP 产生的 IVs ,可死活获取不到握手信息的原因之一,此乃地利。当然,握手信息的截取是在 STA 和 AP建立认证的过程中产生的,时机也很重要,此乃天时。
总之,第2次握手信息相对来说很重要!

喜欢0 评分0
游客

返回顶部