Kali Linux 無(wú)線(xiàn)滲透測(cè)試入門(mén)指南 第三章 繞過(guò) WLAN 身份驗(yàn)證

第三章 繞過(guò) WLAN 身份驗(yàn)證

作者:Vivek Ramachandran, Cameron Buchanan

譯者:飛龍

協(xié)議:CC BY-NC-SA 4.0

簡(jiǎn)介

安全的錯(cuò)覺(jué)比不安全更加糟糕。

-- 佚名

安全的錯(cuò)覺(jué)比不安全更加糟糕,因?yàn)槟悴豢赡転槊鎸?duì)被黑的可能性做準(zhǔn)備。

WLAN 的身份驗(yàn)證模式可能很弱,可以被破解和繞過(guò)。這一章中,我們會(huì)查看一些 WLAN 中所使用的基本的身份驗(yàn)證模式,以及學(xué)習(xí)如何破解它們。

3.1 隱藏的 SSID

在默認(rèn)的配置模式下,所有接入點(diǎn)都在信標(biāo)幀中發(fā)送它們的 SSID。這讓附近的客戶(hù)端能夠輕易發(fā)現(xiàn)它們。隱藏 SSID 是個(gè)配置項(xiàng),其中接入點(diǎn)并不在信標(biāo)幀中廣播它的 SSID。因此,只有知道接入點(diǎn) SSID 的客戶(hù)端可以連接它。

不幸的是,這個(gè)方法不能提供可靠的安全,但是網(wǎng)絡(luò)管理員認(rèn)為它很安全。隱藏 SSID 不應(yīng)該被看作安全手段。我們現(xiàn)在來(lái)看看如何發(fā)現(xiàn)隱藏的 SSID。

實(shí)踐時(shí)間 -- 發(fā)現(xiàn)隱藏的 SSID

執(zhí)行下列指南以開(kāi)始:

  1. 使用 Wireshark,如果我們監(jiān)控Wireless Lab網(wǎng)絡(luò)中的信標(biāo)幀信標(biāo)幀,我們就能夠以純文本查看 SSID。你應(yīng)該能看到信標(biāo)真,像這樣:

  2. 配置你的接入點(diǎn)來(lái)隱藏Wireless Lab網(wǎng)絡(luò)的 SSID。這個(gè)配置項(xiàng)在不同接入點(diǎn)中可能不同。這里,我需要檢查Visibility Status選項(xiàng)的Invisible選項(xiàng),像這樣:

  3. 現(xiàn)在如果你查看 Wireshark 的記錄,你會(huì)發(fā)現(xiàn)Wireless Lab的 SSID從信標(biāo)幀中消失了。這是隱藏 SSID 所做的事情:

  4. 為了繞過(guò)信標(biāo)幀,我們首先使用被動(dòng)技巧來(lái)等待正??蛻?hù)端連接到接入點(diǎn)。這會(huì)生成探測(cè)請(qǐng)求和響應(yīng),它包含網(wǎng)絡(luò)的 SSID,從而揭示它的存在。

  5. 作為替代,你可以使用aireplay-ng來(lái)發(fā)送接觸驗(yàn)證封包給所有代表Wireless Lab接入點(diǎn)的路由器,通過(guò)輸入:aireplay-ng -0 5 -a <mac> --ignore-negative mon0,其中<mac>是路由器的 MAC 地址。-0選項(xiàng)用于選則接觸驗(yàn)證攻擊,5是要發(fā)送的封包數(shù)量。最后,-a指定了所定位的接入點(diǎn)的 MAC 地址。

  6. 接觸驗(yàn)證的過(guò)程會(huì)強(qiáng)迫所有正??蛻?hù)端斷開(kāi)連接并重連。為接觸驗(yàn)證的封包添加個(gè)過(guò)濾來(lái)單獨(dú)查看它們是個(gè)好主意。

  7. 來(lái)自接入點(diǎn)的探測(cè)響應(yīng)最后會(huì)發(fā)現(xiàn) SSID。這些封包會(huì)出現(xiàn)在 Wireshark 中。一旦正常客戶(hù)端連接回來(lái)了,我們就可以通過(guò)探針的請(qǐng)求和響應(yīng)幀來(lái)查看隱藏的 SSID??梢允褂眠^(guò)濾器(wlan.bssid == 00:21:91:d2:8e:25) && !(wlan.fc.type_subtype == 0x08)來(lái)監(jiān)控所有發(fā)往或來(lái)自接入點(diǎn)的非信標(biāo)封包。&&符號(hào)代表邏輯 AND 操作符,!符號(hào)代表邏輯 NOT 操作符:

