UDP67 -> Server(伺服器)
DHCP伺服器在這個埠口監聽,等客戶端請求
UDP68 -> Client(客戶端)
客戶端從這個埠口發送請求和接收回應
UDP 53 (最常見)
一般查詢都用UDP,因為比較快,一問一答,封包小,不用建立連結
TCP 53
回應資料太大(UDP塞不下)
DNS伺服器之間做區域傳送時,資料量大確保完整性
這兩個情況會有TCP
假設:
當我用手機連星巴克的WIFI時
手機剛開始會不知道:
這時手機就會透過UDP68廣播到UDP67
DHCP伺服器會回應設定給手機 UDP67
這時DHCP Server會回應以下設定:
假設:攻擊者能控制DHCP(改閘道)
- 它就能亂改我的預設閘道
- 正常封包傳送:
- 我的手機 -> 路由器(閘道) ->網路
- 被改之後:
- 我的手機 -> 攻擊者電腦(假閘道) -> 路由器 -> 網路
導致丟出去的封包都會經過攻擊者的電腦,攻擊者可以看完後再轉發到正常位址
對手機來說網路一切正常
但其實中間已經有人在偷看
中間人攻擊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(網域名稱系統)設定,進而引導受害者至惡意網站
Discover (發現)
Offer (提供)
Request (請求)
Acknowledge (確認)
手機會廣播喊 :這裡有沒有DHCP Server?
因為是用廣播的方式,區網內的所有人都聽得到
DHCP Server收到後:
會提供一組網路設定
例如:
IP
Mask
Gateway
DNS
以上這些就是Offer
因為是用廣播,所以如果區網內有很多DHCP Server 就會收到很多Offer
手機挑選一個Offer,再次廣播:
「我要用這台Server給的那組設定」
一樣用廣播,為了讓其他Server知道自己沒被選上,它們可以把那組設定收回去給別人
被選中的DHCP Server會回應:
「確認,這組設定租給你,租期XX小時」
手機收到後就正式套用這些設定,就可以開始上網了
注意
從上面那幾個步驟看就知道
傳統的DHCP因為過程都是廣播的方式
如果同個區網出現假的DHCP Server
客戶端就很難察覺
這就是Rogue DHCP Server惡意DHCP伺服器
需要注意惡意DHCP並不能直接造成攻擊
它主要是提供惡意/錯誤網路組態
後續才可能造成
流量導向、DNS欺騙、中間人等風險
正常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設定
DHCP最大的弱點就是誰先回應就信誰
通常會在交換器這一層做管理
DHCP Snooping DHCP 監聽
DHCP Snooping是交換器中的一個功能
DHCP Snooping讓交換器變成一個保全
檢查每個埠口進來的DHCP封包
埠口分兩類:
讓攻擊者就算入侵了員工電腦也沒辦法進行DHCP攻擊
因為實體連接DHCP伺服器的埠口被物理堵上了
其他埠口被限制不能傳送Offer也無法攻擊
真正危險的是攻擊者直接入侵連接在Trusted埠口上的DHCP Server設備本身
那這就不是DHCP Snooping可以防範的

Domain Name System,DNS
網域名稱系統
簡單來說就是把人好記的:
mikey.com
轉換成:
XX.XX.XX.XX
DNS就像是網路的電話簿
DNS一旦被騙,即使使用者打對網址,也可能會被帶去錯誤的地方
負責幫客戶端找IP答案的人
Client問:
www.mikey.com 是多少IP?
Recursive:
查詢各級DNS資料,最後把結果送回Client
例如:
對某個網域Domain的DNS資料具有權威答案的Server
是管地址的,紀錄就在它手上,它說了算
這裡說的DNS紀錄
分別是6個:
- A 域名 -> IPv4位址
告訴別人我在這個IP- AAAA 域名 -> IPv6位址
與A一樣只是是IPv6用的- CNAME 域名 -> 另一個域名(別名)
www.mikey.com -> mikey.com
意思是這兩個是同一個地方- MX 域名 -> 郵件伺服器
別人寄email到@mikey.com時,要送到哪一台伺服器- NS 域名 -> 負責管它的Name Server
告訴全世界要查mikey.com的紀錄,就去問這台Server
這就是指向權威DNS自己- TXT 放文字資訊
簡單來說:
我的地址是 -> A/AAAA
我的別名是 -> CNAME
我的信箱是 -> MX
管我的人是 -> NS
說明備註 -> TXT
如果每次開啟網站都要重新查一次DNS效率會很差
所以遞迴解析器Resolver會把結果暫時保存
而其中顯示的TTL:XXX秒
就是存活時間
這時間就可以直接使用快取不用重新找
雖然這樣可以讓查詢更快也能減少DNS Server的負擔
但如果!
快取的紀錄被攻擊者汙染
例如:
原本mikey.com -> 123.123.123.123
被攻擊者改成 456.456.456.456
就會導致使用者連接到攻擊者的伺服器這就叫DNS Cache Poisoning快取汙染
是DNS Spoofing(DNS偽造)的一種
讓受害者收到假的DNS回覆
例如:
受害者問:
mikey.com -> IP?
攻擊者搶答:
mikey.com -> 惡意IP
受害者就會被導向假的地方
劫持DNS流程或是DNS設定
劫持方式有:
改你設備上的DNS設定
劫持路由器
Domain Name System Security Extensions
DNS 安全擴充
簡單來說就是
讓每一筆的DNS紀錄都帶數位簽章,收到的人可以驗證
這樣就能知道這個答案是不是正確的Server發的
