Skip to main content
威脅情報

什麼是 DNS 劫持?偵測與預防策略

DNS 劫持會將使用者重新導向至惡意網站。了解此攻擊的運作方式,並探索保護您的組織免受其害的策略。

作者 SentinelOne
什麼是 DNS 劫持?偵測與預防策略

DNS 劫持是一種網路攻擊,會將使用者從合法網站重新導向至惡意網站。本指南將探討 DNS 劫持的運作方式、其潛在影響,以及預防策略。

了解安全 DNS 組態與監控的重要性。理解 DNS 劫持對於保護線上資產以及防範使用者遭受網路釣魚攻擊至關重要。

複習:DNS 到底是什麼?

網路安全的世界相當複雜,因此這裡快速提醒一下我們正在討論的術語。DNS 或網域名稱系統,是將人類可讀的網域名稱,例如 www.yourcompany.com,轉換為實際供瀏覽器、路由器與伺服器用來提供網頁與電子郵件內容的數值型 IPv4 或 IPv6 位址系統的方式。

較舊的 IPv4 位址是您可能曾見過的熟悉 32 位元位址,由四個以句點分隔的區段組成。例如:

168.192.1.1

較新的 IPv6 位址是以十六進位表示的 128 位元位址,分成 8 個區段並以冒號分隔,看起來可能像這樣:

a8:c0:00:00:00:00:01:01

但也可能不是!在 IPv6 位址中,雙冒號可用來省略連續的 0,而區段開頭的 0 也可以移除,因此您可能會看到長度差異很大的 IPv6 位址。上述位址實際上會表示成這樣:

a8:c0::1:1

那麼這一切魔法是如何發生的?網域名稱如何變成 IPv4 與 IPv6 數值位址?當您的瀏覽器或其他網路裝置收到網域名稱時,DNS 查詢程序就會發生,從本機快取開始,接著經過 多個查詢伺服器:遞迴解析器、根名稱伺服器、頂級網域伺服器以及權威名稱伺服器。在此程序結束時,系統會將指定網域的 IP 位址傳送給用戶端。

什麼是 DNS 劫持?

在這些任一環節中,甚至在沿途的任何快取中,攻擊者都可能劫持 DNS 伺服器或污染快取,而且對提出請求的用戶端而言完全不可見。

如果您不是自行管理 DNS,那麼完全有可能替您管理 DNS 的第三方實體(那又是誰呢?)已在您不知情的情況下遭到入侵。當攻擊者劫持您的 DNS 時,他們就能攔截您的所有網頁流量與電子郵件通訊。

「按總資產排名前 20 大銀行中,有一半並未自行管理 DNS,而是將其交由可能遭駭的第三方掌控。」   (來源)

這種情況有幾種可能的發生方式。假設您透過某個網際網路註冊商註冊了您的網站,我會用一個虛構的例子,就叫它 GoMummy.com。GoMummy 註冊商會賣給您一個網域名稱 yourcompany.com,並將該名稱註冊到唯一的 IPv4 與 IPv6 位址。您的網域名稱具有 .com 的頂級網域(TLD),而有一台權威名稱伺服器保存著一筆 A-Record,其中包含您唯一的 IP 位址。

在這種情境中,攻擊者可能會在多個環節劫持您的 DNS。如果他們入侵權威名稱伺服器,就可能將您的 IP 位址變更為另一個位址,使對 yourcompany.com 的 DNS 查詢指向他們自己的伺服器。接著,任何在瀏覽器中輸入 yourcompany.com 的人都會前往攻擊者的網站,而不是您的網站。在那裡,您的訪客可能會看到一個與您網站完全相同的複製網站,只是該網站由攻擊者控制,並可能被用來竊取登入憑證、傳送惡意軟體,或散布有關您公司的虛假且具破壞性的資訊。在這種情況下,您可能大約有 4 小時—— the存留時間 對於 DNS 查詢通常是 14400 秒——以便在劫持開始於網際網路上擴散之前發現並修正它。

DNS 劫持的真實案例

