簡介
本篇文章詳細(xì)介紹了 Blast-RADIUS 漏洞及其對 RADIUS 協(xié)議的影響。我們將首先解釋該漏洞的工作原理,分析其針對 RADIUS 實現(xiàn)的具體攻擊方式。接著,文章展示了如何使用 ProfiShark 和 IOTA 工具進(jìn)行數(shù)據(jù)包捕獲和分析,以檢測系統(tǒng)是否存在漏洞。最后,文章提供了兩種應(yīng)對該漏洞的有效解決方案:通過 "Message-Authenticator" 屬性值對增強 RADIUS 消息的安全性,或在 RADIUS 客戶端和服務(wù)器之間使用 TLS 加密傳輸保護(hù)數(shù)據(jù)。
隨著網(wǎng)絡(luò)安全威脅的不斷增加,了解并預(yù)防可能的攻擊變得至關(guān)重要。Blast-RADIUS 是一種嚴(yán)重影響 RADIUS 協(xié)議的安全漏洞,能夠讓攻擊者繞過身份驗證獲取未經(jīng)授權(quán)的訪問權(quán)限。本篇文章將深入探討該漏洞的工作原理、檢測方法及應(yīng)對措施,幫助您有效防范潛在的安全風(fēng)險。
關(guān)于 Blast-RADIUS 的基礎(chǔ)知識
Blast-RADIUS 是一種影響 RADIUS 協(xié)議(依據(jù) RFC 2865)的安全漏洞。它允許位于 RADIUS 客戶端和服務(wù)器之間的中間人攻擊者偽造一個有效的訪問接受(access-accept)消息,來響應(yīng)實際已經(jīng)失敗的認(rèn)證請求。這種偽造使攻擊者能夠在無需猜測或強制破解密碼和共享密鑰的情況下,獲得對網(wǎng)絡(luò)設(shè)備和服務(wù)的訪問權(quán)限。攻擊者在請求中插入了一個惡意屬性,導(dǎo)致合法服務(wù)器響應(yīng)中的認(rèn)證信息與攻擊者偽造的消息發(fā)生碰撞。這使得攻擊者能夠?qū)⒕芙^轉(zhuǎn)變?yōu)榻邮埽⑻砑尤我獾膮f(xié)議屬性。然而,攻擊者并不會獲取任何用戶憑據(jù)。該漏洞已在 CVE-2024-3596 中描述。
具體來說,該攻擊是通過計算碰撞來攻擊響應(yīng)認(rèn)證器的 MD5 簽名。該攻擊代表了一個協(xié)議漏洞,因此影響所有不使用 EAP 認(rèn)證方法并通過 UDP 未加密工作的 RADIUS 實現(xiàn)。特別是,密碼認(rèn)證協(xié)議(PAP)和質(zhì)詢握手認(rèn)證協(xié)議(CHAP)方法受到影響。
圖1 對使用 PAP 方法進(jìn)行 RADIUS 驗證的 Blast-RADIUS 攻擊
如果無法直接使用 TLS 或 DTLS 進(jìn)行傳輸加密,可以使用 RFC 2869 中描述的可選 RADIUS 屬性 "Message-Authenticator" 作為替代方法。
該方法為整個 RADIUS 數(shù)據(jù)包計算一個 HMAC-MD5 校驗和。未通過此完整性檢查的數(shù)據(jù)包必須被靜默丟棄。根據(jù)當(dāng)前的狀態(tài),沒有共享密鑰的情況下,HMAC-MD5 校驗和無法被偽造。
如果在所有數(shù)據(jù)包中都要求使用有效的消息認(rèn)證屬性,這種攻擊將變得不可能。然而,這個屬性僅在 EAP 認(rèn)證方法中是強制性的,而在 PAP 和 CHAP 中并不是。即使在 RFC 5080 中也只是定義了一個 "SHOULD"(建議使用)。
如何檢查漏洞?
要檢查您的實現(xiàn)是否存在漏洞,可以捕獲 RADIUS 服務(wù)器和 RADIUS 客戶端之間的通信數(shù)據(jù)包,并根據(jù)受影響的協(xié)議特性進(jìn)行篩選。我們可以使用 ProfiShark 或 IOTA 捕獲數(shù)據(jù)包,基于 RADIUS 協(xié)議對 IOTA 進(jìn)行預(yù)篩選,并使用 Wireshark 進(jìn)行分析。需要捕獲 RADIUS 客戶端與服務(wù)器之間的數(shù)據(jù)包,例如,在圖2所示的內(nèi)聯(lián)模式下進(jìn)行捕獲。
圖2 在 RADIUS 客戶端(交換機(jī))和 RADIUS 服務(wù)器之間定位 IOTA 或 ProfiShark
使用 ProfiShark 進(jìn)行捕獲
在 ProfiShark Manager 中,我們需要在 "Network Ports" 選項卡中將 ProfiShark 設(shè)置為內(nèi)聯(lián)模式(即取消勾選 "Span Mode" 復(fù)選框,如圖 3 所示),然后將其內(nèi)聯(lián)集成到我們的網(wǎng)絡(luò)中(如圖 2 所示)。
圖3 在 ProfiShark Manager 中禁用 SPAN 模式,將 ProfiShark 內(nèi)聯(lián)集成到 RADIUS 客戶端和 RADIUS 服務(wù)器之間
接下來,在 "Capture" 選項卡中,根據(jù)需要設(shè)置捕獲目錄,并通過點擊 "Start Capture" 按鈕開始捕獲數(shù)據(jù),直到我們獲取到足夠的數(shù)據(jù)為止。
圖4 在 ProfiShark Manager 中設(shè)置捕獲目錄并開始捕獲
使用 IOTA 進(jìn)行捕獲
首先,我們需要確保在 IOTA 管理界面的 "Capture > Interface Configuration" 頁面上,將 IOTA 的捕獲接口設(shè)置為內(nèi)聯(lián)模式。
圖5 將端口控制設(shè)置為內(nèi)聯(lián)模式
然后,我們將 IOTA 內(nèi)聯(lián)集成到生產(chǎn)網(wǎng)絡(luò)中,并通過按下設(shè)備上的物理按鈕或在 "Capture > Capture Control" 頁面上點擊 "Start Capture" 按鈕開始捕獲數(shù)據(jù)。
圖6 通過 "Capture Control" 頁面上的 "Start Capture" 按鈕開始捕獲
現(xiàn)在,我們可以通過應(yīng)用程序或協(xié)議棧過濾器對 RADIUS 協(xié)議進(jìn)行過濾。最簡單的方法是過濾 "APPLICATION" 屬性,并將其值設(shè)置為 "RADIUS"(如圖 7 所示),這樣只會獲取 RADIUS 數(shù)據(jù)包。另一種選擇是通過 "PROTOCOL_STACK" 進(jìn)行過濾,設(shè)置值為 "Ethernet | IPv4 | UDP | RADIUS"。
圖7 過濾 RADIUS 數(shù)據(jù)包
在正確過濾協(xié)議后,我們可以滾動至概覽儀表板的底部,直到看到流列表。接下來,我們需要選擇要進(jìn)一步分析的流,并點擊左側(cè)的下載按鈕。
圖8 可下載的流列表
分析易受攻擊的執(zhí)行方式
例如,我們可以使用 Wireshark 檢查 RADIUS 請求中是否包含易受攻擊的屬性。首先,我們需要打開位于之前在 ProfiShark Manager 中配置的目錄或從 IOTA 下載的文件夾中的 PCAPNG 文件。接下來,我們需要一個顯示過濾器來獲取 RADIUS Access-Requests(代碼 1)、Access-Accepts(代碼 2)、Access-Rejects(代碼 3)和 Access-Challenges(代碼 11),但不包括使用 EAP 方法或帶有 "Message-Authenticator" 屬性值對的 RADIUS 消息,因為它們不受此漏洞影響。為此,我們可以使用顯示過濾器 “(radius.code in {1,2,3,11}) and not (radius.Message_Authenticator or eap)”,如圖 9 所示。這樣,我們只會獲取受此協(xié)議漏洞影響的 RADIUS 數(shù)據(jù)包,并且可以看到受影響產(chǎn)品的源 IP 地址。
圖9 在 Wireshark 中使用顯示過濾器篩選潛在易受攻擊的 RADIUS 數(shù)據(jù)包的截圖
作為使用 “Message-Authenticator” 屬性值對來實現(xiàn)解決方案的數(shù)據(jù)包示例,我們可以參考圖10,其中展示了該解決方案的實現(xiàn)。
圖10 Wireshark 中帶有消息認(rèn)證器屬性/值對的 RADIUS 訪問請求截圖。在此情況下,它也是一個不易受攻擊的 EAP 認(rèn)證
結(jié)論
IOTA 和 ProfiShark 可以幫助我們輕松高精度地收集 RADIUS 數(shù)據(jù)包的包級數(shù)據(jù)并進(jìn)行分析。Wireshark 通過使用上述顯示過濾器支持我們高效分析收集到的數(shù)據(jù),快速篩選出易受攻擊的 RADIUS 實現(xiàn)。
作為應(yīng)對 Blast-RADIUS 攻擊的替代方案,可以使用 “Message-Authenticator” 屬性值對,或者在 RADIUS 客戶端到 RADIUS 服務(wù)器的傳輸過程中,通過 RadSec 或 IPSec 使用 TLS 傳輸加密來保護(hù) RADIUS 數(shù)據(jù)包。
了解 ITT-IOTA 更多信息,歡迎前往【艾體寶】官方網(wǎng)站:https://www.itbigtec.com/iota
聯(lián)系艾體寶工程師:TEL:13533491614