剛剛發(fā)生了什么?

即使 SSID 隱藏而且不廣播,當(dāng)正常的客戶(hù)端嘗試連接到接入點(diǎn)時(shí),它們就交換了探測(cè)請(qǐng)求和響應(yīng)的封包。這些封包包含接入點(diǎn)的 SSID。由于這些封包沒(méi)有加密,它們可以被非常輕易地嗅探來(lái)發(fā)現(xiàn)SSID 。

我們?cè)谥蟮恼鹿?jié)中會(huì)出于其它目的,例如跟蹤,涉及到探測(cè)請(qǐng)求。

許多情況下,所有客戶(hù)端可能已經(jīng)鏈接到接入點(diǎn),并且在 Wireshark 記錄中沒(méi)有探測(cè)請(qǐng)求或響應(yīng)的封包。這里,我們可以強(qiáng)制客戶(hù)端斷開(kāi)接入點(diǎn)的鏈接,通過(guò)發(fā)送偽造的解除驗(yàn)證封包。這些封包會(huì)強(qiáng)迫客戶(hù)端重新連接到接入點(diǎn)上,從而獲取 SSID。

試一試 -- 選擇解除驗(yàn)證

在之前的練習(xí)中,我們廣播了解除驗(yàn)證封包來(lái)強(qiáng)制所有無(wú)線(xiàn)客戶(hù)端重新連接。嘗試驗(yàn)證如何使用aireplay-ng工具,選擇性對(duì)某個(gè)客戶(hù)端執(zhí)行它。

要注意,即使我們使用 Wireshark 演示了許多概念,但也可以使用其它工具來(lái)完成攻擊,例如aircrack-ng套件。我們推薦你探索整個(gè) aircrack-NG 套件以及其它位于官網(wǎng)的文檔:http://www.aircrack-ng.org。

3.2 MAC 過(guò)濾器

MAC 過(guò)濾器是個(gè)古老的技巧,用于驗(yàn)證和授權(quán),它們根植于有線(xiàn)世界。不幸的是,它們?cè)跓o(wú)線(xiàn)世界中變得十分糟糕。

最基本的想法就是基于客戶(hù)端的 MAC 地址進(jìn)行驗(yàn)證。MAC 過(guò)濾器是為網(wǎng)絡(luò)接口分配的一段識(shí)別代碼,路由器能夠檢查這個(gè)代碼并將其與允許的 MAC 列表進(jìn)行比較。允許的 MAC 地址列表由網(wǎng)絡(luò)管理員維護(hù),儲(chǔ)存于接入點(diǎn)中。我們現(xiàn)在要看看繞過(guò) MAC 過(guò)濾器有多容易。

實(shí)踐時(shí)間 -- 繞過(guò) MAC 過(guò)濾器