一些 DNS 劫持的真實案例包括:

  1. 2018 年的 SamSam 勒索軟體攻擊:在這次攻擊中,駭客 鎖定數個美國醫療保健組織,利用 DNS 劫持將來自合法網站的流量重新導向至會傳送 ransomware 酬載的惡意網域。
  2. 2019 年 Cloudflare DNS 劫持事件:在此事件中,駭客利用 Cloudflare DNS 基礎架構中的漏洞,將數個網站(包括 coinbase.com)的流量重新導向至一個會傳送加密貨幣挖礦酬載的惡意網域。
  3. 2017 年 Exim 漏洞利用事件:在此事件中,駭客利用 Exim 郵件伺服器軟體中的漏洞,取得數個託管供應商 DNS 記錄的控制權,使他們能將來自合法網站的流量重新導向至惡意網域。

A-Records 遭劫持似乎就是那起影響 Twitter、New York Times 與 Huffington Post 的 attack 所發生的情況。這些網站的共同點是使用同一個註冊商:Melbourne IT。駭客組織 S.E.A. 透過一場 魚叉式網路釣魚活動 入侵其位於美國的銷售合作夥伴,並取得註冊商伺服器的存取權。從這裡開始,駭客便能變更數個網站的 A-Records。

在那個特定案例中,損害不過是些許破壞行為,但針對一家巴西銀行 DNS 註冊的攻擊則嚴重得多。攻擊者建立了該銀行網站的惡意複製版本,甚至配有有效的 https 憑證,並控制了大約五個小時。在那段期間,所有造訪該銀行 URL 的訪客都被重新導向至偽造網站,而這些網站還會提供 banking trojan malware。

最近,Sea Turtle 行動似乎是一場 由民族國家支持的 DNS 劫持行動,橫跨 13 個國家,並已鎖定至少 40 個公私部門實體。Sea Turtle 背後的威脅行為者透過變更 A-Records,將受害者重新導向至偽造網站,並在那裡竊取登入憑證。

DNS 快取汙染攻擊

在另一種情境中,攻擊者可能無法入侵您的 DNS 註冊商的 A-record,但可能改以快取汙染攻擊劫持您的 DNS。位於使用者電腦與使用者欲造訪網站之間的惡意或遭入侵 DNS 伺服器,可能會提供不同於 A-Record 中實際位址的替代位址。

