WPA簡單抓包分析


實驗環境

kali,因為我的是虛擬機,需要再外接一塊網卡

無線網卡的四種工作模式

  • 被管理模式:當無線客戶端直接與無線接入點連接時,就是用這個模式
  • ad hoc模式:當網絡有相互直連的設備組成時,使用這個模式
  • 主模式:這個模式永續無線網卡使用特制的驅動程序和軟件工作
  • 監聽模式:使得網卡專心監聽空氣中的數據包
    下圖是四種模式的圖示,來自《wireshark 數據包分析實戰 第二版》

WPA—PSK破解原理

我們都知道破解 WPA-PSK 不是和 WEP 一樣抓很多包就能破解的,這跟抓多少數據包一點關系也沒有。破解的關鍵是要獲取握手包,這個握手包叫4way-handshake四次握手包。
WPA 四次握手過程:
  WPA-PSK 初始化工作:
  使用SSID和passphares使用以下算法產生PSK。
  在WPA-PSK中PMK=PSK,PSK=PMK=pdkdf2_SHA1(passphrase,SSID,SSID length,4096)
  第一次握手:
  AP廣播SSID,AP_MAC(AA)→STATION
  STATION 端使用接受到的SSID,AP_MAC(AA)和passphares使用同樣算法產生PSK
  第二次握手:
  STATION 發送一個隨機數SNonce,STATION_MAC(SA)→AP
  AP端接受到SNonce,STATION_MAC(SA)后產生一個隨機數Anonce,然后用PMK,AP_MAC(AA),STATION_MAC(SA),SNonce,ANonce 用以下算法產生PTK
  PTK=SHA1_PRF(PMK, Len(PMK), "Pairwise key expansion",MIN(AA,SA) ||Max(AA,SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce))
  提取這個PTK 前16 個字節組成一個MIC KEY
  第三次握手:
  AP發送上面產生的ANonce→STATION
  STATION 端用接收到ANonce 和以前產生PMK,SNonce,AP_MAC(AA), STATION_MAC(SA),用同樣的算法產生PTK。提取這個PTK 前16 個字節組成一個MIC KEY,使用以下算法產生MIC值,用這個MIC KEY 和一個802.1x data 數據幀使用以下算法得到MIC值。
  MIC = HMAC_MD5(MIC Key,16,802.1x data)
  第四次握手:
  STATION 發送802.1x data ,MIC→AP
  STATION 端用上面那個准備好的802.1x 數據幀在最后填充上MIC值和兩個字節的0(十六進制)讓后發送這個數據幀到AP。
  AP端收到這個數據幀后提取這個MIC。並把這個數據幀的MIC部分都填上0(十六進制)這時用這個802.1x data 數據幀,和用上面AP產生的MIC KEY 使用同樣的算法得出MIC’。如果MIC’等於STATION 發送過來的MIC。那么第四次握手成功。若不等說明則AP 和STATION 的密鑰不相同,或STATION 發過來的數據幀受到過中間人攻擊,原數據被篡改過。握手失敗了。
  綜上所述:
  WPA-PSK安全體系是十分強大和完善的。但他始終是用一個密碼保護的,對於這種用密碼保護的安全體系,一般情況下我們都可以用一種叫字典攻擊的常規攻擊手段。針對WPA-PSK的破解,目前也就只有字典攻擊這一種方式了。原理是通過截取WPA-PSK的四次握手包中包含的和密碼有聯系的信息,再依靠這個信息進行字典暴破。
  總之,想要破解WPA-PSK這種強大的加密算法,必須符合以下條件:
  須要有合法客戶端,並且存在合法的通信流量,通過抓取數據包進行破解的幾率為0,唯一的破解方法是抓取WPA-PSK的四次握手包然后進行字典破解。抓到四次握手包之后,最后破解的關鍵是字典的好壞程度,有一定的運氣成分了。如果碰到強口令時千萬不要鑽牛角尖,趁早放棄,因為WPA-PSK的破解目前唯一有實際價值的只有弱密碼字典攻擊。

抓取無線數據的方法

也可以參考
https://www.cnblogs.com/linkr/p/4502161.html
https://blog.csdn.net/xundh/article/details/50352391
其實在Linux下按照第一個連接中的linux的方法簡單可行,但我想抓取特定的包,便於我自己分析查看,所以還用到了Aircrack-ng這個工具,工具的使用可以參照https://www.jianshu.com/p/fd16236057df下面是我的步驟

步驟

查看我的網卡

airmon-ng start wlan0使用工具將我的網卡激活至監聽模式

airodump-ng wlan0mon,探測周圍的wifi,其中IRM為我們宿舍的wifi,它的mac為50:FA:84:3E:05:AC,信道為13

用wireshark開始抓包,根據上步得到的bssid進行過濾

802.11包有3種類型,分別為管理、控制、數據
Beacon是一種管理數據包,選擇一個進行分析

可以看到:
路由器的物理地址和廠商
timestamp為該包發送的時間戳
ssid parameter set wap廣播的ssid,這里為IRM確實是我們宿舍的
supported rates wap支持的數據傳輸率
ds parameter wap廣播使用的信道,這里為13與開始工具探測的一致

並能看到wpa,rsn的版本,采用加密方式等屬性信息
接着我讓我的手機連接wifi
開始我的手機發送了請求包,接着wifi進行了回應

接着進行了認證與關聯

接下來是四次握手過程





之后就可以進行數據傳輸


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM