無線安全系列 1.2 常見的WLAN(無線區域網)保護機制及其缺陷
- 2019 年 10 月 7 日
- 筆記
本文由 玄魂工作室 power-li 根據《building a pentesting lab for wireless network》翻譯修改而來
1.2、常見的WLAN(無線區域網)保護機制及其缺陷
為了能夠保護無線網路,必須清楚地了解存在哪些保護機制以及它們存在哪些安全缺陷。本小節不僅對剛接觸Wi-Fi安全的讀者有用,而且對有經驗的安全專家也有幫助。理解這個小節將是幫助你理解本書的一個重要方面:你應該適當地規劃你的無線滲透測試實驗室的安全性。
2.1、隱藏SSID
讓我們先從網路管理員所犯的一個常見錯誤開始:僅僅依靠不盡如意的安全性。在這個小節中,它的意思是指使用了隱藏的WLAN SSID(Service Set identification,服務集標識的縮寫)或簡單來說就是WLAN的名字。
隱藏SSID意味著WLAN不會在廣播信標中發送自己的SSID,也不會響應廣播探測的請求,從而使自己在WI-FI設備上的網路列表中不可用。這就意味著普通用戶在他們的可用的網路列表中看不到這個WLAN。
無線區域網的廣播缺陷並不意味著SSID永遠不會在空氣中傳輸,實際上不管是用哪種安全類型,在接入點和設備之間都是以明文的形式來進行數據傳輸的。因此,SSID對於一定範圍內的所有Wi-Fi網路接收器都是可用的,任何使用各種被動嗅探工具的攻擊者都是可見的。
2.2、MAC過濾
老實說,MAC過濾甚至不能被認為是無線網路的一種安全或保護機制,但在各種來源中都稱為這是一種安全或保護機制。因此,讓我們澄清為什麼不能將其稱之為安全特性。
基本上,MAC過濾意味著只允許那些從預定義列表中擁有MAC地址的設備連接到WLAN,而不允許從其他設備連接。MAC地址在Wi-Fi中未經加密傳輸,攻擊者非常容易在不被注意的情況下攔截(請參閱下面的截圖):

無線流量嗅探工具的一個例子,很容易地攔截並顯示出MAC地址
記住,更改網路介面的物理地址(MAC地址)非常簡單,因此很明顯不應該將MAC過濾視為一種可靠的安全機制。
小提示:
MAC過濾可以用於支援其他安全機制,但它不應該被用作WLAN的唯一安全措施。
2.3、有線等效保密(WEP)
有線等效保密(WEP)誕生於大約20年前,與Wi-Fi技術同時出現,並被集成為IEEE 802.11標準的安全機制。
正如新技術經常發生的情況那樣,WEP在設計上存在缺陷,無法為無線網路提供可靠的安全性,這一點已經變得很明顯。安全研究人員開發了幾種攻擊技術,使他們能夠在合理的時間內破解WEP密鑰,並將其用於連接WLAN或攔截WLAN與客戶端設備之間的網路通訊。
讓我們簡要回顧一下WEP加密是如何工作的,以及為什麼它如此容易被破解。
WEP使用所謂的初始化向量(IV)連接WLAN的共享密鑰來加密傳輸的數據包。對網路包加密後,在包中添加初始化向量,並將其發送到接收端(例如,訪問點)。這個過程如下圖所示:

