KaliLinux無線滲透測試入門指南第六章攻擊客戶端

apachecn_飛龍發表於2016-10-27

第六章 攻擊客戶端

作者:Vivek Ramachandran, Cameron Buchanan

譯者:飛龍

協議:CC BY-NC-SA 4.0

簡介

安全強度取決於最弱的部分。

– 資訊保安領域的名言

多數滲透測試者似乎把全部注意力都放在 WLAN 設施上,而不會注意無線客戶端。但是要注意,黑客也可以通過入侵無線客戶端來獲得授權網路的訪問權。

這一章中,我們將注意力從 WLAN 設施轉移到無線客戶端。客戶端可能是連線的,也可能是獨立未連線的。我們會看一看以客戶端為目標的幾種攻擊。

6.1 蜜罐和錯誤關聯攻擊

通常,當客戶端例如膝上型電腦開啟時,它會探測之前連線的網路。這些網路儲存在列表中,在基於 Windows 的系統上叫做首選網路列表(PNL)。同時,除了這個列表之外,無線客戶端會展示任何範圍內的可用網路。

黑客可以執行一個或多個下列事情:

  • 靜默監控探針,並建立偽造接入點,帶有與客戶端所搜尋的 AP 相同的 ESSID。這會導致客戶端連線到黑客的機器,並認為它是正常的網路。
  • 建立和附近的 AP 帶有相同 ESSID 的偽造接入點,並說服使用者連線它。這種攻擊非常易於在咖啡廳和機場實施,其中使用者可能會尋找 WIFI 連線。
  • 使用記錄資訊來了解受害者的動作和習慣,我們會在之後的章節中展示。

這些攻擊都叫做蜜罐攻擊,因為黑客的接入點和正常的接入點錯誤連線。

下個練習中,我們會執行這兩種攻擊。

實戰時間 – 實施錯誤關聯攻擊

遵循這些指南來開始:

  1. 之前的實驗中,我們使用已經連線到Wireless Lab接入點的客戶端。讓我們切換客戶端上,但不要連線到真實的Wireless Lab接入點上。讓我們執行airodump-ng mon0並檢查輸出。你不久會發現客戶端處於not associated模式並且探測Wireless Lab和列表中的其它 SSID。

  2. 為了理解發生了什麼,讓我們執行 Wireshark 並開始嗅探mon0介面。像預期的一樣,你可能看到一堆和我們不相關的封包。使用 Wireshark 過濾器,只顯示來自你所使用的客戶端 MAC 地址的探測請求封包。

  3. 我這裡,過濾器是wlan.fc.type_subtype == 0x04 && wlan.sa == <my mac>。你應該看到了只來自之前識別的 SSID 的客戶端的探測請求封包。

  4. 讓我們現在在黑客的主機上啟動偽造接入點Wireless Lab,使用下列命令:

    airbase-ng –c 3 –e  "Wireless Lab" mon0
  5. 等待幾秒鐘,客戶端會自動連線到我們。這展示了讓未關聯的客戶端連線時多麼容易。

  6. 現在我們嘗試和另一臺路由器競爭,我們會建立偽造接入點Wireless Lab,同時存在正常的接入點。讓我們開啟接入點來確保Wireless Lab對客戶端可用。對於這個實驗,我們將接入點的頻道設為 3。讓客戶端連線到接入點,我們可以從airodump-ng中嚴重,像這樣:

  7. 現在讓我們啟動 SSID 為Wireless Lab的偽造接入點:

  8. 要注意客戶端仍舊會連線到Wireless Lab,也就是正常的接入點。

  9. 我們現在傳送廣播解除驗證訊息給客戶端,代表正常接入點來斷開連線。

  10. 假設對於客戶端來說,我們的偽造接入點Wireless Lab訊號強度強於正常接入點。它會連線到我們的偽造接入點而不是正常接入點。

  11. 我們可以通過觀察airodump-ng輸出來看到客戶端重新關聯到了我們的偽造接入點上。

剛剛發生了什麼?

我們剛剛使用來自客戶端的探針列表來建立蜜罐,並使用和鄰近接入點相同的 ESSID。在第一個例子中,客戶端在搜尋網路的時候,自動連線到了我們。第二個例子中,因為我們離客戶端比真正的接入點更近,我們的訊號強度就更高,所以客戶端連線到了我們。

試一試 – 強迫客戶端連線蜜罐

在上一個練習中,如果客戶端不自動連線到我們,我們能做什麼呢?我們需要傳送解除驗證封包來打破正常的客戶端到接入點的連結,之後如果我們的訊號強度更高,客戶端會連線到我們的偽造接入點上。通過將客戶端連線到正常接入點,之後強迫它連線蜜罐來嘗試它。

6.2 Caffe Latte 攻擊

在蜜罐攻擊中,我們注意到客戶端會持續探測它們之前連線到的 SSID。如果客戶端已經使用 WEP 連線到接入點,例如 Windows 的作業系統會快取和儲存 WEP 金鑰。下一個客戶端連線到相同接入點時,Windows 無線配置管理器就會自動使用儲存的金鑰。