讓我們遵循以下指南來(lái)開(kāi)始:

  1. 讓我們首先配置我們的接入點(diǎn)來(lái)使用 MAC 過(guò)濾,之后添加受害者筆記本的客戶(hù)端 MAC 地址。我的路由器上的設(shè)置頁(yè)面是這樣:

  2. 一旦開(kāi)啟了 MAC 過(guò)濾,只有允許的 MAC 地址能夠成功被接入點(diǎn)驗(yàn)證。如果我們嘗試從不在 MAC 地址白名單中的機(jī)器連接接入點(diǎn),就會(huì)失敗。

  3. 在這個(gè)場(chǎng)景背后,接入點(diǎn)發(fā)送驗(yàn)證失敗的消息給客戶(hù)端。封包記錄像這樣:

  4. 為了繞過(guò) MAC 過(guò)濾器,我們可以使用airodump-ng來(lái)尋找連接到接入點(diǎn)的客戶(hù)端 MAC 地址。我們可以通過(guò)輸入airodumpng -c 11 -a --bssid <mac> mon0命令。通過(guò)指定bssid命令,我們只監(jiān)控接入點(diǎn),這是我們所感興趣的。-c 11命令將頻道設(shè)置為接入點(diǎn)所在的11。-a命令確保在airodump-NG輸出的客戶(hù)端部分中,只展示相關(guān)客戶(hù)端,以及到接入點(diǎn)的連接。這會(huì)向我們展示所有和接入點(diǎn)相關(guān)的客戶(hù)端 MAC 地址。

  5. 一旦我們找到了白名單中的客戶(hù)端 MAC 地址,我們可以使用macchanger工具來(lái)修改客戶(hù)端的 MAC 地址,Kali自帶這個(gè)工具。你可以使用macchanger –m <mac> wlan0命令來(lái)完成。你使用-m命令指定的 MAC 地址就是wlan0接口的新 MAC 地址。

  6. 你可以看到,將 MAC 地址修改為白名單客戶(hù)端之后,我們現(xiàn)在能夠連接接入點(diǎn)了。

剛剛發(fā)生了什么?

我們使用airodump-ng監(jiān)控了空氣,找到了連接到無(wú)線(xiàn)網(wǎng)絡(luò)的正常用戶(hù)的 MAC 地址。之后我們可以使用macchanger工具來(lái)修改無(wú)線(xiàn)網(wǎng)卡的 MAC 地址,與客戶(hù)端保持一致。這會(huì)欺騙接入點(diǎn),使其相信我們是正常耳朵客戶(hù)端,它會(huì)允許我們?cè)L問(wèn)它的無(wú)線(xiàn)網(wǎng)絡(luò)。

我們鼓勵(lì)你探索airodump-NG工具的不同選項(xiàng),通過(guò)訪(fǎng)問(wèn)官網(wǎng)的文檔:http://www.aircrack-ng.org/doku. php?id=airodump-ng

3.3 開(kāi)放驗(yàn)證

術(shù)語(yǔ)“開(kāi)放驗(yàn)證”是個(gè)誤解,因?yàn)樗鼘?shí)際上不提供任何驗(yàn)證。當(dāng)接入點(diǎn)配置為使用開(kāi)放驗(yàn)證的時(shí)候,所有連接它的客戶(hù)端都可以成功驗(yàn)證。

我們現(xiàn)在使用開(kāi)放驗(yàn)證來(lái)獲得驗(yàn)證并連接到接入點(diǎn)。

實(shí)踐時(shí)間 -- 繞過(guò)開(kāi)放驗(yàn)證

讓我們現(xiàn)在看看如何繞過(guò)開(kāi)放驗(yàn)證。

  1. 我們首先將我們的接入點(diǎn)Wireless Lab設(shè)置為開(kāi)放驗(yàn)證。在我的接入點(diǎn)中,這可以通過(guò)將Security Mode設(shè)為Disable Security來(lái)輕易完成。

  2. 我們之后使用iwconfig wlan0 essid Wireless Lab命令來(lái)連接到這個(gè)接入點(diǎn),之后驗(yàn)證我們到接入點(diǎn)的連接是否成功。

  3. 要注意我們沒(méi)有提供任何用戶(hù)名/密碼來(lái)通過(guò)開(kāi)放驗(yàn)證。

剛剛發(fā)生了什么?

這可能是目前為止最簡(jiǎn)單的練習(xí)了。你可以看到,在連接到開(kāi)放驗(yàn)證網(wǎng)絡(luò)和連接到接入點(diǎn)時(shí)沒(méi)有任何障礙。

3.4 共享密鑰驗(yàn)證

共享密鑰驗(yàn)證使用例如 WEP 的共享密鑰來(lái)驗(yàn)證客戶(hù)端。信息的交換展示在這張圖中:

無(wú)線(xiàn)客戶(hù)端發(fā)送驗(yàn)證請(qǐng)求給接入點(diǎn),它會(huì)回復(fù)一個(gè) challenge。現(xiàn)在客戶(hù)端需要使用共享密鑰加密這個(gè) challenge,并發(fā)送ui接入點(diǎn),接入點(diǎn)解密它來(lái)檢查是否它可以恢復(fù)原始的 challenge 文本。如果成功了,客戶(hù)端就驗(yàn)證成功,如果沒(méi)有,它會(huì)發(fā)送驗(yàn)證失敗的信息。

