WEP 加密密码只要收集到足够的 DATA (IV 值) 就一定可以破解出来,不过 WPA
加密的密码就不一定,主要决定于密码的复杂程度,因此并非一定可以破解出来,
本文中以破解 WPA-PSK (TKIP) 加密方式来进行讨论 (也就是大多数无线基站使用
的 WPA 加密方式)。
 
◎破解成功之必要条件
   要能成功破解 WPA 加密密码一定要具备下列两个条件,否则是不可能破解出来。
一定要至少有一台电脑与该无线网络无线基站连接 (也就是使用该
  无线基站连接到 Internet),如此才有可能收集到破解关键的握
  手 (HandShake) 数据包。
 
密码若是又长又复杂,则可能数天、甚至数月都破解不出来。
 
◎破解流程
   破解 WPA 加密密码的流程很简单,主要分为两个阶段,首先是不断发送
DE-AUTH 讯框 (Frame) 断开目标无线基站与使用该无线基站电脑的连接,等待该电脑
重新与无线基站连接时获取握手数据包 (HandShake Packet)。
  在握手数据包中就包含 WPA 加密密码,因此第二阶段则是针对所截取到握手数
据包中的密码进行暴力破解 (也就是猜的),由于是猜的,所以能否猜中就要看运气
了,这也是 WPA 加密密码比 WEP 加密密码不易破解的主要原因。
 
◎工欲善其事必先利其器
   由于必须在 Linux 中利用 SpoonWpa 进行破解,所以可到下面网站中下载
BackTrack 3U 盘版光盘版,而且还包含了相关的破解工具,就可以简单又方便
的在 Linux 中进行,完全不动到你电脑的硬盘与环境。
 
◎步骤 1 获取无线基站与网卡信息
   在 DOS 窗口中使用 ipconfig 命令找出自己无线网络设备的 MAC 地址。使用
Network Stumbler (或类似的工具) 找出欲破解 WEP 密码那个无线基站的 MAC 地址
使用频道…都记下来。
 
◎步骤 2 启用与设置无线网络设备 (或网卡)
   现在用制作好的 BackTrack3 U 盘或光盘启动进入 Linux 中,然后:
 
使用 ifconfig -a 命令找出自己电脑的那个无线网络设备的名称
 (如:eth2、ath1…这样的名称)。
使用 macchanger 命令将此无线网络设备 MAC 地址改为
 00:11:22:33:44:55。
使用 ifconfig 命令启用此无线网络设备。
有关 Linux 中各命令列工具的参数说明,可到这里参考。
 
◎步骤 3 开始破解
   现在就可以在 Linux 中使用 SpoonWpa 来对 WPA 加密密码进行破解,先找出所
有使用 WPA 加密的无线网络无线基站,然候再选定其中一个来抓取到握手数据包后
就可进行破解。
 
为何无法获取握手 (HandShake) 数据包?
  依照一般的正常情况下当 SpoonWpa 发送出 DE-AUTH 讯框攻击后不久,被选定
的电脑应该就会断开与无线基站的连接,然后自动再与该无线基站连接,此时
SpoonWpa 就可以截取到握手数据包,然而在许多情况下都不容易轻松、快速的获取
握手数据包,因此若持续攻击 5~10 分钟,甚至 20~30 分钟,若还是没获取握手数
据包,则只好…继续等待坚持到底、换个时间再进行或查找其他无线基站下手。
 
密码破解关键
  WPA 加密密码破解成功的最大关键并不是获取握手数据包,而是在于运气字典
文件
,基本上 SpoonWpa 中默认使用的字典文件并不算小,大概有 8、9MB,不过既
然用猜的,肯定是不够的,然而要多大的字典文件才算够呢? 这当然是没有答案,一
般而言若对欲破解无线基站设置密码的人有某种程度的了解,然后针对那个人的生日
、身分证号、英文名、喜好…等,才可能设计出比较有效的字典文件,或是 WPA 密码
获取太简单才会让字典文件有机会猜中,否则有如大海捞针,要猜中实在很困难,不
过若有其他的字典文件可使用则也可试试。
 
◎步骤 4 连接使用
  现在就可以重启动进入 Windows 中输入破解出来的密码后,就能利用该无线基站
上网…当然是 100% 免费!!
 
◎讨论与研究
  使用 SpoonWpa 破解密码 WPA 并非一帆风顺,下面就列出一些常见的状况与的
处理方式。
 
如果等了许多无法获取握手数据包,则黑客可以将无线基站的 MAC
 地址与所有找到电脑的 MAC 地址记下来,换个时间再对该无线基站
 进行破解,就可以直接输入这些信息,不必再等 SpoonWpa 找出来。
 
WEP 的破解只要 DATA 可以随着时间增加而增多,就可以去做其
 他的事而不必管它,但 WPA 的破解必须一定要有电脑与该无线
 基站连接才可进行,因此破解的时间就很重要,例如:该无线基
 站位于住宅区则黑客通常会选择晚上或假日进行破解,若是在办
 公大楼则选择上班的时候进行破解
…比较不会苦苦等待。
 
除了使用 Spoonwpa 来破解外,还有个常用的方法就是先在
 Linux 下使用 WireShark 截取欲破解 WPA 加密密码的握手
 数据包 (可参考截取无线网络数据包获取各类帐户密码),将
 数据包保存为文件后进入 Windows 使用 Cain & Abel 来进
 行破解,由于该工具有完整的暴力破解排列组合,所以可能会
 比 Spoonwpa 使用默认的字典文件破解成功的概率高一些。
 
有关本文中所讨论到的软件操作与盲区说明请参考:
网络安全讲堂 之 Windows 与无线网络入侵分析及全面防护 Q66