Caffe Latte 攻擊由 Vivek 發明,它是這本書的作者之一,並且在 Toorcon 9, San Diego, USA 上演示。Caffe Latte 攻擊是一種 WEP 攻擊,允許黑客僅僅使用客戶端,獲取授權網路的 WEP 金鑰。這個攻擊並不需要客戶端距離授權 WEP 非常近。它可以從單獨的客戶端上破解 WEP 金鑰。

在下一個練習中,我們將使用 Caffe Latte 攻擊從客戶端獲取網路的 WEP 金鑰。

實戰時間 – 實施Caffe Latte 攻擊

遵循這些指南來開始:

  1. 讓我們首先使用 WEP 建立正常接入點Wireless Lab,金鑰為ABCDEFABCDEFABCDEF12

  2. 將客戶端連線到它,並使用airodump-ng驗證連線是否成功,像這樣:

  3. 關閉接入點,確保客戶端處於未關聯的狀態,並搜尋 WEP 網路Wireless Lab

  4. 現在我們使用airbase-ng來建立接入點,將Wireless Lab作為 SSID,引數如下:

  5. 一旦客戶端連線到了接入點,airbase-ng開始了 Caffe Latte 攻擊,像這樣:

  6. 我們現在開啟airodump-ng來收集來自這個接入點的資料包,向我們之前在 WEP 破解場景下所做的那樣:

  7. 我們同時啟動aircrack-ng,就像我們之前在 WEP 破解練習中那樣,來開始破解。這個命令列是aircrack-ng filename,其中filenameairodump-ng所建立的檔名稱。

剛剛發生了什麼?

我們成功從無線客戶端獲得了 WEP 金鑰,不需要任何真實的接入點,或者在附近存在。這就是 Caffe Latte 攻擊的力量。

基本上,WEP 接入點不需要驗證客戶端是否知道 WEP 金鑰來獲得加密後的流量。在連線在新的網路時,流量的第一部分總是會傳送給路由器,它是 ARP 請求來詢問 IP。

這個攻擊的原理是,使用我們建立的偽造接入點反轉和重放由無線客戶端傳送的 ARP 包。這些位反轉的 ARP 請求封包導致了無線客戶端傳送更多 ARP 響應封包。

位反轉接收加密值,並將其自改來建立不同的加密值。這裡,我們可以接收加密 ARP 請求並建立高精確度的 ARP 響應。一旦我們發回了有效的 ARP 響應,我們可以一次又一次地重放這個值,來生成我們解密 WEP 金鑰所需的流量。

要注意,所有這些封包都是用儲存在客戶端的 WEP 金鑰加密。一旦我們得到了大量的這類封包,aircrack-NG就能夠輕易恢復出 WEP 金鑰。

試一試 – 熟能生巧

嘗試修改 WEP 金鑰並且重放攻擊。這是個有難度的攻擊,並且需要一些練習來成功實施。使用 Wireshark 檢驗無線網路上的流量是個好主意。

6.3 解除驗證和解除關聯攻擊

我們已經在之前的章節中看到了接入點上下文中的解除驗證攻擊,這一章中,我們會在客戶端上下文中探索這種攻擊。

下一個實驗中,我們會傳送解除驗證封包給客戶端並且破壞已經建立的接入點和客戶端之間的連線。

實戰時間 – 解除客戶端的驗證

遵循這些指南來開始:

  1. 讓我們首先啟動接入點Wireless Lab,讓我們使其保持執行,以 WEP 加密,來證明即使開啟加密,也可能攻擊接入點和客戶端之間的連線。讓我們使用airodump-ng來驗證接入點開啟:

  2. 讓我們將客戶端連線到這個接入點,並使用airodump-ng驗證:

  3. 我們現在執行aireplay-ng,將接入點連線作為目標。

  4. 客戶端斷開了連線,並嘗試重新連線。我們可以使用 Wireshark 來驗證。

  5. 我們現在看到了,即使使用了 WEP 加密,還是可以解除客戶端的驗證並使其斷開。即使使用 WPA/WPA2 也是一樣。讓我們現在將接入點設定為 WPA 加密並驗證。

  6. 讓我們將客戶端連線到接入點並確保已經連線。

  7. 讓我們現在執行aireplay-ng來斷開客戶端和接入點的連線:

剛剛發生了什麼?

我們剛剛看到了如何使用解除驗證幀,選項性斷開無線客戶端到接入點的連線,即使使用了 WEP/WPA/WPA2 加密方式。這僅僅通過傳送解除驗證封包給接入點來完成 – 客戶端偶對,而不是傳送廣播解除驗證封包給整個網路。

試一試 – 客戶端上的解除關聯攻擊

在上一個練習中,我們使用瞭解除驗證攻擊來破解連線。嘗試使用解除關聯訪問來破壞客戶端和接入點之間的連線。

6.4 Hirte 攻擊

我們已經看到了如何實施 Caffe Latte 攻擊。Hirte 攻擊擴充套件自 Caffe Latte 攻擊,使用脆片機制並允許幾乎任何封包的使用。