這里的安全問(wèn)題是,攻擊者可以被動(dòng)監(jiān)聽(tīng)整個(gè)通信,通過(guò)嗅探空氣來(lái)訪(fǎng)問(wèn) challenge 的純文本和加密文本。他可以使用 XOR 操作來(lái)獲取密鑰流。密鑰流可以用于加密任何由接入點(diǎn)發(fā)送的未來(lái)的 challenge,而不需要知道真實(shí)的密鑰。

這種共享驗(yàn)證的常見(jiàn)形式就是 WEP,或者無(wú)線(xiàn)等效協(xié)議。它易于破解,并且由數(shù)不清的工具用于使破解 WEP 網(wǎng)絡(luò)變得容易。

這個(gè)練習(xí)中,我們會(huì)了解如何嗅探空氣來(lái)獲取 challenge 或者加密后的 challenge,獲取密鑰流,使用它來(lái)驗(yàn)證接入點(diǎn),而不需要共享密鑰。

實(shí)踐時(shí)間 -- 繞過(guò)共享驗(yàn)證

繞過(guò)共享驗(yàn)證比上一個(gè)練習(xí)更加困難,所以仔細(xì)遵循下列步驟:

  1. 讓我們首先為我們的Wireless Lab網(wǎng)絡(luò)建立共享驗(yàn)證。通過(guò)將安全模式設(shè)置為 WEP ,將驗(yàn)證設(shè)置為Shared Key,我們已經(jīng)在我的接入點(diǎn)上完成了設(shè)置。

  2. 讓我們現(xiàn)在將正常的客戶(hù)端連接到該網(wǎng)絡(luò),使用我們?cè)诘谝徊皆O(shè)置的共享密鑰。

  3. 為了繞過(guò)共享密鑰驗(yàn)證,我們首先需要嗅探接入點(diǎn)和客戶(hù)端之間的封包。但是,我們也需要記錄整個(gè)共享密鑰的交換。為了完成它,我們使用airodump-ng工具的airodump-ng mon0 -c 11 --bssid <mac> -w keystream命令。-w選項(xiàng)在這里是新增的,讓 Airodump-NG 在keystream為前綴的文件中儲(chǔ)存信息。順便,在不同文件中儲(chǔ)存不同的封包捕獲的會(huì)話(huà)是個(gè)好主意。這允許你在很長(zhǎng)時(shí)間之后分析它們。

  4. 我們可以等待正??蛻?hù)端連接到接入點(diǎn),或者使用之前用過(guò)的解除驗(yàn)證的技術(shù)強(qiáng)迫重新連接。一旦客戶(hù)端連接并且工項(xiàng)密鑰驗(yàn)證獲得成功,airodump-ng就會(huì)通過(guò)嗅探空氣自動(dòng)捕獲這個(gè)改變。當(dāng)AUTH列出現(xiàn)了WEP,就說(shuō)明捕獲成功。

  5. 捕獲到的密鑰流儲(chǔ)存在當(dāng)前目錄keystream為前綴的文件中。我這里的文件名稱(chēng)是keystream-01-00-2191-D2-8E-25.xor。

  6. 為了偽造共享密鑰驗(yàn)證,我們使用aireplay-ng工具。我們執(zhí)行aireplay-ng -1 0 -e "Wireless Lab" -y keystream01-00-21-91-D2-8E-25.xor -a <mac> -h AA:AA:AA:AA:AA:AA mon0命令。這個(gè)aireplay-ng的命令使用我們之前獲得的密鑰流,并嘗試驗(yàn)證 SSID 為 Wireless Lab,MAC 地址為address 00:21:91:D2:8E:25的接入點(diǎn)。啟動(dòng) WIreshark,并通過(guò)wlan.addr == AA:AA:AA:AA:AA:AA過(guò)濾器嗅探所有感興趣的封包。我們可以使用 Wireshark 來(lái)驗(yàn)證它。你應(yīng)該能在 Wireshark 的界面上看到記錄,像這樣:

  7. 第一個(gè)封包是驗(yàn)證請(qǐng)求,由aireplay-ng工具發(fā)給接入點(diǎn):

  8. 第二個(gè)封包由接入點(diǎn)發(fā)給客戶(hù)端的 challenge 文本組成,像這樣:

  9. 第三個(gè)封包中,這個(gè)工具向接入點(diǎn)發(fā)送了加密的 challenge。

  10. 由于aireplay-ng工具將導(dǎo)出的密鑰流用于江米,驗(yàn)證會(huì)成功,接入點(diǎn)會(huì)在第四個(gè)封包中發(fā)送成功消息。

  11. 在驗(yàn)證成功過(guò)之后,這個(gè)工具偽造了接入點(diǎn)的關(guān)聯(lián),像這樣:

  12. 如果你在你的接入點(diǎn)管理界面中的無(wú)線(xiàn)日志中查看,你會(huì)看到 MAC 地址為AA:AA:AA:AA:AA:AA的客戶(hù)端建立了連接。

