1. 程式人生 > >利用PIN碼破解wifi密碼(WPA2-PSK)

利用PIN碼破解wifi密碼(WPA2-PSK)

無奈宿舍無線網路實在太差,校園網連個QQ都登入不上,看到XX地方的訊號居然是滿格,難免想讓我做一次網路安全方面的實驗。宣告下,僅僅是實驗而已,禁用於非法目的。

首先,亂扯一些東西,看看就好,不看也行。

1.      Pin碼

WPS中的PIN碼,WPS是一種免輸入密碼和SSID的建議無線配置協議,它的好處就是能夠讓支援WPS的裝置,在第一次連線某個裝置室,能夠通過非手工輸入SSID和密碼的方式自動建立連線。

順帶一個:

若路由器支援WPS,且有push btn方式。可用Push button方式的,大致是這樣工作的:按下路由器上面一個WPS按鈕;在無線裝置(電腦、iPad等需要連線這個路由器的裝置)上開啟Wifi配置,選擇WPS,確定;自動配置就完成了,不用輸入SSID和密碼。為了保證安全性,按下WPS按鈕之後,如果超過一定時間沒有受到裝置的WPS配置請求,則此次WPS握手就超時失效了。

PIN碼這東西據說在一些牌子的路由上可有後六位的MAC獲得,而且正確率頗高啊。

2.      QSS

QSS又稱快速安全設定。QSS快速安全設定功能,配合具有QSS或WPS功能的無線網絡卡使用時,只需分別按下路由器和網絡卡上的QSS快速安全按鈕,或在電腦上輸入路由器PIN碼,即可完成比傳統WEP加密更安全的WPA2級別的無線安全連線,不需要再記憶複雜的密碼。通過按下無線路由和無線網絡卡上的QSS按鈕,即可自動建立WPA2級別的安全連線,無需在路由器或網絡卡管理軟體的介面上進行繁瑣的設定,大大簡化無線安全設定的操作。

3.      PSK==無線密碼(這個就是平常我們上Wifi時候輸入的密碼)

4.      WEP加密

WEP:有線等效加密演演算法,它是一種可選的鏈路層安全機制,用來提供訪問控制,資料加密和安全性檢驗等。


傳送端加密過程分析:IV為初始化向量;PASSWORD為密碼,KSA=IV+PASSWORD;DATA為明文資料,CRC-32為銘文的完整性校驗值;PRGA=RC4(KSA)的偽隨機數金鑰流;XOR為異或的加密演演算法;ENCRYPTEDDATA為最後的密文。最後IV+ENCRYPTEDDATA一起發送出去。

接受端解密過程分析:CIPHERTEXT為密文。它採用與加密相同的辦法產生解密金鑰序列,再將密文與之XOR得到明文,將明文按照CRC32演演算法計算得到完整性校驗值CRC-32‘,如果加密金鑰與解密金鑰相同,且CRC-32’==CRC-32,則接受端得到了原始明文資料,否則解密失敗。

破WEP密碼就是利用加密體制缺陷,收集足夠IV資料包,使用分析金鑰演演算法還原出密碼。

5.      WPA&WPA2加密

WPA2是WPA的升級版。

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,Pre-sharedKey是身份驗證演演算法(WEP沒有的);TKIP和AES是資料傳輸加密演演算法(類似WEP中的RC4);MIC和CCMP是資料完整性編碼校驗演演算法(類似於WEP中的CRC32演演算法):EAP稱為擴充套件認證協議,是一種架構,而不是演演算法。

WPA認證方式:

           工業級的,安全性高的地方用,需要認證伺服器:802.1x+EAP

           家用級的,安全性低的地方用,無需認證伺服器:Pre-sharedKey

WPA的破解方式(這個是以前的用法,太不實用了,還是順帶說說吧)

WPA破解不是抓越多的包就可以同WEP一樣破解掉了,WPA破解跟抓包數量的多少沒有半毛錢關係,破解的關鍵是要獲取握手包,四次握手包!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)→APAP端接受到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。那麼第四次握手成功。若不等說明則AP 和STATION 的金鑰不相同,或STATION 發過來的資料幀受到過中間人攻擊,原資料被篡改過。握手失敗了。
總之,想要破解WPA-PSK,必須符合以下條件:
A.      必須要有合法客戶端,並且存在合法的通訊流量。
B.      通過抓取資料包進行破解的幾率為0,唯一的破解方法是抓取WPA-PSK的四次握手包然後暴力破。
C.      得到四次握手包之後,破解的關鍵就是字典的好壞,運氣很重要滴。
然後,我們開始幹活:

1.      破解的方法

以前我所瞭解的都是跑字典,暴力的破解密碼,這個字典聽說是G級別的容量,不過貌似有簡化版的,而且跑字典的方法,耗時實在是太多了,受不了啊~現在出現了另外一種的破解方法,接下來說說:

         利用WPS的PIN碼,以窮舉的方式猜PIN碼連線路由。這裡說明一下,因為PIN碼都是數字,八位的,破解的時候先破前四位,如果發現一致就反饋一個資訊,所以,前四位破撐飽了也就10^4次,確定了前四位後破接下來的三位,接下來的3位撐飽了也只有1000次,最後一位是校驗位,它根據前七位得到,所以,這麼算下來也就11000次,比跑字典輕鬆多了!

P.S.只有AP 開啟了WPS功能,才可以用PIN法學習PSK 密碼!

2.      破解的工具

目前就我用過知道的破解軟體有BT,CDLinux,奶瓶,水滴,打氣筒。BT很早之前玩過了,需要一些配置,略過。剩下的,不知道是不是rp的問題,只有打氣筒讓我成功了,其他的多少都有點問題。所以,接下來說說打氣筒怎麼用。

然後,我們開始實際動手玩一玩。(換個實驗環境來寫此篇教程,在宿舍的實驗環境下寫,影響太不好了,嘻嘻)

         言歸正傳,需要的裝置:UltraoISO+U盤或者VmWare,無線網絡卡一張,膝上型電腦滑鼠等等。軟體就是上面提到的打氣筒。

這裡說說Vmware的方法,另外一個百度、google、bing之:

2.安裝完成後開啟,接下來按照圖示操作:

檔案—新建虛擬機器—















轉載請註明出處。謝謝!

blog.csdn.net/chenpeggy