Hirte 攻擊的更多資訊請見 Aircrack-ng 的官網:http:// www.aircrack-ng.org/doku.php?id=hirte

我們現在使用aircrack-ng來在相同客戶端上實施 Hirte 攻擊。

實戰時間 – 使用 Hirte 攻擊破解 WEP

遵循這些指南來開始:

  1. 使用airbase-ng工具建立 WEP 接入點,和上一個練習完全一樣。唯一的附加選項就是-N選項而不是-L選項來載入 Hirte 攻擊。

  2. 在單獨的視窗開啟airodump-ng來捕獲Wireless Lab蜜罐的封包。

  3. 現在airodump-ng會開始監控網路,並在Hirte-01.cap檔案中儲存封包。

  4. 一旦漫遊客戶端連線到了我們的蜜罐 AP,Hirte 攻擊就會由airbase-ng自動載入。

  5. 我們像上一個練習那樣啟動aircrack-ng,最後金鑰會破解出來。

剛剛發生了什麼?

我們對 WEP 客戶端實施了 Hirte 攻擊,客戶端是隔離的,並遠離授權網路。我們使用和 Caffe Latte 攻擊相同的方式來破解金鑰。

試一試 – 堅持整,整就牛

我們推薦你在客戶端上設定不同的 WEP 金鑰並多次嘗試這個練習來獲得自信。你可能會注意你需要多次重新連線客戶端來使其生效。

6.5 無 AP 情況下的 WPA 破解

在第四章中,我們看到了如何使用airecrack-ng來破解 WPA/WPA2 PSK,基本原理是捕獲四次 WPA 握手,之後載入字典攻擊。

關鍵問題是:可不可以僅僅使用客戶端來破解 WPA,在沒有接入點的情況下?

讓我們再看一看 WPA 破解練習:

為了破解 WPA,我們需要來自四次握手的四個引數 – 驗證方的 Nounce,請求方的 Nounce,驗證方的 MAC,請求方的 MAC。現在有趣的是,我們不需要握手中的全部四個封包來提取這些資訊。我們可以只從封包 1 和 2,或 2 和 3 中提取。

為了破解 WPA-PSK,我們需要啟動 WPA-PSK 蜜罐,並且當客戶端連線時,只有訊息 1 和 2 會傳送。由於我們並不知道口令,我們就不能傳送訊息 3。但是,訊息 1 和 2 包含所有金鑰破解所需的資訊:

實戰時間 – 無 AP 情況下的 WPA 破解

  1. 我們首先啟動 WPA-PSK 蜜罐,ESSID 為Wireless Lab-z 2選項使用 TKIP 建立 WPA-PSK 接入點。

  2. 讓我們啟動airodump-ng來從這個網路上捕獲封包:

  3. 現在當我們的漫遊客戶端連線到這個接入點時,它會開始握手,但是在訊息 2 之後失敗,就像我們之前討論的那樣。但是,破解握手所需的資料已經捕獲了。

  4. 我們使用airodump-ng所捕獲的檔案和相同的字典檔案執行aircrack-ng。最後,我們會破解出口令。

剛剛發生了什麼?

我們能夠只通過客戶端破解 WPA。這是因為,即使只擁有前兩個封包,我們也能獲得針對握手的字典攻擊的全部所需資訊。

試一試 – 無 AP 情況下的 WPA 破解

我們推薦你在客戶端設定不同的 WPA 金鑰,並且多次嘗試這個練習來蝴蝶自信。你會注意到你需要多次重新連線客戶端來使其生效。

小測驗 – 攻擊客戶端

Q1 Caffe Latte 攻擊涉及到哪種加密?

  1. WEP
  2. WPA
  3. WPA2

Q2 蜜罐接入點通常使用哪種加密?

  1. 沒有加密,開放驗證。
  2. 沒有加密,共享驗證。
  3. WEP 加密,開放驗證。
  4. 以上都不是。

Q3 下列哪個攻擊是 DoS 攻擊?

  1. 錯誤關聯攻擊
  2. 解除驗證攻擊
  3. 解除關聯攻擊
  4. 2 和 3

Q4 Caffe Latte 攻擊需要什麼?

  1. 無線客戶端位於接入點的廣播範圍內。
  2. 客戶端含有快取或快取的 WEP 金鑰。
  3. WEP 加密至少是 128 位加密。
  4. 1 和 3。

總結

這一章中,我們瞭解了甚至是無線客戶端也容易受到攻擊。這包括蜜罐和其它錯誤關聯攻擊。Caffe Latte 攻擊用於從無線客戶端獲得金鑰;解除驗證和解除關聯攻擊導致拒絕服務;Hirte 攻擊是從漫遊客戶端獲得 WEP 金鑰的替代方案;最後,我們僅僅使用客戶端破解了 WPA 個人口令。

下一章中,我們會使用目前為止學到的東西,在客戶端和設施端實施多種高階無線攻擊。所以,趕緊翻過這一頁,進入下一章吧!


相關文章