剛剛發(fā)生了什么?

我們成功從共享驗(yàn)證交換中導(dǎo)出了密鑰流,并且使用它來(lái)偽造接入點(diǎn)的驗(yàn)證。

試一試 -- 填滿(mǎn)接入點(diǎn)的表格

接入點(diǎn)擁有最大客戶(hù)端數(shù)量,超過(guò)之后它們就會(huì)拒絕連接。通過(guò)為aireplay-ng編寫(xiě)一個(gè)小型的包裝器,我們就可以自動(dòng)發(fā)送數(shù)百個(gè)連接請(qǐng)求,從隨機(jī)的 MAC 地址發(fā)往接入點(diǎn)。這會(huì)填滿(mǎn)路由器的內(nèi)部表格,一旦達(dá)到了最大客戶(hù)端數(shù)量,接入點(diǎn)會(huì)停止接受新的連接。這通常叫做拒絕服務(wù)(DoS)工具,可以強(qiáng)制路由器重啟或使其失去功能。這也可以導(dǎo)致所有無(wú)線(xiàn)客戶(hù)端失去連接以及不能使用授權(quán)后的網(wǎng)絡(luò)。

小測(cè)驗(yàn) -- WLAN 驗(yàn)證

Q1 如何強(qiáng)迫無(wú)線(xiàn)客戶(hù)端重新連接到接入點(diǎn)?

  1. 發(fā)送解除驗(yàn)證的封包
  2. 重啟客戶(hù)端
  3. 重啟接入點(diǎn)
  4. 以上全部

Q2 開(kāi)放驗(yàn)證是干什么的?

  1. 提供了適當(dāng)?shù)陌踩?/li>
  2. 不提供任何阿暖
  3. 需要使用加密
  4. 以上都不是

Q3 如何破解共享密鑰驗(yàn)證?

  1. 從封包中導(dǎo)出密鑰流
  2. 導(dǎo)出加密密鑰
  3. 向接入點(diǎn)發(fā)送解除驗(yàn)證的封包
  4. 重啟接入點(diǎn)

總結(jié)

這一章中,我們了解了 WLAN 驗(yàn)證。隱藏 SSID 是“隱藏式安全”的策略,很容易被攻破。MAC 地址過(guò)濾器不能夠提供任何安全,因?yàn)?MAC 地址可以從無(wú)線(xiàn)封包中嗅探,而 MAC 地址在封包中毫無(wú)加密。開(kāi)放驗(yàn)證不提供任何實(shí)際的驗(yàn)證。共享密鑰驗(yàn)證的破解有些麻煩,但是,使用了正確的工具,我們可以導(dǎo)出和儲(chǔ)存密鑰流,我們可以使用它來(lái)回應(yīng)之后由接入點(diǎn)發(fā)送的所有 challenge。最后我們可以獲得驗(yàn)證而不需要知道真實(shí)的密鑰。

下一章中,我們會(huì)看一看 WLAN 加密機(jī)制的不同 -- WEP,WPA 和 WPA2 -- 并看一看其中的不安全性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容