不少無線路由器都支持WPS(Wifi Protection Setup)功能,它是一種可讓用戶無需密碼直接鏈接Wifi的技術。原本這種技術的初衷是讓用戶更加方便的鏈接網絡,可是由於它有嚴重的安全漏洞,因此反而讓用戶的網絡更加不安全。所以在這裏推薦你們使用路由器的時候沒事就把WPS功能關掉。算法
由於要進行滲透測試,因此首先我先把本身路由器的WPS功能開啓,固然測試結束以後別忘了關閉WPS功能。安全
使用前一篇文章介紹的方法安裝好Kali虛擬機或者U盤系統,而後就能夠準備開始了。網絡
固然這裏使用到的工具並非只有Kali能用,其餘Linux發行版也可使用。可是仍是推薦Kali,由於不少滲透測試工具都是按照安防論文的理論來實現的,不少都已經再也不維護了。而Kali收集了不少尚在維護的工具分支,若是你使用其餘發行版的話,可能其軟件倉庫中的版本仍是原來的舊版本。工具
本文比較簡單,涉及到的工具備兩個,reaver和aircrack-ng。測試
我用的是臺式機安裝的Kali虛擬機系統,天然是沒有無線功能的,因此須要一塊無線網卡。值得稱道的是如今Linux驅動很是完善了,我原來買的360無線網卡能夠直接驅動成功。加密
鏈接方法也十分簡單,電腦插上無線網卡,而後在VMware軟件右下角找到無線網卡的圖標,點擊並選擇鏈接到虛擬機,這樣就大功告成了。整個系統可能會卡幾秒鐘,以後就正常了。spa
鏈接成功後,在Kali虛擬機中應該能夠看到Wifi圖標了,用lsusb命令還能夠查看到無線網卡的廠商和具體型號,能夠看到個人無線網卡具體型號是MT7601U。命令行
首先輸入sudo airmon-ng
命令查看一下當前系統中的無線網卡,在Kali中這個接口名默認應該是wlan0。3d
而後輸入下面的命令關閉可能影響網卡監聽的程序,而後開啓監聽模式。開啓完畢以後,再次輸入sudo airmon-ng
,應該就會看到此次接口名變成了wlan0mon,這樣就說明成功開啓了監聽模式,能夠進行下一步了。code
sudo airmon-ng check kill sudo airmon-ng start wlan0
輸入下面的命令開始掃描附近的無線網絡。
sudo wash -i wlan0mon
稍後應該就會顯示出附近開啓了WPS的全部網絡了,dBm是信號大小,值越小說明信號越強,按Ctrl+C便可中斷命令。若是想要查看全部網絡的話,能夠添加-a
參數,它會列出全部網絡(包括了未開啓WPS功能的網絡)。
這時候就要記下來網絡的BSSID(網絡Mac地址)以及ESSID(網絡名稱),準備好下一步的工做了。
好了,下面就能夠開始正式的工做了,其實提及來原理也很簡單,WPS PIN是一個8位數字密碼,因此其實咱們要作的就是不斷的嘗試,最終找到這個PIN。總共須要嘗試的次數有一億次,看起來這個數字很是大,可是在安全領域,一億次算是一個很是小的次數了,不少加密算法要攻破甚至須要全世界全部計算機同時計算幾百年。
固然要搞定WPS的PIN並不須要這麼長時間,最多10來個小時就能夠了,平均用時可能也就4-5個小時左右。並且一旦知道了PIN,得到WIFI密碼僅須要數秒便可搞定。以後只要PIN碼沒有發生變化,就算WIFI密碼被修改,也能夠很輕鬆的搞定。
接下來就要輪到本文的主角登場了,這就是reaver,專門用於破解WPS Wifi網絡的工具。輸入-h
參數便可查看幫助信息,這裏簡單列出一些咱們要使用的參數。
詳細參數參考reaver的幫助,並不難懂。
瞭解了reaver命令行的用法以後,就能夠正式開始了。不少時候一次可能並不能成功,須要嘗試屢次。
由於是測試,因此我乾脆直接指定了PIN的值。爲了更詳細的瞭解命令運行過程,能夠開啓2級或者3級輸出看看reaver工具到底幹了啥。
sudo reaver -i wlan0mon -b BC:D1:77:76:39:06 -p 81103355 -vv
若是出現了下面的bad FCS,能夠在添加-F
參數忽略幀校驗錯誤,而後再次嘗試。
若是一切正常的話,應該會在幾分鐘內經過PIN解開WIFI的密碼。若是不知道PIN密碼的話,也能夠經過幾個小時的嘗試來試出PIN進而得知WIFI密碼。所以咱們在平常使用的時候,必定要記得關掉WPS功能,它是不少漏洞的根源。