WIFI密码破解实验.pdf
wifi 密码破解实验
【实验原理】
1. WPA 加密
wpa 加密算法有两个版本,一个是WPA,一个是WPA2,后者为前者的增强版
本。其算法结构如下所示:
WPA = 802.1x + EAP + TKIP + MIC = Pre-shared Key + TKIP + MIC
WPA2(802.11i) = 802.1x + EAP + AES + CCMP = Pre-shared Key + AES +
CCMP
这里 802.1x + EAP,Pre-shared Key 是身份校验算法(WEP 没有设置有身
份验证机制);TKIP 和AES 是数据传输加密算法(类似于WEP 加密的RC4 算法);
MIC 和CCMP 是数据完整性编码校验算法(类似于WEP 中CRC32 算法);EAP 称为
扩展认证协议,是一种架构,而不是算法。常见的有 LEAP,MD5,TTLS,TLS,
PEAP,SRP,SIM,AKA。其中的TLS 和TTLS 是双向认证模式,这个认证方式是不
怕网络劫持和字典攻击的。而md5 是单向认证的,无法抵抗网络劫持和中间人攻
击。这里我们只讨论家用级WPA-PSK 的破解。
WPA 目前没有加密体制的缺陷可被利用,破解WPA 密码使用的是常规的字典
攻击法。所以在破解方式上WEP 和WPA 有很大差异。
2. WPA 认证方式
802.1x + EAP (工业级的,安全要求高的地方用。需要认证服务器)
Pre-shared Key (家庭用的,用在安全要求低的地方。不需要服务器)
3. WPA-PSK 破解原理
我们都知道破解WPA-PSK 不是和WEP 一样抓很多包就能破解的,这跟抓多少
数据包一点关系也没有。破解的关键是要获取握手包,这个握手包叫
4way-handshake 四次握手包。
WPA 四次握手过程如下图所示:
WPA-PSK 初始化工作:
使用SSID 和passphares 使用以下算法产生PSK。
在 WPA-PSK 中 PMK=PSK,PSK=PMK=pdkdf2_SHA1(passphrase ,SSID,SSID
length,4096)
第一次握手:
AP 广播SSID,AP_MAC(AA)→STATION
STATION 端使用接受到的SSID,AP_MAC(AA)和passphares 使用同样算法产
生PSK
第二次握手:
STATION 发送一个随机数SNonce,STATION_MAC(SA)→AP
AP 端接受到 SNonce,STATION_MAC(SA)后产生一个随机数 Anonce,然后用
PMK,AP_MAC(AA),STATION_MAC(SA),SNonce,ANonce 用以下算法产生PTK
PTK=SHA1_PRF(PMK,Len(PMK), "Pairwise key expansion",MIN(AA,SA)
||Max(AA,SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce))
提取这个PTK 前16 个字节组成一个MIC KEY
第三次握手:
AP 发送上面产生的ANonce→STATION
STATION 端用接收到 ANonce 和以前产生 PMK ,SNonce,AP_MAC(AA) ,
STATION_MAC(SA),用同样的算法产生PTK。提取这个PTK 前16 个字节组成
一个MIC KEY,使用以下算法产生MIC 值,用这个MIC KEY 和一个802.1x data 数
据帧使用以下算法得到MIC 值。
MIC = HMAC_MD5(MIC Key,16,802.1x data)
第四次握手:
STATION 发送802.1x data ,MIC→AP
STATION 端用上面那个准备好的802.1x 数据帧在最后填充上MIC 值和两个
字节的0 (十六进制)让后发送这个数据帧到AP。
AP 端收到这个数据帧后提取这个MIC。并把这个数据帧的MIC 部分都填上0
(十六进制)这时用这个802.1x data 数据帧,和用上面AP 产生的MIC KEY 使
用同样的算法得出MIC’。如果MIC’等于STATION 发送过来的MIC。那么第四次