微信號:freebuf
0x00 背景知識
WPS(Wi-FiProtected Setup,Wi-Fi保護設置)是由Wi-Fi聯盟組織實施的認證項目,主要致力於簡化無線網絡的安全加密設置。有兩種模式,註冊名模式輸入pin碼即可,註冊模式按下AP上的按鈕即可。
多米尼克•邦加德發現一些無線ap產生隨機數的方法不安全(像著名的128位隨機數E-S1,和E-S2),如果我們能搞清楚隨機數是什麼,就很容易發現ap的wps pin因為在ap一定會給我們包含pin的hash校驗值。
0x01 算法分析
在每一個wps設備中都有以下算法
E-Hash1 = HMAC-SHA-256(authkey) (E-S1 | PSK1 | PKE | PKR)
E-Hash2 = HMAC-SHA-256(authkey) (E-S2 | PSK2 | PKE | PKR)
簡單說,-E-Hash1和2是我們需要暴力破解的hash值
HMAC-SHA-256 一種hash函數
PSK1/PSK2 是路由器的pin碼 最多10000種可能
PKE 是註冊名設定模式下的公鑰
PKR 是註冊設定模式下的公鑰,為了校驗wps改變的合法性和預防重放攻擊
假設我們已經知道PKE,PKR,Authkey,E-Hash1和E-Hash2(所有這些都從reaver發布的修改版本中得來),我們已經找到E-S1和E-S2(因為我們只是暴力破解他們或者他們就等於0),我們可以通過hash函數運行的所有數據,並嘗試每一個pin和秘密隨機數),直到我們有一個匹配的hash。
0x02 從AP路由器的響應中校驗PIN碼的正確性
如果攻擊者在發送M4後接收到EAP-NACK消息,則前一半PIN錯誤;
2. 如果攻擊者在發送M6後接收到EAP-NACK消息,則後一半PIN錯誤八位的PIN碼中最後一位是校驗碼,由前七位得到,大大縮短了破解難度。
下面流程圖展示了完整的暴力破解過程
0x03受影響的產品
Realtek產品漏洞是晶片生成註冊隨機數和生成E-S1,E-S2使用了相同的算法。意味著如果信息交換發生在同時,它們的值就都相同。找到隨機數的種子,通過改變種子來逆推它們,不簡單但是可行。
唯獨特殊的是Ralink廠商,完全的沒有E-S1和E-S2,都是零,just hack。
0x04 Kali2.0中的無線工具
(1)reaver 和 pixie
reaver 結合pixie
先貼出官方的視頻地址
https://vimeo.com/126489367
airmon-ng start wlan0 //開啟網卡
airodump-ng wlan0mon //監聽模式,查找開啟wps的ap
reaver -i wlan0mon -b [ap’s mac] -vv -K 1 //reaver破解pin-K 1 選項 結合pixies 灰塵攻擊 得到pin碼
reaver-i mon0 -b [ap's MAC] -p PIN8位數 //通過wps pin 獲取密碼
reaver的其他功能
1、reaver -S //生成一個小的DH key 加快破解速度。
通常一個驗證請求會在0.5到3秒內完成,計算Diffie-Hellman共享密鑰會佔據大量的時間,生成一個很小的DH公鑰會使計算變的簡單。
注意:如果測試的是realtek 的ap 不要用 -S 選項加快破解速度
2、部分路由器會禁止暴力嘗試pin碼,自動鎖定5分鐘,強制關閉等等。
然而我在讀reaver原始碼時發現開發者專門為此做了優化,堪稱業界良心。
3、reaver -P //此選項reaver進入循環模式,打破wps的規則不用M4消息以此突破封鎖,用於結合pixie收集hash函數,以便日後分析比較,沒準還能發現更多的漏洞晶片。
(2)無線滲透神器 Aircrack-ng v1.2 RC2更新
Aircrack-ng是無與倫比的滲透工具套件——任何無線滲透測試或評估都必不可少。在這個最新Aircrack-ng中,除正常的bug修復和代碼改進外,其他值得注意的特點是:
1、airmon-ng現在能夠解密WPS。
2、airodump-ng也有了一些新的選項比如-wps 和 -uptime
3、airtun-ng 增加了wpa的 ccmp tkip 兩種加密和解密方法
4、新的接口命名約定,再見mon0,你好wlan0mon !
最近的幾個版本,aircrack-ng套件捆綁airmon-zc,它使用一種改進的方法,把無線網卡進入監聽模式,以及更詳細的輸出選項。隨著Aircrack-ng 1.2 RC2的發布,airmon-zc正式取代了原始Airmon-ng。
(3)然而在開始無線測試之前還需要解決重大的問題
KALI網卡的配置一直讓人頭疼
airmon激活網卡前最好先運行airmon-ng check kill,結束一些不必要的進程。
有的驅動文件中並沒有監聽模式,我曾經用的RTL8187網卡,安裝了附贈的驅動後在舊版kali中各種受折磨,不過幸好新版內置了這款網卡的驅動直接可以使用。
(附贈官方KALI網卡導購指南,請閱讀原文)
*本文作者:月盡西樓,參考百度盤資料,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載