iT邦幫忙

2026 iThome 鐵人賽

DAY 22
0

DAY22 DHCP / DNS Security

  • 一. DHCP(動態主機設定)在幹嘛?
    • 1-1 DHCP的流程 (DORA)
    • 1-2 DHCP耗盡攻擊 DHCP Starvation
    • 1-3 要怎麼防禦?
  • 二. DNS是什麼?
    • 2-1 遞迴解析器Recursive Resolver
    • 2-2 權威 DNS Authoritative DNS
    • 2-3 DNS快取 DNS Cache
    • 2-4 DNS偽造DNS Spoofing
    • 2-5 DNS劫持 DNS Hijacking
    • 2-6 DNSSEC 是什麼?
  • 三. 試著用一張圖整合

  1. DHCP 動態主機設定協定
    Dynamic Host Configuration Protocol
    常用Port:

UDP67 -> Server(伺服器)

DHCP伺服器在這個埠口監聽,等客戶端請求

UDP68 -> Client(客戶端)

客戶端從這個埠口發送請求和接收回應

  1. DNS 網域名稱系統
    Domain Name System
    常用Port:

UDP 53 (最常見)

一般查詢都用UDP,因為比較快,一問一答,封包小,不用建立連結

TCP 53

回應資料太大(UDP塞不下)
DNS伺服器之間做區域傳送時,資料量大確保完整性
這兩個情況會有TCP


一. DHCP(動態主機設定)在幹嘛?

假設:
當我用手機連星巴克的WIFI時
手機剛開始會不知道:

  1. 我要用那個IP
  2. 子網路遮罩 Subnet Mask
  3. 預設閘道 Default Gateway
  4. DNS 伺服器

這時手機就會透過UDP68廣播到UDP67
DHCP伺服器會回應設定給手機 UDP67

這時DHCP Server會回應以下設定:

  1. IP位址 IP Address
  2. 子網路遮罩 Subnet Mask
  3. 預設閘道 Default Gateway
  4. DNS伺服器 DNS Server
  5. 租約時間 Lease Time

假設:攻擊者能控制DHCP(改閘道)

  1. 它就能亂改我的預設閘道
  • 正常封包傳送:
  • 我的手機 -> 路由器(閘道) ->網路
  • 被改之後:
  • 我的手機 -> 攻擊者電腦(假閘道) -> 路由器 -> 網路

導致丟出去的封包都會經過攻擊者的電腦,攻擊者可以看完後再轉發到正常位址
對手機來說網路一切正常
但其實中間已經有人在偷看
中間人攻擊Man-in-the-Middle

假設:攻擊者能控制DHCP(改DNS)
假設今天輸入mikey.com正常的DNS會給出正常的網站IP
被改DNS後:
一樣輸入 mikey.com ->手機去問DNS ->但現在DNS是攻擊者的假DNS ->攻擊者把假網站的IP給手機 ->手機就會連上假的網站
如果這時候在假的網站輸入帳號密碼
那攻擊者就會竊取到

IPAS 115-1 Q4
關於DHCP惡意攻擊,下列何項說明最能解釋其可能造成的後續威脅?

A :攻擊者可透過惡意DHCP提供錯誤的DNS(網域名稱系統)設定,進而引導受害者至惡意網站

當手機加入了某個網路:

1-1 DHCP的流程 (DORA)

Discover (發現)
Offer (提供)
Request (請求)
Acknowledge (確認)

第一步 Discover發現

手機會廣播喊 :這裡有沒有DHCP Server?
因為是用廣播的方式,區網內的所有人都聽得到

第二步 Offer 提供

DHCP Server收到後:

會提供一組網路設定

例如:
IP
Mask
Gateway
DNS
以上這些就是Offer
因為是用廣播,所以如果區網內有很多DHCP Server 就會收到很多Offer

第三步 Request 請求

手機挑選一個Offer,再次廣播:
「我要用這台Server給的那組設定」

一樣用廣播,為了讓其他Server知道自己沒被選上,它們可以把那組設定收回去給別人

第四步 Acknowledge(ACK) 確認

被選中的DHCP Server會回應:
「確認,這組設定租給你,租期XX小時」
手機收到後就正式套用這些設定,就可以開始上網了

注意
從上面那幾個步驟看就知道
傳統的DHCP因為過程都是廣播的方式
如果同個區網出現假的DHCP Server
客戶端就很難察覺
這就是Rogue DHCP Server惡意DHCP伺服器

需要注意惡意DHCP並不能直接造成攻擊
它主要是提供惡意/錯誤網路組態
後續才可能造成
流量導向、DNS欺騙、中間人等風險

1-2 DHCP耗盡攻擊 DHCP Starvation

正常DHCP Server的IP Pool(IP位址池)有限
例如:
192.168.1.100~192.168.1.200
那這個DHCP Server只有大約101個可租用IP

怎麼發生:

攻擊者會製造大量的假DHCP客戶端請求

讓DHCP Server以為:

有很多不同設備在申請IP

導致:

所有IP都被租光

結果:

真正的使用者拿不到IP

真正的使用者無法上網

類似DoS概念只是針對DHCP

攻擊者
會把DHCP完全耗盡後,再設定一個假的惡意的DHCP
這樣使用者可能就會取得惡意的DHCP設定

