第八章 攻擊企業(yè)級 WPA 和 RADIUS
作者:Vivek Ramachandran, Cameron Buchanan
譯者:飛龍
協(xié)議:CC BY-NC-SA 4.0
簡介
個頭越大,摔得越慘。
-- 諺語
企業(yè)級 WPA 總是自帶不可攻破的光環(huán)。多數(shù)網(wǎng)絡管理員認為它對于無線安全問題是個銀彈。在這一章中,我們會看到這個真理不再正確了。
這一章中,我們會了解如何使用多種 Kali 包含的工具和技巧,來攻擊企業(yè)級 WPA。
8.1 配置 FreeRADIUS-WPE
我們需要 RADIUS 服務器來實施企業(yè)級 WPA 攻擊。最廣泛使用的開源 RADIUS 服務器時 FreeRADIUS。但是,它難于配置,并且為每次攻擊而配置它十分無聊。
Joshua Wright 是一個知名的安全研究員,他寫了一個 FreeRADIUS 的補丁使其易于配置和執(zhí)行攻擊。這個補丁以 FreeRADIUS-WPE 發(fā)布。Kali 沒有自帶 FreeRADIUS-WPE ,所以我們需要執(zhí)行下列步驟來配置。
-
訪問
https://github.com/brad-anton/freeradius-wpe并且你會找到下載連接:https://github.com/brad-anton/ freeradius-wpe/raw/master/freeradius-server-wpe_2.1.12-1_i386. deb。 -
下載完成之后,在
ldconfig之后使用dpkg –i freeradius-server-wpe_2.1.12-1_ i386.deb來安裝:我們現(xiàn)在需要快速在 Kali 上配置 Radius 服務器。
實戰(zhàn)時間 -- 使用 FreeRADIUS-WPE 建立 AP
-
將接入點的 LAN 端口之一連接到你的 Kali 主機的以太網(wǎng)端口。我們這里的接口是
eth0。啟動這個接口并通過運行 DHCP 獲得 IP 地址,像這樣: -
登錄接入點,將安全模式設為 WPA/WPA2-Enterprise,將
Version設為 WPA2,將Encryption設為 AES。之后,在EAP (802.1x)部分下面,輸入 Radius 服務器 IP 地址,就是你的 Kali 的 IP 地址。Radius Password是test,像這樣: -
讓我們現(xiàn)在打開新的終端,訪問目錄
/usr/local/etc/raddb。這是所有 FreeRADIUS-WPE 配置文件存放的地方。 -
讓我們打開
eap.conf。你會發(fā)現(xiàn)default_eap_type設為了 MD5,讓我們將它改為peap。 -
讓我們打開
clients.conf。這就是我們定義客戶端白名單的地方,它們能夠連接到我們的 Radius 服務器。有趣的是,如果你瀏覽到下面,忽略設置示例,范圍192.168.0.0/16的secret默認設為test,這就是我們步驟 2 中所使用的。 -
我們現(xiàn)在使用
radiusd –s –X命令啟動 RADIUS 服務器。 -
一旦啟動完畢,你會在屏幕上看到一堆調試信息,但是最后服務器會安頓下來并監(jiān)聽端口。太棒了!我們現(xiàn)在可以開始這一章的實驗了。
剛剛發(fā)生了什么?
我們成功配置了 FreeRADIUS-WPE。我們會在這一章的實驗的剩余部分使用它。
試一試 -- 玩轉 RADIUS
FreeRADIUS-WPE 擁有大量選項。使你自己熟悉它們是個好的主意?;ㄙM時間來查看不同的配置文件,以及它們如何協(xié)同工作非常重要。
8.2 攻擊 PEAP
受保護的可擴展的身份驗證協(xié)議(PEAP)是 EAP 的最廣泛使用的版本。這是 Windows 原生自帶的 EAP 機制。
PEAP 擁有兩個版本:
- 使用 EAP-MSCHAPv2 的 PEAPv0(最流行的版本,因為 Windows 原生支持)。
- 使用 EAP-GTC 的 PEAPv1。
PEAP 使用服務端的證書來驗證 RADIUS 服務器。幾乎所有 PEAP 的攻擊都會利用證書驗證的不當配置。
下一個實驗中,我們會看一看如何在客戶端關閉證書驗證的時候破解 PEAP。
實戰(zhàn)時間 -- 破解 PEAP
遵循以下指南來開始:
-
再次檢查
eap.conf文件來確保開啟了 PEAP: -
之后重啟 RADIUS 服務器,使用
radiusd –s –X: -
監(jiān)控由 FreeRADIUS-WPE 創(chuàng)建的日志文件:
-
Windows 原生支持 PEAP。讓我們確保關閉了證書驗證:
-
我們需要點擊
Configure標簽頁,它在Secured password的旁邊,并告訴 Windows 不要自動使用我們的 Windows 登錄名稱和密碼: -
我們也需要在
Advanced Settings對話框中選擇User authentication。 -
一旦客戶端連接到了接入點,客戶端會提示輸入用戶名和密碼。我們使用
Monster作為用戶名,abcdefghi作為密碼: -
一旦我們完成了,我們就能在日志文件中看到 MSCHAP-v2 challenge 響應。
-
我們現(xiàn)在使用
asleap來破解它,使用包含abcdefghi的密碼列表文件,我們能夠破解它。(出于演示目的,我們只創(chuàng)建了單行的文件,叫做list,其中包含列表。)
剛剛發(fā)生了什么?
我們使用 FreeRADIUS-WPE 建立了蜜罐。企業(yè)客戶端配置不當,沒有使用 PEAP 證書驗證。這允許我們將我們的偽造證書展示給客戶端,它被樂意接受了。一旦它發(fā)生了,內部驗證協(xié)議 MSCHAP-v2 開始生效。由于客戶端使用我們的偽造證書來解密數(shù)據(jù),我們能夠輕易讀取用戶名、challenge 和響應元組。
MSCHAP-v2 易于受到字典攻擊。我們使用asleap來破解 challenge 和響應偶對,因為它看起來基于字典中的單詞。
試一試 -- 攻擊 PEAP 的變體
PEAP 可以以多種方式不當配置。即使打開了證書驗證,如果管理員沒有在連接到服務器列表中提到驗證服務器,攻擊者可以從任何列出的簽證機構獲得其他域的真實證書。這仍舊會被客戶端接受。這個攻擊的其他變體也是可能的。
我們推薦你探索這一章的不同可能性。
EAP-TTLS
我們推薦你嘗試攻擊 EAP-TTLS,它類似于這一章我們對 PEAP 所做的事情。
企業(yè)安全最佳實踐
我們意見看到了大量的對 WPA/WPA2 的攻擊,有個人也有企業(yè)。基于我們的經(jīng)驗,我們推薦下列事情:
對于 SOHO 和中型公司,使用強密碼的 WPA2,你總共能輸入 63 個字符,好好利用它們。
對于大型企業(yè),使用帶有 EAP-TLS 的企業(yè)級 WPA2。這會同時在客戶端和服務器使用證書來驗證,目前沒辦法攻破。
如果你需要帶有 PEAP 或者 EAP-TTLS 的 WPA2,確保你的證書驗證打開,選擇了正確的簽發(fā)機構,RADIUS 服務器開啟了授權,最后,關閉任何允許用戶接受新的 RADIUS 服務器、證書或者簽發(fā)機構的配置。
小測驗 -- 攻擊企業(yè)級 WPA 和 RADIUS
Q1 FreeRADIUS-WPE 是什么?
- 從頭開始編寫的 RADIUS 服務器。
- FreeRADIUS 服務器的補丁。
- 所有 Linux 默認自帶的版本。
- 以上都不是。
Q2 下列哪個可以用于攻擊 PEAP?
- 偽造驗證信息
- 偽造證書
- 使用 WPA-PSK
- 以上全部
Q3 EAP-TLS 使用了什么?
- 客戶端證書
- 服務端證書
- 1 或者 2
- 1 和 2
Q4 EAP-TTLS 使用了什么?
- 只有客戶端證書
- 服務端證書
- 基于密碼的驗證
- LEAP
總結
這一章中,我們看到了如何攻破運行 PEAP 或者 EAP-TTLS 的企業(yè)級 WPA。它們是兩個用于企業(yè)的最常見的驗證機制。
下一章中,我們會看一看如何把我們學到的所有東西用于真實的滲透測試。

