實際上,這與審查機構(例如「中國防火長城」及其他政府反隱私方案所使用的技術完全相同;這也是某些 ISP 經常採用的手法,用來施加地理限制、投放廣告、蒐集資料,或以其他方式控制使用者的網際網路瀏覽。


在實務上,裝置與目標網站之間的任何 DNS 快取或查詢伺服器,都可能將使用者重新導向至其他位址。這可能從本機網路上的路由器開始——這也是使用公共 Wifi 服務的眾多風險之一——並一路延伸到根名稱伺服器(亦稱為「DNS 根伺服器」)。

路由器與惡意程式 DNS 劫持

在上述範例中,我們討論了發生在您所控制網路之外的攻擊,但 DNS 劫持也可能發生在您的網路內部。本機電腦上的惡意軟體可以變更用戶端所使用的 DNS 伺服器,使特定機器的網域名稱被錯誤解析為攻擊者所選擇的 IP。類似地,如果威脅行為者能夠入侵您網路中的路由器並變更其中的查詢伺服器位址,他們就能透過單一次入侵,對該網路上的每個用戶端達成相同效果。

惡意程式汙染裝置 DNS 查詢最簡單的方法之一,就是修改機器的 hosts 檔案。hosts 檔案有其正當用途,例如網頁開發、內容封鎖與 VM 軟體,但它也允許攻擊者為任何網域指定自訂 IP 位址。

如何判斷您的 DNS 是否遭到劫持?

您可以且應該定期檢視 hosts 檔案的內容。在 Windows 中,您可以使用 notepad 檢查 hosts 檔案,並瀏覽至位於 C:windowssystem32driversetchosts 的檔案。

對於熟悉 PowerShell 的使用者,只要對相同檔案路徑執行 cat 命令即可:

cat C:windowssystem32driversetchosts

此命令

cat /etc/hosts

在 Linux 上應已足夠


以及 macOS:


上述圖片為已安裝 VM 軟體的預設 hosts 檔案。攻擊者會透過新增如下這樣的一行來修改 hosts 檔案

<attackers IP address>    google.com

這樣的一行會讓裝置上所有對 google.com 的請求立即解析為指定的 IP 位址,而不會再進行任何 DNS 查詢或檢查。

如果您在使用瀏覽器時注意到速度變慢、瀏覽器重新導向、網站無法使用、彈出式視窗或其他異常行為,也可能表示存在本機入侵。請嘗試將電腦上的本機 DNS 設定變更為 8.8.8.8 和 8.8.4.4(Google 的 Public DNS)或 1.1.1.1 和 1.0.0.1(CloudFare 的 Public DNS),看看是否有所幫助。同時,請務必使用能夠偵測具有 DNS 變更行為之惡意程式的良好安全解決方案。

若要檢查本機網路之外的 DNS 查詢,終端使用者可以使用一些工具。whoismydns.com網站提供免費服務,當您連線至 whoismydns.com 網站時,會嘗試告訴您是哪一台伺服器代表您發出 DNS 請求。雖然這個想法不錯,但我們仍建議謹慎使用。

首先,該網站似乎沒有 https 版本,因此您無法真正驗證與該網站的連線是否在傳輸途中遭到竄改。其次,如果攻擊者控制了您的 DNS 流量,您也有可能被重新導向到偽造的 whoismydns.com 網站!

幾乎相同的注意事項也適用於此網站,它會嘗試告訴您,您的電腦是否仍是目前數千台感染DNSChanger malware的裝置之一。

對於企業與網域名稱持有者而言,您可以從已知乾淨的裝置上,使用 Google 的DNS lookup service檢查您的 A-Record 是否正確。例如,真正的 SentinelOne 請現身:

您可以如何因應 DNS 劫持?

攻擊者已注意到,路由器在安全鏈中可說是某種程度上的弱點,尤其是因為它們的內部防護相對薄弱、通常出廠時帶有預設管理員密碼,而遺憾的是有大量使用者從未更改,且韌體升級頻率很低(如果有的話)。一份很棒的路由器安全提示檢查清單可在此處找到,但重點可歸納為驗證並檢查您路由器的 DNS 設定,以及定期更新路由器密碼。

在管理組織的網域名稱時,企業防止 DNS 劫持最重要的步驟,是使用registry lock來防止未經授權的變更。此外,請務必在帳戶存取上啟用雙因素驗證。

如果您的主機服務未提供網域鎖定或 2FA,您應該認真考慮儘快改用有提供這些功能的服務。除此之外,請在您網站的控制面板中啟用 DNSSEC(網域名稱系統安全延伸) 。這有助於透過加密簽章驗證 IP 位址解析,防止 DNS 重新導向、快取污染、pharming 以及 man-in-the-middle-attacks。

為了消除分散式端點與組織網路之間 DNS 查詢的問題,企業應使用信譽良好的 VPN 服務。此外,請務必使用 autonomous, next-gen 安全解決方案來保護您的端點與網路。

Callout Background Image Gradient

Enhance Your Threat Intelligence

See how the SentinelOne threat-hunting service WatchTower can surface greater insights and help you outpace attacks.

結論

從端點到 DNS 根伺服器,將網域名稱解析為數字 IP 位址的過程,對一般使用者與企業而言充滿弱點,卻也為攻擊者提供了絕佳機會。美國國土安全部轄下的網路安全暨基礎設施安全局(CISA)最近警告,目前全球性的 DNS 劫持活動正在進行中。一旦劫持成功,攻擊者便可將您組織的 Web 流量重新導向至由攻擊者控制的基礎設施,且配有有效的加密憑證,並發動 man-in-the-middle attacks。針對裝置的 DNS 攻擊可透過變更本機 DNS 設定或污染本機 hosts 檔案輕易達成。

若要持續受到保護,請遵循我們在上一節中提出的建議。如果您的端點尚未受到如 SentinelOne 這類強大安全解決方案的保護,這個 免費示範 將向您展示我們的自主端點解決方案如何確保您的裝置與網路安全。


喜歡這篇文章嗎?歡迎在 LinkedIn、Twitter、YouTube 或 Facebook 上追蹤我們,查看我們發布的內容。

閱讀更多關於網路安全的內容

DNS 劫持常見問題

DNS 劫持是一種網路攻擊,駭客會操縱 DNS 查詢,將使用者從合法網站重新導向至惡意網站。攻擊者可以在您的電腦上安裝惡意軟體、奪取路由器控制權,或入侵 DNS 連線來發動攻擊。

當您輸入網站位址時,您不會前往真正的網站,而是被重新導向至由攻擊者控制的假網站。這可能導致網路釣魚詐騙、惡意軟體感染和資料竊取。

一個著名的例子發生在 2019 年的 Sea Turtle 活動中,攻擊者劫持了電信與媒體公司的 DNS 記錄以蒐集敏感資料。另一個例子發生在 2013 年的 The New York Times,當時攻擊者將使用者重新導向至一個旨在竊取登入憑證的假網站。2022 年,駭客劫持了 Curve Finance 的 DNS,將使用者重新導向至惡意加密貨幣平台並竊取其資金。

DNS 劫持有數種類型。本機 DNS 劫持涉及惡意軟體變更您裝置上的 DNS 設定。路由器 DNS 劫持則是利用弱密碼或韌體弱點來鎖定家用路由器。中間人攻擊會攔截您裝置與 DNS 伺服器之間的 DNS 請求。

惡意 DNS 伺服器劫持發生於攻擊者入侵合法 DNS 伺服器本身時。另一種則是註冊商劫持,攻擊者會取得網域註冊商帳戶的存取權。

DNS 劫持的運作方式是攔截正常的 DNS 解析程序。當您輸入網站位址時,您的裝置會送出 DNS 查詢以尋找 IP 位址。攻擊者可以入侵 DNS 伺服器、以惡意軟體感染您的裝置,或在傳輸過程中攔截 DNS 請求。

一旦他們控制了 DNS 解析,就會在保留原始 URL 可見的情況下,將您重新導向至惡意網站。這使得偵測變得困難,因為在您的瀏覽器中一切看起來都很正常。

您可以透過留意幾個警訊來偵測 DNS 劫持。網頁載入速度變慢,而且您會在不應出現彈出式廣告的網站上頻繁看到這些廣告。您可能會被重新導向至非預期的網站,或收到安全憑證警告。如果您的網際網路速度比平常慢,或您注意到出現陌生網站,這些都可能是 DNS 劫持的跡象。您也可以使用線上工具檢查您的 DNS 是否已遭入侵。

DNS 欺騙涉及將偽造的 DNS 記錄注入快取中,以暫時重新導向流量。DNS 劫持則更為全面,涉及直接控制 DNS 基礎架構或設定。欺騙通常影響本機網路或個別使用者,而劫持可能在全球範圍影響整個網域。

DNS 欺騙會破壞 DNS 快取項目,但 DNS 劫持實際上會變更 DNS 設定本身。與欺騙相比,劫持更具持續性,也更難偵測。

您可以透過為網域註冊商和 DNS 供應商帳戶使用強式且唯一的密碼來防止 DNS 劫持。盡可能啟用雙因素驗證。使用註冊商鎖定以防止未經授權的網域轉移。可考慮實作 DNSSEC,為您的 DNS 資料新增加密簽章。

使用加密的 DNS 通訊協定,例如 DNS-over-HTTPS 或 DNS-over-TLS。讓您的路由器韌體保持最新,並變更預設密碼。定期監控您的 DNS 設定,以檢查是否有任何未經授權的變更。

如果您無法存取平常使用的網站,或被重新導向到陌生頁面,您就會知道您的 DNS 已遭劫持。您的網域註冊商帳戶憑證可能會停止運作,或者您注意到 DNS 設定在您不知情的情況下已被變更。使用者也可能回報收到來自您網域的可疑電子郵件。

可能會出現異常的網路流量,或您的網域解析出非預期的 IP 位址。當您嘗試存取合法網站時,也可能會收到安全性警告。

可以,VPN 可透過加密您的網際網路流量,並將 DNS 請求路由至安全伺服器,來協助防止 DNS 劫持。VPN 會讓攻擊者更難攔截您的 DNS 請求。然而,VPN 並非完整的解決方案,因為它們無法防護所有類型的 DNS 劫持,尤其是針對網域註冊商或 DNS 供應商的攻擊。

您應將 VPN 與其他安全措施搭配使用,例如強式密碼和雙因素驗證,以獲得更完善的防護。

深入了解 威脅情報

Decorative background gradient

準備好徹底革新您的安全營運了嗎?

了解 SentinelOne AI SIEM 如何將您的 SOC 轉型為自主化的強大中樞。立即聯絡我們以取得個人化示範,親眼見證安全防護的未來如何實現。
Dark dashboard UI with purple-highlighted nav, summary cards showing 149, 7, 78, 56, 1.2 h, and a status table with linked purple text