1-3 要怎麼防禦?

DHCP最大的弱點就是誰先回應就信誰
通常會在交換器這一層做管理
DHCP Snooping DHCP 監聽

DHCP Snooping是交換器中的一個功能
DHCP Snooping讓交換器變成一個保全
檢查每個埠口進來的DHCP封包
埠口分兩類:

  1. 信任埠口 Trusted Port
    • 只設定給DHCP Server
    • 允許DHCP Offer提供和ACK確認這些Server發的封包通過
  2. 非信任埠口 Untrusted Port
    • 接一般設備:員工電腦、手機、印表機
    • 這些設備只進行 Discover發現和Request請求
    • 如果發送了Offer和Ack直接擋掉

讓攻擊者就算入侵了員工電腦也沒辦法進行DHCP攻擊
因為實體連接DHCP伺服器的埠口被物理堵上了
其他埠口被限制不能傳送Offer也無法攻擊

真正危險的是攻擊者直接入侵連接在Trusted埠口上的DHCP Server設備本身
那這就不是DHCP Snooping可以防範的

螢幕擷取畫面 2026-09-22 224607


二. DNS是什麼?

Domain Name System,DNS
網域名稱系統

簡單來說就是把人好記的:

mikey.com

轉換成:

XX.XX.XX.XX

DNS就像是網路的電話簿

DNS一旦被騙,即使使用者打對網址,也可能會被帶去錯誤的地方

2-1 遞迴解析器Recursive Resolver

負責幫客戶端找IP答案的人

Client問:
www.mikey.com 是多少IP?
Recursive:
查詢各級DNS資料,最後把結果送回Client
例如:

  1. 網路服務商的DNS(ISP DNS)
    • 中華電信、遠傳等等...
    • 連上後DHCP自動派給我的DNS Server
  2. 企業內部的DNS
  3. 公共DNS (Public DNS Resolver)
    • 任何人都可以手動設定的DNS
    • google -> 8.8.8.8
    • Cloudflare -> 1.1.1.1

2-2 權威 DNS Authoritative DNS

對某個網域Domain的DNS資料具有權威答案的Server
是管地址的,紀錄就在它手上,它說了算

這裡說的DNS紀錄
分別是6個:

  1. A 域名 -> IPv4位址
    告訴別人我在這個IP
  2. AAAA 域名 -> IPv6位址
    與A一樣只是是IPv6用的
  3. CNAME 域名 -> 另一個域名(別名)
    www.mikey.com -> mikey.com
    意思是這兩個是同一個地方
  4. MX 域名 -> 郵件伺服器
    別人寄email到@mikey.com時,要送到哪一台伺服器
  5. NS 域名 -> 負責管它的Name Server
    告訴全世界要查mikey.com的紀錄,就去問這台Server
    這就是指向權威DNS自己
  6. TXT 放文字資訊

簡單來說:
我的地址是 -> A/AAAA
我的別名是 -> CNAME
我的信箱是 -> MX
管我的人是 -> NS
說明備註 -> TXT

2-3 DNS快取 DNS Cache

如果每次開啟網站都要重新查一次DNS效率會很差
所以遞迴解析器Resolver會把結果暫時保存

而其中顯示的TTL:XXX秒
就是存活時間
這時間就可以直接使用快取不用重新找

雖然這樣可以讓查詢更快也能減少DNS Server的負擔
但如果!
快取的紀錄被攻擊者汙染
例如:
原本mikey.com -> 123.123.123.123
被攻擊者改成 456.456.456.456
就會導致使用者連接到攻擊者的伺服器

這就叫DNS Cache Poisoning快取汙染
是DNS Spoofing(DNS偽造)的一種

2-4 DNS偽造DNS Spoofing

讓受害者收到假的DNS回覆

例如:
受害者問:

mikey.com -> IP?

攻擊者搶答:

mikey.com -> 惡意IP

受害者就會被導向假的地方

2-5 DNS劫持 DNS Hijacking

劫持DNS流程或是DNS設定

劫持方式有:

  1. 改你設備上的DNS設定

    • 攻擊者透過惡意程式,將你電腦中的DNS設定改成它的Server
    • 原本你的DNS設定 -> 8.8.8.8(Google)公共DNS
    • 攻擊者改你的DNS設定 -> 5.5.5.5 (攻擊者的Server)
    • 之後你查詢都會問攻擊者Server,它想回什麼都可以
  2. 劫持路由器

    • 假設有些人家裡的路由器密碼是admin/admin
    • (幸好我改了)
    • 攻擊者登入後,直接把路由器上的DNS設定改掉
    • 這樣家裡設備透過DHCP拿到的DNS都是被改過的

2-6 DNSSEC 是什麼?

Domain Name System Security Extensions
DNS 安全擴充

簡單來說就是
讓每一筆的DNS紀錄都帶數位簽章,收到的人可以驗證
這樣就能知道這個答案是不是正確的Server發的

三. 試著用一張圖整合

螢幕擷取畫面 2026-09-23 030139


上一篇
DAY21 VLAN/Trunk/Native VLAN/Double Tagging
下一篇
DAY23 Routing(路由)/BGP/RPKI/BGP
系列文
格鬥教練想轉職學資安是否搞錯了什麼(自學第一步)IPAS初級筆記 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言