iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
8
Security

從 0 開始的 Web Security系列 第 16

Day 16 攻擊向量 (3) - 網路層 (OSI L3) & 傳輸層 (OSI L4)

昨天發文的時候發現當初排標題的時候排了兩個 Day 15 QQ
所以我們只好跳過 L2 連結層 VLAN Trunking 的問題
先進入 OSI L3 的部分了

OSI Layer 3

在 OSI Layer 3 的部分,最常見的是 IP 這個協定,所以 L3 常常也被稱為 IP 層
還有其他 IP 的擴充協定
舉例來說像是 IPSec、ICMP、IGMP
還有一些像是用來輔助 IP 的協定,像是 OSPF 等

IP

全名 Internet protocol
IP 作為 OSI Layer 3 中最常用的通訊協定,目前主要分為兩個版本
也就是 IPv4 與 IPv6
能支援其他更高層通訊協定
我們之後的章節基本上都會建立在 IP 這個協定上
在前面講到網路網路構成時也都是以 IP 作為基礎
路由器的封包轉發很大一部分也是根據以及依賴 IP 這個協定中所定義的值
相信大家都能感覺到 IP 這個協定有多重要了

OSPF

OSPF(Open Shortest Path First)作為同 AS 中的 IGP 路由協定
在大多數設備都有支援的情況下,自然也被廣泛應用在商業環境中
OSPF 主要也是被運用來傳遞 IP 路由的一個協定
若攻擊使用 OSPF 協定溝通的網路設備
將可以做到 Layer 3 協定層級以上的流量劫持行為

OSI Layer 3 相關攻擊

就我們上述所講解的兩個 L3 協定
我們就能延伸出一些攻擊的進入點
首先,我們從我們最熟悉的製造假冒封包開始
在 IP 與 IP 相關延伸協議中,都是以 IP 來源位置與 IP 目的位置為基礎
目的地在終端系統層面上是可以被控制的
若從終端設備上發出一些惡意構造的 IP 延伸協議的控制封包
我們就可以對未驗證的設備進行攻擊,實現流量劫持或是服務阻斷式的攻擊

但在網際網路中
IP 來源基本上都是由 ISP 等機構所管理的網路設備代為控制的
而如果我們手動送出了一個帶有惡意 IP 來源的封包並透過某些管道傳送到網際網路中
我們是不是就可以達成什麼呢?

上面第一點所提到的攻擊為 ICMP Redirect、OSPF Related Attack 等
而第二點提到的攻擊手法為 IP Spoofing
L3 網路層面的攻擊手法也不少於連結層,但因為攻擊起來較為不方便
所以攻擊數量上還是 L2 > L3

OSI Layer 4

Layer 4 這層,在終端設備上常見的有以下兩個協定,也就是 TCP 與 UDP
我們在 Day 2Day 6 統整介紹時
也有簡單帶過這兩個協定
相信大家也對這張圖印象深刻
https://ithelp.ithome.com.tw/upload/images/20200917/20129897zQasaX43Y1.png

底下我們會再幫大家複習與更深入的講解

TCP 與 UDP 兩個傳輸層協定,都有稱作 Port(連接埠、通訊埠) 的機制
使得可以在同一個 IP 上建立不同的服務讓使用者連線做使用

TCP (Transmission Control Protocol)

有狀態的協定,建立連線前要先經過三方交握
有資料驗證、重傳機制,確保對面收到的東西是對的
https://ithelp.ithome.com.tw/upload/images/20200917/20129897LHI5nGcTPk.png
三方交握的詳細可以看這篇,圖片也是這裡借來的

當你的電腦想要建立一個連線時,會發出一個 SYN 封包到對方電腦
當對方電腦看到目的地 Port 與自己電腦上監聽的 Port 是一樣的時候
會回給你 SYN ACK 告訴你可以建立這個連線
反之,若目的地電腦上沒有這個服務,則會回傳 ACK RST
這時候你的電腦就知道目的電腦不提供這個服務

這也代表你電腦與對方電腦上對每一條 TCP 連線都必須有一個狀態機來記錄當下的狀態
狀態機運作的流程圖大致如下圖
https://ithelp.ithome.com.tw/upload/images/20201001/20129897xzlzOQDdwq.png

UDP (User Datagram Protocol)

無狀態協定,資料丟過去,對方沒收到就算了
有需要的話需要在應用層實現重傳機制

好處是相對於 TCP,不需要花太多時間與資源在建立連線與確認資料到達上
但也因為如此, UDP 作為一個無狀態協議,建立連線的時候不用反向連回客戶端確認
這也造成了建立在 UDP 上的應用層協議飽受 IP Spoofing 的威脅

OSI Layer 4 相關攻擊

對於 TCP 的狀態機結構,我們可以利用狀態機需消耗 CPU 與 記憶體資源的弱點
來向目標主機建立大量無效連線,導致資源耗盡等

而對於 UDP 的無狀態結構,我們可以直接利用偽冒的 IP 地址來導致目標直接信任來源位置
做出其他攻擊,通常用於 DDoS 等

小結

由於篇幅問題,無法詳細講述多種不同的 L3 網路層攻擊手法
明天將會以網際網路上較常見的 IP Spoofing 手法做講解實作
其他攻擊手法很多都是建構於 IP Spoofing 之上的
之後會講到的上層攻擊手法也有部分是以 IP Spoofing 作為基礎


上一篇
Day 15 連結層攻擊實作 - STP Spoofing
下一篇
Day 17 網路層攻擊實例 - IP Spoofing
系列文
從 0 開始的 Web Security22

1 則留言

0
daisuketw
iT邦新手 5 級 ‧ 2020-10-02 00:59:06

TCP 的那個圖是怎樣啦XD
突然噴一堆東西QWQ

我要留言

立即登入留言