
文章目錄1 原理分析1.1 WPS在線攻擊1.2 WPS離線攻擊2 實驗過程本文使用小白抓包工具演示W(wǎng)PS PIN碼離線逆向過程以供學(xué)習(xí)與技術(shù)分析。本次實驗以無線安全審計目的意在對路由器安全強度進行測試僅做學(xué)習(xí)研究之用。請注意遵循相關(guān)法律法規(guī)?!窘坛毯霞俊緹o線抓包實驗1】抓包獲取隱藏WiFi名稱【無線抓包實驗2】5G WiFi抓包跑包全流程【無線抓包實驗3】批量抓包與無客戶端抓包【無線安全實驗4】WPS離線破譯原理與實驗1 原理分析詳細原理介紹https://blog.csdn.net/2301_81348092/article/details/1518432441.1 WPS在線攻擊PIN碼為8位純數(shù)字而第8位為前面1-7位的校驗和所以總共只有10的7次方種組合。而由于PIN碼的驗證過程是分段式的即先驗證前4位再驗證后4位則攻擊者只需先猜測前4位組合104再猜測后四位組合103即最多11000種組合即可猜出正確PIN碼。而WPS協(xié)議最初默認沒有對PIN的驗證次數(shù)進行限制這就使在線PIN坡解成為了可能。傳統(tǒng)的在線攻擊方案可以借助 reaver 或 bully 簡便地實現(xiàn)信號良好情況下大約 3s/pinWPS1.0無鎖 PIN 現(xiàn)象平均幾小時即可攻破一臺路由器。1.2 WPS離線攻擊現(xiàn)在多數(shù)路由器都是 WPS2.0WSC會出現(xiàn)鎖 PIN 現(xiàn)象一定程度提高了安全性??删退闶菐状?PIN 嘗試的機會也留給了攻擊者可乘之機。2014年Dominique Bongard演示了一種離線WPS的方法對某些存在安全漏洞的路由器可在不到一秒內(nèi)破譯。該攻擊利用了某些路由廠商芯片只能生成低熵的偽隨機數(shù)進而坡解加密過程。攻擊稱為“pixie-dust attack”翻譯為“小精靈塵埃攻擊”或“仙塵”攻擊外國人起名靈感感覺大都跟游戲影視作品有關(guān)。入網(wǎng)設(shè)備和AP之間沒有傳輸PIN碼是通過計算PIN碼的Hash值來驗證的。如果PIN碼驗證失敗流程會止于M4階段。根據(jù)之前在線PIN坡解過程分析攻擊者可以獲取到PIN碼最終計算產(chǎn)物E-Hash1和E-Hash2AP發(fā)送的M3幀以及中間計算值A(chǔ)uthKey、PKE、PKE而初始參數(shù)PIN碼與兩個中間計算使用的隨機數(shù)E-S1和E-S2是不知道的。但是如果攻擊者能猜測到AP生成的隨機數(shù)E-S1和E-S2就可以通過代入所有PIN碼組合去猜測驗證最終獲取到PIN碼。那么怎么能猜到AP生成的隨機數(shù)呢Dominique Bongard發(fā)現(xiàn)某些路由器的芯片生成的是不安全的偽隨機數(shù)Pseudo-Random Number GeneratorPRNG導(dǎo)致其可以通過上一個隨機數(shù)進行逆向預(yù)測。例如Broadcom基本上使用C中的Rand()函數(shù)在Ralink中隨機數(shù)始終不會生成因此為0而RTL819x生成的隨機數(shù)存在復(fù)用N1、E-S1、E-S2均相同。易受攻擊的路由器收錄https://docs.google.com/spreadsheets/d/1tSlbqVQ59kGn8hgmwcPTHUECQ3o9YhXR91A_p7Nnj5Y/edit#gid2048815923在攻擊過程中M1階段受攻擊路由器會生成隨機數(shù)N1E-Nonce到M3階段又會生成的隨機數(shù)E-S1和E-S2這兩個隨機數(shù)是緊接著N1生成的。而N1可以直接捕獲到如果路由器生成的是偽隨機數(shù)就可以進行逆向分析。2 實驗過程其實現(xiàn)在大多數(shù)路由器已經(jīng)沒有WPS漏洞了越新的路由器會采用更新的無線安全標準如WPA3同時禁用WPS功能。無線安全水平是在不斷提升的但也不排除還有少部分老舊路由器沒有被淘汰更新。本次實驗使用的軟件WiFiGrab進行原理分析。官網(wǎng)鏈接https://wwifi.cc.cd/software/wifigrab/百度云盤下載https://pan.baidu.com/s/1Q9oWrHF_nKgwOtKyVcb7IQ?pwdxxwd123云盤下載https://www.123684.com/s/q496Td-Ru95H接入USB抓包網(wǎng)卡后啟動軟件。在設(shè)置中可同時啟用2.4G和5G掃描并將掃描時間改長一些確認。點擊掃描WiFi對附近無線網(wǎng)絡(luò)進行掃描。掃描完成可以觀察邊框顏色黑色邊框說明AP啟用了WPS灰色邊框說明AP未啟用WPS軟件通過AP信標幀中的wifi_protected_setup_state字段確定。僅對已啟用WPS的AP進行測試需注意隱藏WiFi即使啟用了WPS也無法直接進行WPS攻擊因為不知道WiFi名稱無法接入。但其實WiFi名稱是可以通過抓包獲取的不過本軟件不涉及該內(nèi)容。以筆者自己的路由器榮耀CD16進行測試選擇目標后點擊PIN。運行后WPS離線攻擊沒有成功說明該路由器沒有偽隨機數(shù)漏洞。觀察日志可以看到軟件如前面分析的對AP發(fā)起WPS的流程。通過M1到M3交互獲取到E-Nonce、PKR、PKE、AuthKey等信息然后嘗試猜測E-S1和E-S2但未猜測成功該AP可能基于物理過程生成的是真隨機數(shù)或是使用其他算法生成的隨機數(shù)。筆者對周圍的路由器也進行了安全測試發(fā)現(xiàn)大多數(shù)路由器也不存在此漏洞是較新的路由設(shè)備。但也有極個別路由器可能是采用老式芯片的光貓或路由器是有該漏洞存在的。前文有易受攻擊的路由器收錄的信息而WPS的廣播信息中有兩個字段Model Name和Model Number標識了AP設(shè)備的型號與編號由此能得知AP是否易受攻擊。易受攻擊的路由器在軟件中會顯示為藍色邊框同時在MAC地址后側(cè)括號中會顯示該設(shè)備信息如Ralink Wireless Access Point RT2860。筆者找到了個別顯示藍色邊框的路由器進行測試發(fā)現(xiàn)其PIN碼信息可以被計算出來且只需要不到十幾秒時間。