本文將主要講講WPA-PSK類型的無線網絡安全問題,首先咱們看下802.11協議相關的基礎知識。linux
802.11常見的幾種認證方式:算法
一、不啓用安全sass
二、WEP安全
三、WPA/WPA2-PSK(預共享密鑰)網絡
四、WPA/WPA2 802.1X (radius認證)less
具體在路由器的配置界面通常以下圖所示:tcp
WPA-PSK的認證過程:工具
因爲我這裏主要分析wpa-psk類型的認證方式,因此這裏就不討論其餘的認證方式了,經過抓包分析,咱們能夠看到wpa-psk的大體認證過程分爲如下幾步。性能
一、無線AP按期發送beacon數據包,使無線終端更新本身的無線網絡列表。測試
二、無線終端在每一個信道(1-13)廣播ProbeRequest(非隱藏類型的WiFi含ESSID,隱藏類型的WiFi不含ESSID)。
三、每一個信道的AP迴應,ProbeResponse,包含ESSID,及RSN信息。
四、無線終端給目標AP發送AUTH包。AUTH認證類型有兩種,0爲開放式、1爲共享式(WPA/WPA2必須是開放式)。
五、AP迴應網卡AUTH包。
六、無線終端給AP發送關聯請求包associationrequest數據包。
七、AP給無線終端發送關聯響應包associationresponse數據包。
八、EAPOL四次握手進行認證(握手包是破解的關鍵)。
九、完成認證能夠上網。
802.11數據幀類型說明
802.11協議的幀類型主要包括管理幀和數據幀,咱們這裏主要用到管理幀:
管理幀的主體包含的固定字段與信息元素是用來運送信息的。管理幀主要如下幾種,負責鏈路層的各類維護功能。
1. Beacon 信標幀
主要用來聲明某個網絡的存在。按期(默認100s、可本身設置)傳送的信標可以讓station得知網絡的存在,從而調整加入該網絡所必需的參數。
2. Probe Request 探查請求幀
移動工做站利用Probe Request探查請求幀來掃描區域內目前哪些802.11網絡。
包含2個字段
SSID:可被設定爲特定網絡的 SSID 或任何網絡的 SSID 。
Support rates:移動工做站所支持的速率。
3.ProbeResponse探查響應幀
若是ProbeRequest所探查的網絡與之兼容,該網絡就會以ProbeResponse幀響應。送出最後一個beacon幀的工做站必須負責響應所收到的探查信息。
Probe Request幀中包含了beacon幀的所參數,station可根據它調整加入網絡所須要的參數。
4.IBSS announcement traffic indication map (ATIM)
IBSS 的通知傳輸只是消息
5.Disassociation and Deauthentication
取消關聯、解除驗證幀
6. AssociationRequest
關聯請求幀
7.Reassociation Request
從新關聯
8.Association Response and Reassociation Response
關聯響應、從新關聯響應
9.Authentication
身份驗證幀 ///Authentication Algorithm Number:用於算法擇
10.Action frame
幀傳送、關聯與身份驗證的狀態
State1 :未經認證且還沒有關聯 2 :已經認證但還沒有關聯 3 :已經認證且已經關聯。
下圖是用科來分析數據包顯示的幀類型:
WPA-PSK認證四次握手認證的過程:
WPA-PSK破解原理:
用咱們字典中的PSK+ssid先生成PMK(此步最耗時,是目前破解的瓶頸所在),而後結合握手包中的客戶端MAC,AP的BSSID,A-NONCE,S-NONCE計算PTK,再加上原始的報文數據算出MIC並與AP發送的MIC比較,若是一致,那麼該PSK就是密鑰。如圖所示:
WPA-PSK破解過程:
接下來咱們看看如何進行抓握手包破解WPA-PSK的無線AP,我這裏用的工具是kali Linux,kali Linux集成了aircrack套件。而後網卡使用的是rtl8187芯片的外置USB網卡。
破解步驟以下:
第一步:把usb網卡插入虛擬機,並開啓網卡到監聽模式,命令以下:
「ifconfig wlan0 up」 加載usb網卡。
「airmon-ng start wlan0」 監聽模式已激活到mon0。(經過config 命令查看)。
若是不開啓監聽模式會報錯以下圖:
第二步:抓包查看有哪些無線網絡,抓包的界面以下圖所示:
「airodump-ng mon0」 查看周邊路由AP的信息。
我的經驗通常信號強度大於-70的能夠進行破解,大於-60就最好了,小於-70的不穩定,信號比較弱。(信號強度的絕對值越小表示信號越強)
第三步:選擇要破解的WiFi,有針對性的進行抓握手包,命令以下:
「 airodump-ng--ignore-negative-one -w /tmp/test.cap-c 11 --bssid 40:16:9F:76:E7:DE mon0」
參數說明:-w 保存數據包的文件名 –c 信道 –bssid ap的mac地址
(注意test.cap會被重命名),也能夠用其餘工具抓包好比:wireshark、tcpdump,抓到握手包會有提示。
第四步:爲了順利抓到握手包,咱們須要使用DEAUTH攻擊使已經鏈接的客戶端斷開並從新鏈接,以產生握手包。(注意:抓握手包破解必須有合法的客戶端才行。)攻擊命令以下:
aireplay-ng-0 111 -a ap'mac mon1
aireplay-ng-0 3 -a B8:A3:86:63:B4:06 -c 00:18:1a:10:da:c9 -x 200 mon1
參數說明:-0 Deautenticate 衝突模式 3 發包次數 -x 發包速度
抓包能夠看到不少deauthentication類型的數據包:
包結構以下:
抓到的數據包打開後以下圖:圖中使用wireshark打開的,EAPOL類型的數據包共有4個,即四次握手的數據包。
第五步:接下來就是破解握手包,命令以下:
aircrack-ng-w pass-haoyong.txt test-03.cap
參數解釋:-w 字典路徑
也可使用圖形化工具EWSA進行破解,Elcomsoft Wireless Security Auditor(EWSA)
號稱能夠利用GPU的運算性能快速攻破無線網絡密碼,運算速度相比使用CPU可提升最多上百倍。
上面咱們講解了經過抓握手包破解WPA-PSK認證的無線AP的全過程,從上述過程能夠看出,若是AP沒有合法的客戶端鏈接,或者密碼設置的足夠複雜就基本上不可能破解。
經過WPS破解無線路由器密碼
接下來咱們看一下另外一種破解方式,也就是常說的pin碼破解後者叫wps破解。首先了解下什麼是wps:
WPS(Wi-FiProtected Setup,Wi-Fi保護設置)是由Wi-Fi聯盟組織實施的認證項目,主要致力於簡化無線網絡的安全加密設置。
功能:
簡化配置,快速配置一個基於WPA2的網絡。
快速鏈接,輸入pin碼或按下WPS鍵便可完成網絡鏈接。
問題:
因爲WPS存在漏洞,經過PIN碼能夠直接提取上網密碼。
經過WPS快速配置無線路由器
咱們能夠經過WPS快速配置無線路由器:步驟以下
一、經過電腦鏈接新買的無線路由器,提示經過pin碼進行設置,界面以下:
二、輸入pin碼下一步,就會爲路由器自動生成一個足夠複雜的認證方式及密碼:
經過WPS快速鏈接已有網絡
咱們也能夠經過WPS快速鏈接已有網絡,不用輸入複雜的密碼:步驟以下(我使用小米手機進行測試)
一、在手機上選擇經過PIN碼進行鏈接或經過路由器上的WPS按鍵鏈接。
二、若是選擇前者只須要輸入pin碼便可鏈接,若是選擇的是後者則只須要按如下路由器上的wps鍵便可完成鏈接。
Pin碼破解的原理:
因爲WPS存在安全問題,經過PIN碼能夠直接提取上網密碼。而pin碼是一個8位的整數,破解過程時間比較短。WPS PIN碼的第8位數是一個校驗和,所以黑客只需計算前7位數。另外前7位中的前四位和後三位分開認證。因此破解pin碼最多隻須要1.1萬次嘗試,順利的狀況下在3小時左右。Wps認證流程以下圖:
破解的操做步驟:
第一步:Wash 掃描開啓WPS的網絡。
wash-i mon1 –C
第二步:窮舉破解pin碼,並經過獲取的pin碼獲得無線AP上網密碼。
reaver-i mon0 -b 5C:63:BF:BA:44:DC -a -S -vv
reaver參數說明:
1. -i 監聽後接口稱號
2. -b APmac地址
3. -a 主動檢測AP最佳配置
4. -S 利用最小的DH key(可以進步PJ速度)
5. -v、-vv 顯示更多的破解信息
6. -d 即delay每窮舉一次的閒置時候預設爲1秒
7. -t 即timeout每次窮舉守候反應的最長時候
8. -c指定頻道可以便當找到信號,如-c1 指定1頻道
若是無線路由器沒開wps功能會報錯以下圖:
另外破解過程當中無線路由器會有以下特徵:
破解成功後以下:
若是以前破解的無線路由器密碼被改了,能夠直接經過pin碼獲取密碼,命令以下:
reaver-i mon0 -b MAC -p PIN8位數
上面就是經過pin碼破解無線路由器密碼的全過程,可見開啓wps功能並不安全,建議最好不要開此功能。
最後介紹幾個圖形界面的工具:
經常使用的圖形界面的工具備水滴、打氣筒、奶瓶:
這些工具只是將Aircrack-ng、 reaver打包圖形化,即爲Aircrack-ng套件的GUI。
1. Aircrack-ng是一個與802.11標準的無線網絡分析關的安全軟件,主要功能:網絡偵測,數據包嗅探,WEP和WPA/WPA2-PSKPJ。
2. reaver,專用來pin PJ的軟件、通常都集成在水滴等裏面了。
3. 另外咱們經常使用的注:beini/CDlinux/xiaopan都是小型linux系統,已集成了上述工具。下圖爲水滴的界面。
安全建議:
1. 使用WPA2認證,不要使用wep或無認證。
2. 爲無線網路設置複雜的密碼。
3. 關閉WPS功能。