WPA簡單抓包分析

實驗環境

kali,由於個人是虛擬機,須要再外接一塊網卡html

無線網卡的四種工做模式

  • 被管理模式:當無線客戶端直接與無線接入點鏈接時,就是用這個模式
  • 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的破解目前惟一有實際價值的只有弱密碼字典攻擊。























linux

抓取無線數據的方法

也能夠參考
https://www.cnblogs.com/linkr/p/4502161.html
http://www.javashuo.com/article/p-zhdzevxd-km.html
其實在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進行了迴應

接着進行了認證與關聯

接下來是四次握手過程





以後就能夠進行數據傳輸































安全

相關文章
相關標籤/搜索