WEP的加密過程
攻擊者只需要收集足夠的初始化向量,雖說使用額外的應答攻擊迫使受害者生成更多初始化向量是一項微不足道的任務,但會產生很大的危害。
更糟糕的是,還有一些攻擊技術允許攻擊者在沒有連接客戶機的情況下滲透WEP保護的WLAN,這使得這些WLAN在默認情況下很容易受到攻擊。
此外,WEP沒有加密完整性控制,這也使得它容易受到機密性攻擊。
攻擊者可以使用很多方式來攻擊使用WEP保護的WLAN,例如:
- 使用被動嗅探和統計密碼分析工具來解密網路流量
- 使用主動攻擊解密網路流量(例如,應答攻擊)
- 流量注入攻擊
- WLAN的未經授權的訪問
雖然WEP在2003年被WPA技術正式取代,但它有時仍然可以在私人家庭網路中找到,甚至在一些公司網路中也可以找到(現在大部分屬於小公司)。
但是這種安全技術已經變得非常罕見,而且在未來也不會被使用,這主要是因為企業網路中的意識以及製造商不再在新設備上默認激活WEP。
在我們看來,設備製造商不應該在他們的新設備中包含WEP支援,並且避免使用WEP並提高客戶的安全性。
注意:
從安全專家的觀點來看,WEP不應該用於保護WLAN,但它可以用於Wi-Fi安全培訓。
不管使用哪種安全類型,共享密鑰總是會增加額外的安全風險。但用戶往往傾向於共享密鑰,從而增加了密鑰泄露的風險,降低了對密鑰隱私的責任。
此外,使用相同密鑰的設備越多,在密碼分析攻擊期間,攻擊者的通訊量就越大,從而提高了性能和成功的機會。這種風險可以通過為用戶和設備使用個人標識符(密鑰、證書)來最小化。
2.4、WPA/WPA2
由於大量WEP安全缺陷,下一代Wi-Fi安全機制在2003年開始可用:Wi-Fi訪問保護(WPA)。它是一個中間解決方案,直到WPA2的使用,它包含了相對於WEP的重大安全改進。
這些改進包括:
- 更強的加密:新標準使用比WEP(256位、64位和128位)更長的加密密鑰,並且能夠使用高級加密標準(AES)演算法。
- 加密完整性控制:WPA使用一種稱為Michael的演算法,而不是WEP中使用的CRC。這是為了防止在運行中更改數據包,並防止重新發送嗅探包。
- 臨時密鑰的使用:臨時密鑰完整性協議(TKIP)自動更改每個包生成的加密密鑰。這是對靜態WEP的一個重大改進,在靜態WEP中,可以在AP配置中手動輸入加密密鑰。TKIP也運行RC4,但是它的使用方式得到了改進。
- 客戶端身份驗證支援:使用專用身份驗證伺服器進行用戶和設備身份驗證的能力使WPA適合在大型企業網路中使用。
對加密性強的AES演算法的支援是在WPA中實現的,它不是強制的,是可選的。
儘管WPA比WEP有了顯著的改進,但在2004年WPA2發布之前,它只是一個臨時的解決方案,並成為所有新Wi-Fi設備的強制性解決方案。
WPA2的工作原理與WPA非常相似,WPA與WPA2的主要區別在於用於提供安全性的演算法:
- AES成為WPA2中加密的強制演算法,而不是WPA中的默認RC4
- WPA中使用的TKIP被WPA中使用的TKIP被計數器模式密碼塊鏈消息完整碼協議(CCMP)所替代
由於工作流程非常相似,WPA和WPA2也容易受到類似或相同的攻擊,通常被稱為一個單詞WPA/WPA2。WPA和WPA2都可以在兩種模式下工作:預共享密鑰(PSK)模式或個人和企業模式。
2.4.1 預共享密鑰模式
預共享密鑰或個人模式適用於網路複雜度較低的家庭和小型辦公室。基本大家都會遇到過這種模式,並且在大多數人家裡使用它將筆記型電腦電腦、行動電話、平板電腦等連接到家庭網路。
PSK模式的思想是在接入點和客戶端設備上使用相同的密鑰對設備進行身份驗證,並為網路建立加密連接。使用PSK進行WPA/WPA2身份驗證的過程由四個階段組成的,也稱為4次握手。如下圖所示:

四次握手
PSK模式中主要的WPA/WPA2缺陷是有可能嗅探出4次握手整個過程,並在不與目標WLAN進行任何交互的情況下強行離線安全密鑰。通常,WLAN的安全性主要取決於所選PSK的複雜性。
在WPA/WPA2中的PSK模式的主要缺陷是能嗅探出整個4次握手的流程,並且在不與目標WLAN進行任何交互的情況下強行離線安全密鑰。通常,WLAN的安全性主要取決於PSK的複雜性。
與其他計算操作相比,計算用於四次握手的PMK(主密鑰的縮寫)是一個非常耗時的過程,如果計算數十萬次握手那需要更長的時間。但是在使用短且低複雜度的PSK下,即使在功能不太強大的電腦,使用暴力攻擊也不會花太長的時間。如果密鑰很複雜而且足夠長,破解它可能需要更長時間,但仍然有辦法加快這個過程:
- 使用強大的電腦與CUDA(計算統一設備架構的縮寫),它允許軟體直接與GPU通訊進行計算。由於GPU的設計初衷是執行數學運算,並且比CPU快得多,所以使用CUDA破解的話,速度要快好幾倍。
- 使用彩虹表,其中包含對不同的PSK及其相對應的預計算散列。它們為攻擊者節省了大量時間,因為破解軟體只是從彩虹表中來搜索截獲四次握手中的一個值,如果匹配,則返回與給定PMK對應的鍵,而不是為每個可能的字元組合計算PMK。由於WLAN SSID是在四次握手中使用,類似於加密加鹽,相同密鑰的PMK在不同的SSID中會有所不同。所以這將彩虹表的應用限制在一些最流行的SSID中。
- 使用雲計算是另一種加速破解過程的方法,但它通常需要額外的費用。攻擊者可以租用(或通過其他方式),計算能力越多,這個過程就越快。在互聯網上也有在線雲破解服務,用於各種破解目的,包括破解四次握手。
此外,與WEP一樣,大家對WPA/WPA2的PSK了解越多,他受到危害的風險就越大,這就是大型複雜企業網路也不選擇他的原因。
注意:
WPA/WPA2的PSK模式只有在密鑰足夠長且足夠複雜,並且與唯一的(WLAN SSID一起使用時,才能保障足夠的安全。
2.4.2企業模式
如前一節所述,使用共享密鑰會帶來安全風險,WPA/WPA2的強度依賴於密鑰長度和複雜性。但是,在討論WLAN基礎設施時,企業網路中有幾個因素也應該考慮:靈活性、可管理性和可靠性。
在大型網路中實現這些功能的組件有很多,但是在這節中,我們要對其中的兩個組件感興趣:AAA(身份驗證、授權和計費的縮寫)伺服器和無線控制器。
WPA-Enterprise或802.1x模式適用於需要高安全級別且需要使用AAA伺服器的企業網路。在大多數情況下,RADIUS伺服器被用作AAA伺服器,並且支援以下EAP(可擴展身份驗證協議)類型(根據無線設備的不同,支援更多的EAP類型)來執行身份驗證:
- EAP-TLS
- EAP-TTLS/MSCHAPv2
- PEAPv0/EAP-MSCHAPv2
- PEAPv1/EAP-GTC
- PEAP-TLS
- EAP-FAST
下圖是一個簡化的WPA-Enterprise身份驗證工作流程:

WPA-Enterprise身份驗證
根據EAP類型的配置,WPA-Enterprise可以提供各種身份驗證選項。
最流行的EAP類型(基於我們在眾多滲透測試中的經驗)是PEAPv0/MSCHAPv2,它相對容易與現有的Microsoft Active Directory基礎設施集成,並且相對容易管理。但是這種類型的WPA保護相對容易被竊取和使用偽造的訪問點來暴力破解用戶憑證。
最安全的EAP類型(至少在正確配置和管理時是這樣)是EAP-TLS,它對用戶和身份驗證伺服器都採用基於證書的身份驗證。在這種類型的身份驗證過程中,客戶端還會檢查伺服器的身份,只有在證書維護和分發中存在配置錯誤或不安全的情況下,才有可能使用惡意訪問點進行成功的攻擊。
注意:
建議在EAP-TLS模式下,對使用WPA-Enterprise的企業WLAN進行保護採用基於客戶端和伺服器認證的雙向認證方式。但是這種類型的安全性需求,是需要額外的工作和資源。
2.5、Wi-Fi保護設置(WPS)
Wi-Fi保護設置(WPS)實際上並不是一種安全機制,而是一種密鑰交換機制,在設備與接入點之間的連接方面起著重要作用。它被開發出來是為了使連接設備到接入點的過程更容易,但是它被證明是現代無線區域網中最大的漏洞之一。
WPS與WPA / WPA2-PSK協同工作,允許設備通過以下方法之一連接到WLAN:
- PIN:在設備上輸入引腳。引腳通常印在Wi-Fi接入點背面的貼紙上。
- Push button:在連接階段,在接入點和客戶端設備上都應該按特殊按鈕。設備上的按鈕可以是物理的,也可以是虛擬的。
- NFC:客戶端應將設備靠近接入點,以利用近場通訊技術。
- USB驅動器:通過USB驅動器在接入點和設備之間進行必要的連接資訊交換。
由於WPS引腳非常短,並且它們的第一部分和第二部分分別經過驗證,因此可以在數小時內對引腳進行在線蠻力攻擊,從而允許攻擊者連接到WLAN。
此外,2014年發現了離線PIN破解的可能性,攻擊者可以在1 – 30秒內破解PIN,但只能在特定設備上使用。
你也不應該忘記,一個不被允許連接WLAN,但可以實際訪問Wi-Fi路由器或接入點的人也可以讀取和使用PIN碼或通過按鈕方法連接。
本文是 玄魂工作室 知識星球–「玄說安全」內部交流圈的原創(翻譯)教程系列《無線網路安全實戰》