中間人攻擊


在本節中,我們將討論中間人(MITM)攻擊。這是在網路中執行的最危險的攻擊之一。我們在連線到網路後執行此攻擊。此攻擊會將資料包流從任何用戶端重定向到我們的裝置。這意味著傳送到用戶端或從用戶端傳送的任何資料包都必須通過我們的裝置。現在,我們知道網路的密碼和金鑰,因此將能夠讀取唯讀取這些資料包,修改它們,丟棄它們。這種攻擊是如此有效和強大,因為它很難防範。這是由於ARP協定的工作方式。

ARP有兩個主要的安全問題。第一個安全問題是每個ARP請求響應都是可信的,因此無論我們的裝置對網路中的其他裝置說什麼都是可信的。如果我們告訴我們網路上的任何裝置我們是路由器,裝置將信任我們。它不會執行任何測試以確保我們是不是路由器。同樣地,如果我們告訴路由器我們是網路上的其他人,路由器將信任我們並將開始將我們視為該裝置。這是第一個安全問題。第二個安全問題是用戶端即使沒有傳送請求也可以接受響應。因此,當裝置連線到網路時,首先要問的是,誰是路由器?然後路由器將傳送一個回復,說「我是路由器」。現在,我們可以在沒有裝置詢問路由器是誰的情況下傳送響應。我們可以告訴裝置我們是路由器,並且因為裝置信任任何人,他們將信任我們並開始向我們傳送資料包而不是將資料包傳送到真正的路由器。

接下來,我們將了解MITM攻擊的工作原理。它將使用一種稱為ARP中毒或ARP欺騙的技術。在下圖中,我們可以看到典型的Wi-Fi網路。當用戶端請求某些時,它會將請求傳送到Wi-Fi路由器,然後路由器將從網際網路上獲取請求並返回給用戶端的響應:

所有這些都是使用資料包完成的。因此,我們要做的是將向用戶端傳送ARP響應,以便可以在用戶端不再詢問的情況下傳送響應。用戶端沒有要求任何東西,但我們仍然可以傳送回復。我們要說我們的IP是路由器IP。路由器的IP是:192.168.0.1。我們要告訴用戶端,IP 192.168.0.1的裝置有我們的MAC地址,所以我們要告訴用戶端我們是路由器。

在這之後,用戶端將開始向我們傳送資料包,而不是將資料包傳送到路由器。下圖說明了這一點:

之後,我們將與Wi-Fi路由器做相反的事情。我們要告訴路由器我們是用戶端。將通過告訴路由器我們的IP是用戶端IP,並且用戶端具有我們的MAC地址來做到這一點,因此資料包的通訊將通過MAC地址完成,而Wi-Fi路由器將開始向我們傳送資料包-這原來是要傳送給用戶端的資料包。下圖說明了這一點:

如下圖所示,當客戶想要開啟Google.com時,它會將請求傳送到我們的裝置,而不是將其傳送到Wi-Fi路由器。

現在,Wi-Fi路由器會將響應Google.com傳送到我們的裝置而不是用戶端,然後我們會將響應傳送給用戶端。因此,這意味著傳送給用戶端或用戶端的每個資料包都必須通過我們。由於它通過我們必須有金鑰(密碼),我們可以讀取這些資料包,我們可以修改,利用或者可以刪除它們。

所以,這是ARP中毒或MITM攻擊的基本原則。攻擊原理是:我們將告訴用戶端我們是路由器,然後我們告訴Wi-Fi路由器我們是用戶端。這將使我們處於用戶端和Wi-Fi路由器之間的資料包流的中間。在此之後,所有資料包將開始流經我們的裝置,因此我們可以讀取資料包,修改資料包或刪除資料包。