iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
10
Security

從 0 開始的 Web Security系列 第 13

Day 13 連結層攻擊實作 - DHCP Attack

昨天我們講解了 L2 通訊的基礎,也就是使用 MAC Address 來轉發封包
而今天我們將介紹一個可以將 L2 通訊升級為 L3 通訊的協議
同時也會講解這個協定的一些弱點

DHCP

首先,在介紹這個協議之前,我們先來複習一下昨天的內容,我們昨天介紹到了 L2 轉發封包,是根據 MAC 位置來轉發的
而也因為這樣,L2 轉發常常會被侷限在近端的設備上,而這時候我們就需要一個更被廣泛使用的位置,也就是 IP 位置來轉發
那區域網路設備要怎麼拿到 IP,也就是 L3 的位置呢?
我們可以透過一台特定的 Server 透過 DHCP 這個協定來分派 IP 位置
(這台伺服器我們稱作為 DHCP Server,通常家用的路由器、IP 分享器都會一併處理)
通常被分發出去的 IP 位置是從一個範圍選擇的,我們叫這個範圍 DHCP Pool
後續將會使用 Pool 這個名詞來描述 DHCP 可以分發的 IP 範圍

DHCP Packet Structure

我們先來看一張沒有基礎知識的人比較好懂的圖好了
https://ithelp.ithome.com.tw/upload/images/20200928/20129897ITCJgpbIn2.png

專業一點的圖會長得像下面一樣
https://ithelp.ithome.com.tw/upload/images/20200928/20129897OlHUCzOnuE.png

在一開始溝通的時候,因為 DHCP Client (請求 IP 的那一方) 不知道任何人的位置,也沒有 L3 的 IP 位置
所以既不能用 MAC Address 溝通,也不能用 IP Address 來溝通
這時候 DHCP Client 就會使用廣播的方式,將 L2 MAC Address 設為廣播位置(FF:FF:FF:FF:FF:FF)

詳細的 DHCP 封包內容介紹可以參考這篇,今天重點主要著重於在攻擊面向與手法

DHCP Starvation

DHCP Starvation 指的是將 DHCP Pool 內的 IP 都使用完
導致正常使用者沒辦法獲得新的 IP
整體流程圖大概如下
https://ithelp.ithome.com.tw/upload/images/20200928/201298973Hk1PxfR6E.png

因為 DHCP Server 發現他的 Pool 裡面沒有 IP 了,所以發不出 IP 給正常的使用者
正常的使用者因為拿不到 IP,所以也不能進行更高層的通訊(打開 Google 等)
這就是一種服務阻斷攻擊,防治的方法等一下會統一講解

DHCP Spoofing

這種情況其實很常發生,主要成因都是因為不熟悉網路環境盲目設定而造成的
當一個 L2 網段中同時存在兩台 DHCP Server,且派發的是不同 L3 網段的設定
這樣就極有可能造成終端設備拿到錯誤的設定,可能發生一下幾種情況

  1. 終端設備無法上網
  2. 所有對非區網流量遭劫持
  3. 特定流量、設定遭竄改

這裏特別針對第二與第三點進行講解
首先,DHCP 不但能派發 IP 位置,還可以派發 Default Gateway
也就是在網路路由篇所講到的預設路由,可以把非區網流量都導向到指定的主機上
DHCP 也能派發一些選項,像是 Option 252(Web Proxy Auto-Discovery Protocol),可以將特定流量轉發到特定機器上,實現流量控制的目的

DHCP Snooping

DHCP Snooping 是一種在商用交換器上常見的安全設定
主要可以針對上述兩個問題有很好的防治效果
DHCP Snooping 可以只讓信任的連接孔發出 DHCP 的 Offer
避免有人私設 DHCP Server 來干擾正常網路連線
同時,也可以限制每個連接孔所發出的 DHCP 請求,避免一個孔同時拿到過多的 IP
進而避免了 DHCP Starvation Attack

小結

今天看到了 DHCP 這個 L2 升級 L3 協定的一些攻擊面向與防治方法
希望大家有從今天的文章中學到東西
最近都有點小忙,且因為我盡可能寫得較詳細,所以出文時間都在接近午夜 12 點
請大家多多體諒,有想要補充或是有問題的都可以留言喔


上一篇
Day 12 連結層攻擊實作 - MAC Flooding
下一篇
Day 14 連結層攻擊實作 - ARP Spoofing
系列文
從 0 開始的 Web Security22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
daisuketw
iT邦新手 5 級 ‧ 2020-09-29 21:45:07

DHCP Spoofing / DHCP Snooping
我剛剛看了兩次才發現不一樣QQ

seadog007 iT邦新手 5 級 ‧ 2020-09-30 01:30:39 檢舉

這就 不是我的問題了(跑

0
wlhfor1974
iT邦新手 3 級 ‧ 2020-09-30 10:10:44

之前同事把lease time設成forever算不算攻擊XD

seadog007 iT邦新手 5 級 ‧ 2020-09-30 10:12:24 檢舉

你裝置數量不超過的話沒問題啊(?
來自同事的惡意攻擊(X
Auto Static DHCP

0
阿瑜
iT邦研究生 4 級 ‧ 2020-11-03 00:48:04

也有人 不知道 無線分享器 怎麼接
把 lan 端 接 Internet 就讓其他人(同棟)無法上網 XD
形成 不小心造成的網路癱瘓(攻擊)

我要留言

立即登入留言