基于Kali的WPA密码攻击.doc
基于Kali的WPA密码攻击
本文通过分析WPA-PSK的认证方式,根据其存在的WiFi护安装漏洞,使用Kali平台的安全工具reaver,给出一种不受密码复杂度影响的攻击方法、步骤、过程、碰到的常见问题及其解决方案,最后讨论了该漏洞的解决方案。
关键词:kali;WPA;reaver;网络攻击;WiFi保护安装
引言
Kali系统是BackTrack的后继版本,其基于Linux的操作系统,集成了多种渗透测试与安全审计工具。综合应用平台提供的网络安全工具,网络安全审计者可以快速、高效、准确地定位系统存在的安全漏洞。
WPA在WEP被证明为不安全而提出的,是当前无线局域网应用最广泛的加密方法,其提高了无线局域网系统的数据保护水平和访问控制水平。WPA加密作为保护WLAN无线局域网安全最主要的技术手段之一,其面临着多种安全攻击威胁。
WPA有两种认证方式:IEEE802.1X认证与共享密钥认证;[1]IEEE802.1X最主要的攻击方法是中间人攻击,其通过伪装为合法AP,接收用户含有密钥的数据包;共享密钥认证最常用的攻击方法WPA-PSK字典破解[2],通过截获WPA-PSK四次握手的加密数据包,利用字典对其进行穷举攻击。
WPA-PSK字典破解适用于较简单的用户密码设置,当用户密码的复杂度增强时,字典中的密码数量也要随其进行几何指数增加,因此成功破解复杂WPA密码的可能性很小[3]。寻找一种绕过WPA加密,不受密码复杂度影响的攻击方法具有更大的实用价值。
WPA-PSK共享密钥认证WPA-PSK采用共享密钥认证,其认证过程被称为步握手过程,具体步骤如下:
- 发送消息1。AP生成随机数Anounce、时戳和序列号等,并由EAPOL-Key帧明文发送,回送消息2。当无线客户端接收后首先检测该帧是否为重放帧,如果不是,则产生Snounce,PMK等使用伪随机函数PRF生产384bitPTK,通过EAPOL-Key帧发送消息2。消息2包含sn、Snounce同时存储ANounce、Snounce和PTK。
- 发送消息3。AP接受到消息2后通过sn检测是否为重放帧,如果不是,通过MIC值检测msg2整性,MIC检测通过后提取网络安全元素(RSNIE)相关信息,构造并发送消息包含sn、MICSTA收到消息后校验snMIC值检测都通过后,提取RSNIE相关信息,并安装PTK,发送后证明STA的共享密钥已经安装。
WiFi Protected setup漏洞
WPS是WiFi保护安装功能,其对无线局域网的安装及安全配置工作进行简化。
在WPS中,其自动设置网络名(SSID)、WPA数据编码及认证功能,只需输入设备信息码PIN,即可安全地连入WLAN,无需输入认证密钥[由此可见,通过Pin码可以绕过WPA加密认证。PIN码通常为八位十进制数,共有1亿个变化。但PIN位数是一个校验位,可由前7位数计算而来,因此PIN码的数量降为1000种变化。AP在进行PIN码身份认证时,分别确认PIN的前半部分(前位)是否正确。当首次PIN码认证失败后,路由器回送客户端EAP-NACK数据包,通过该数据包,攻击者确定的PIN前半部或后半部是否正确。由于先确认PIN位数(10000种可能),后确认后3位数(1000种可能),所以Pin码可能的最大个数为11000故最多穷举11000个Pin码即可攻破该漏洞。
攻击方法及过程
在Kali平台上,攻击WPA密码的具体步骤共有4步,其分别是:
- 以管理员身份下载并安装reaver:
sudo apt-get install reaver
- 设置无线网卡工作方式为混杂监听模式:
airmon-ng start wlanX; monX
- 获取无线接入设备的关键参数:
airodump-ng monX
,如BSSID及频道 - 攻击并获取其密码:
reaver
问题与解决方案
在使用WPS破解的方法时,会遇到很多问题,同时还给出了相应的解决方法,例如:
- 穷举Pin码进程停止到90.9%,同时进入死循环,表示Pin四位已经确认,WPA密码仍未破解。其原因是reaver未接收到AP发出的确认帧而强行跳过,进而中断了Pin码前四位的正确确认。保持原窗口不变,打开新的shell,继续执行命令
reaver -vv
。 - 较强的无线信号是保证PIN码攻击成功的关键,信号较弱