昨天介紹了不同介質的 Layer 1 攻擊
不如我們今天就來實作一個吧
我們今天先較簡單的雙絞線乙太網路開始實作
今天的攻擊目標是 iPad Pro,是可以正常連上網的,我們來跑一下 Speedtest
基本上是 100/40 全速在跑
首先,我們先從較簡單的主動式 TAP 開始實作
主動式需要的硬體實作較少,我們可以用一台電腦輕易地實現
在這裡我們用的是 MacBook Pro 2019 做示範
用電腦來實作的話基本上原理都大同小異,就是讓電腦模擬一台 Switch 的行為
我跟 Windows 不是很熟,但我有查到教學,麻煩有興趣的朋友看這邊了喔
Windows Bridge
Linux 的部分可以使用 brctl 等指令實現
首先,我們需要讓電腦有兩張網卡,之後用來分別接上本來已連接上的兩端,如下圖所示
然後我們打開 MacOS 系統的網路設定,確認兩張網卡都已經有抓到了
點擊左下角齒輪符號,並按下「管理虛擬介面」
按下左下角的加號,選擇新增橋接器
將剛剛兩張網卡勾選起來,並按下建立
將剛建立的 Bridge(橋接器)的 IPv4 關閉,盡量減少封包產生(可選)
最後按下套用
這樣就將電腦當作是一台 Switch,讓封包可以在線路兩端自由流動了,同時你也能監看中間的流量。
當我們把線接成如下圖所示後
流量會先經過電腦,再到兩端
這樣就能監看中間的流量了
這裡我們使用 Wireshark 來做封包的分析
我們先打開 Wireshark,並選擇剛剛建出來的橋接器(bridge0)
這時候我們用一些工具在 iPad Pro 上製造 ICMP 流量(ping)
就可以在電腦上觀測到了
這邊測速結果大概只有原來的60%
警告:各種混亂,沒事的話不要搞自己,買現成的
大概原理如下圖所示,今天為了簡化只接了綠色的那組 TAP
首先,我們先剪開兩條線
盡量找那種爛一點的線,剪起來比較不心疼
這邊用了跟貓指甲刀很像的剝線鉗來剝線
(不是很像,根本就是)
照著上面的圖接
全部接起來會像是這樣
跟剛剛 Active 的差別在於,這裡只需要一個介面,而 Wireshark只要聽在這個介面上即可
這邊因為只用個一個介面,只能聽到單向的封包,所以用剛剛 ping 的範例來看的話,只會剩下 ICMP Request
Speedtest 下與原速率相當
主動式 TAP 有主動式 TAP 的好處,例如可以避免線路衰減,使用電腦當作中繼,且可以從中修改封包內容等
但被動式也有被動式的好處,我們可以透過底下這張表來比較兩者的優缺點
Active 主動式 | Passive 被動式 | |
---|---|---|
更改封包內容 | 大多數需要更改 L2 | 不會 |
MITM | 可以 | 不行 |
斷線風險 | 高 | 基本無 |
訊號衰減 | 增強訊號 | 增加衰減/引入雜訊 |
傳輸速度 | 需要 CPU/ASIC | 若無訊號衰減,基本相等 |
我們今天看到了兩種不同的乙太網路 TAP 方法,也比較了兩種方法的不同以及優缺點
明天將會講解光纖的 TAP 方式