新思科技在早前發(fā)現(xiàn)D-Link DIR-850存在漏洞。此漏洞允許未經(jīng)過(guò)身份驗(yàn)證的用戶加入路由器提供的無(wú)線網(wǎng)絡(luò)。一旦加入該網(wǎng)絡(luò),用戶就可以訪問(wèn)該網(wǎng)絡(luò)上任何其他用戶可用的所有服務(wù)、計(jì)算機(jī)和設(shè)備。未經(jīng)授權(quán)訪問(wèn)網(wǎng)絡(luò)通常是更廣泛攻擊的第一步。
作為Defensics SafeGuard開(kāi)發(fā)的一部分,我們發(fā)現(xiàn)了D-Link DIR-850L無(wú)線AC路由器(硬件修訂版本A)中的漏洞。該漏洞使攻擊者無(wú)需提供憑據(jù)即可完全訪問(wèn)無(wú)線網(wǎng)絡(luò)。我們的方法在接入點(diǎn)連接期間跳過(guò)關(guān)鍵步驟,完全繞過(guò)加密。
在確定此漏洞后,新思科技繼續(xù)與芬蘭國(guó)家網(wǎng)絡(luò)安全中心(NCSC-FI)協(xié)調(diào)披露事宜,編號(hào)為CVE-2018-18907。我們與D-Link合作重現(xiàn)了這個(gè)漏洞問(wèn)題。在2018年11月6日,D-Link已經(jīng)為受影響的設(shè)備提供了修復(fù)方案。
WPA2是用于客戶端和接入點(diǎn)(AP)之間的WLAN網(wǎng)絡(luò)通信的加密技術(shù)。為了相互連接,AP和客戶端都需要知道預(yù)共享密鑰(PSK),它們?cè)赪PA握手過(guò)程中交換,隨后在它們之間打開(kāi)加密通道。
通常,破壞WPA2加密需要在AP和客戶端(也稱為請(qǐng)求者)上執(zhí)行無(wú)線捕獲,其中握手過(guò)程完全可見(jiàn),或者僅從AP獲取對(duì)偶主密鑰標(biāo)識(shí)符(PMKID)。完成此操作后,您將獲得強(qiáng)制WPA2 PSK所需的所有信息。獲取PSK所需的時(shí)間取決于硬件和PSK長(zhǎng)度。但有時(shí)候通過(guò)WPA2加密需要一點(diǎn)運(yùn)氣,這往往不到一秒鐘。
辦公室日常工作
2018年8月初,我正在為新思科技的Defensics解決方案完成新版本的測(cè)試套件,該解決方案為各種協(xié)議提供模糊測(cè)試。模糊測(cè)試是一種測(cè)試方法,測(cè)試工具發(fā)送格式錯(cuò)誤的輸入以發(fā)現(xiàn)軟件中潛在的安全漏洞。這種包含意外或無(wú)效數(shù)據(jù)的格式錯(cuò)誤的輸入稱為異常測(cè)試用例。
我最后添加到測(cè)試套件中的信息包括一些新的異常測(cè)試用例和SafeGuard結(jié)果。 SafeGuard是一項(xiàng)專利功能,允許Defensics識(shí)別違反規(guī)范或最佳實(shí)踐的情況 —— 例如,當(dāng)被測(cè)系統(tǒng)(SUT)選擇弱加密方案時(shí),或者以明文形式發(fā)送身份驗(yàn)證憑據(jù)時(shí)。
SafeGuard與模糊測(cè)試有何不同?
新版本的Defensics 802.11測(cè)試套件包含兩項(xiàng)重要改進(jìn)。
第一,WPA2握手后數(shù)據(jù)幀的WPA2加密。之前的版本僅計(jì)算會(huì)話的臨時(shí)密鑰,而且可以將此信息寫入文件。這允許測(cè)試人員驗(yàn)證Defensics和SUT都具有相同的臨時(shí)密鑰。但是發(fā)送加密數(shù)據(jù)幀會(huì)自動(dòng)測(cè)試正確的密鑰,因?yàn)閮啥说募用芎徒饷苄枰烂荑€。
第二個(gè)改進(jìn)是在IPv4上簡(jiǎn)單的動(dòng)態(tài)主機(jī)設(shè)置協(xié)議(DHCP)發(fā)現(xiàn)報(bào)文序列。此DHCP序列驗(yàn)證SUT是否接收數(shù)據(jù)幀并檢查響應(yīng)。由于DHCP本身非常復(fù)雜,我首先在沒(méi)有加密的情況下實(shí)現(xiàn)它,并且在DHCP序列工作之后,在測(cè)試中添加了WPA2 AES CCMP加密。
測(cè)試發(fā)現(xiàn)
我當(dāng)時(shí)正在為WPA1添加一個(gè)弱加密SafeGuard,因?yàn)橐阎猈PA1有弱點(diǎn)而且不應(yīng)該使用。 WEP加密也是如此:它不應(yīng)該再被使用了。 Defensics 802.11測(cè)試套件那時(shí)具有弱加密檢測(cè)功能,我運(yùn)行了幾個(gè)案例來(lái)測(cè)試它,正巧我桌面上有AP,即D-Link DIR-850L。我以為會(huì)檢測(cè)到弱加密,因?yàn)槲乙呀?jīng)將SUT AP配置為擁有WPA1而沒(méi)有其它任何設(shè)置。
正如我所預(yù)測(cè)的一樣,Defensics正確地檢測(cè)到弱加密。但是AP接受了沒(méi)有WPA加密的DHCP發(fā)現(xiàn)序列。此特定測(cè)試用例本應(yīng)經(jīng)過(guò)協(xié)商以使用WPA1加密,但它不包含實(shí)際加密:DHCP發(fā)現(xiàn)序列以明文形式發(fā)送給AP。我對(duì)此測(cè)試結(jié)果感到驚訝,因?yàn)槁酚善鲬?yīng)該需要WPA1加密。然后我使用Wireshark,一種捕獲無(wú)線數(shù)據(jù)幀的工具,重新運(yùn)行測(cè)試用例并檢查結(jié)果。
在結(jié)果中,我看到了AP給Defensics提供的IP地址、路由器IP地址、租用時(shí)間等。發(fā)現(xiàn)序列再次以明文發(fā)送。然后我將加密從WPA1更改為WPA2,看看是否會(huì)對(duì)SUT行為產(chǎn)生影響。同樣,發(fā)現(xiàn)序列仍以明文形式發(fā)送,因此這出現(xiàn)了問(wèn)題。 AP還支持WPA Enterprise,并且在該模式下的測(cè)試沒(méi)有改變行為 - 序列仍以明文形式發(fā)送。
分析
當(dāng)然,下一個(gè)問(wèn)題是發(fā)生了什么,為什么呢?連接到AP分兩個(gè)階段完成。首先,客戶端和AP就連接參數(shù)和要使用的加密達(dá)成一致;其次,執(zhí)行所謂的WPA握手或四次握手,交換加密參數(shù)并確保它們都具有PSK。在此之后,他們打開(kāi)加密數(shù)據(jù)連接。但是,我運(yùn)行的測(cè)試用例跳過(guò)了WPA握手,因此必須在握手之前發(fā)生什么,AP和客戶端就連接參數(shù)和使用的加密達(dá)成一致。
第一階段包括探測(cè)請(qǐng)求和響應(yīng)、身份驗(yàn)證請(qǐng)求和響應(yīng),最后是關(guān)聯(lián)請(qǐng)求和響應(yīng)。探測(cè)請(qǐng)求的主要目的只是發(fā)現(xiàn)AP。然后,探測(cè)響應(yīng)包含有關(guān)AP的所有信息,包括支持哪種加密。
下一個(gè)請(qǐng)求 - 響應(yīng)對(duì)是身份驗(yàn)證,其目的是確保向后兼容性。接下來(lái)是關(guān)聯(lián)請(qǐng)求和響應(yīng)。在關(guān)聯(lián)請(qǐng)求中,客戶端告訴AP哪個(gè)是它想要的加密以及使用哪些參數(shù)。關(guān)聯(lián)請(qǐng)求還會(huì)打開(kāi)AP和客戶端之間的數(shù)據(jù)連接。
我運(yùn)行的測(cè)試用例有一個(gè)正常的探測(cè)請(qǐng)求和身份驗(yàn)證請(qǐng)求。然后,關(guān)聯(lián)請(qǐng)求需要客戶端支持WPA1加密。此時(shí),WPA握手應(yīng)該發(fā)生,但由于我的測(cè)試用例跳過(guò)了握手,AP和客戶端開(kāi)始發(fā)送沒(méi)有任何加密的數(shù)據(jù)幀。
漏洞利用
從沒(méi)有憑據(jù)的受保護(hù)網(wǎng)絡(luò)獲取IP地址已經(jīng)是件壞事,但是還會(huì)更糟糕嗎?我決定為此漏洞創(chuàng)建漏洞利用程序。我的想法是創(chuàng)建一個(gè)自定義版本的wpa_supplicant(Linux操作系統(tǒng)中的默認(rèn)WLAN客戶端)。
首先,我嘗試修改wpa_supplicant,以便它只是忽略WPA握手,但事實(shí)證明這非常困難。檢查太多,無(wú)法確保WPA狀態(tài)機(jī)處于正確狀態(tài)。這證實(shí)我試圖做的事情并不常見(jiàn)。我嘗試的下一件事是在沒(méi)有加密的情況下建立連接,但修改包含加密參數(shù)的關(guān)聯(lián)消息。這與Defensics測(cè)試套件在測(cè)試用例中所做的一樣。我只需要?jiǎng)h除一些未經(jīng)協(xié)商的加密參數(shù)檢查,就可以建立連接。
對(duì)新思科技的Defensics智能模糊測(cè)試有疑問(wèn)?我們給您答案
我有一個(gè)wpa_supplicant的修改版本,它提供了網(wǎng)絡(luò)接口上的完整Linux IP堆棧。首先,我嘗試連接到AP管理面板。雖然連接了,但是我注意到在路由器接到流氓客戶端之前,路由器接受了普通數(shù)據(jù)幀時(shí),有三到六秒的窗口。然而,wpa_supplicant自動(dòng)重新連接,我的開(kāi)發(fā)繼續(xù)進(jìn)行。實(shí)際上,重新連接速度非??欤词箓鬏斂刂茀f(xié)議(TCP)連接仍保持打開(kāi)狀態(tài)。
此外,我還連接了另外兩臺(tái)設(shè)備,一臺(tái)是有線的,一臺(tái)是通過(guò)WLAN連接的。從流氓客戶端,我可以毫無(wú)費(fèi)勁地連接兩個(gè)設(shè)備。從路由器管理面板,我看到惡意客戶端被識(shí)別為連接到路由器的任何其它客戶端。因此,利用此漏洞,我可以在不知道預(yù)共享密鑰的情況下完全訪問(wèn)網(wǎng)絡(luò)。我不需要做任何耗時(shí)的暴力破解 - 我只是連接到網(wǎng)絡(luò)。
總結(jié)
Defensics 802.11測(cè)試套件現(xiàn)在可以識(shí)別繞過(guò)整個(gè)WPA加密機(jī)制的情況。測(cè)試套件現(xiàn)在包含一個(gè)單獨(dú)的SafeGuard功能來(lái)測(cè)試此漏洞,如果它檢測(cè)到WPA加密被繞過(guò),則測(cè)試將顯示失敗。因此,針對(duì)其AP運(yùn)行Defensics模糊測(cè)試的供應(yīng)商將意識(shí)到此漏洞。測(cè)試的D-Link設(shè)備是隨機(jī)選擇的,D-Link已經(jīng)發(fā)布了該設(shè)備的補(bǔ)丁。
-
WLAN
+關(guān)注
關(guān)注
2文章
651瀏覽量
72980 -
新思科技
+關(guān)注
關(guān)注
5文章
783瀏覽量
50288 -
D-Link
+關(guān)注
關(guān)注
0文章
11瀏覽量
18308
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論