子域接管

當攻擊者獲得目標域的子域的控制權時,就會發生子域接管。通常,當子域在域名系統 (DNS) 中具有規範名稱 (CNAME),但沒有主機為其提供內容時,就會發生這種情況。這可能是因為虛擬主機尚未釋出或虛擬主機已被刪除。攻擊者可以透過提供他們自己的虛擬主機併為其託管自己的內容來接管該子域。

如果攻擊者能夠做到這一點,他們可能能夠讀取從主域設定的 cookie,執行 跨站點指令碼,或規避 內容安全策略,從而使他們能夠捕獲受保護的資訊(包括登入資訊)或向毫無戒心的使用者傳送惡意內容。

子域就像一個電源插座。如果您將自己的裝置(主機)插入其中,一切正常。但是,如果您從插座上拔下裝置(或尚未插入裝置),則其他人可以插入不同的裝置。您必須切斷斷路器或保險絲盒 (DNS) 的電源,以防止其他人使用該插座。

它們是如何發生的?

如果虛擬主機的供應或取消供應(刪除)過程處理不當,攻擊者可能會有機會接管子域。

在供應期間

在您開始操作之前,攻擊者會在您在託管服務提供商處購買的子域名稱上設定一個虛擬主機。

假設您控制著域名 example.com。您想在 blog.example.com 上新增一個部落格,並且您決定使用一個維護部落格平臺的託管服務提供商。(對於“部落格”,您可以替換為“電子商務平臺”、“客戶服務平臺”或任何其他“基於雲的”虛擬主機場景。)您經歷的過程可能如下所示

  1. 您在域名註冊商處註冊名稱“blog.example.com”。
  2. 您設定 DNS 記錄以將想要訪問 blog.example.com 的瀏覽器重定向到虛擬主機。
  3. 您在託管服務提供商處建立了一個虛擬主機。

除非託管服務提供商非常小心地驗證設定虛擬主機的主體實際上是子域名稱的所有者,否則比您更快的攻擊者可以使用相同的託管服務提供商,使用您的子域名稱建立虛擬主機。在這種情況下,一旦您在步驟 2 中設定了 DNS,攻擊者就可以在您的子域上託管內容。

在取消供應期間

您關閉了虛擬主機,但攻擊者使用相同的名稱和託管服務提供商設定了新的虛擬主機。

您(或您的公司)決定不再維護部落格,因此您從託管服務提供商處刪除了虛擬主機。但是,如果您不刪除指向託管服務提供商的 DNS 條目,則攻擊者現在可以建立自己的虛擬主機,聲稱您的子域,並在該子域下託管自己的內容。

我如何預防它們?

防止子域接管是虛擬主機和 DNS 生命週期管理中操作順序的問題。根據組織規模的不同,這可能需要跨多個部門進行溝通和協調,這隻會增加易受攻擊的錯誤配置的可能性。

  • 為供應和取消供應主機定義標準流程。儘可能地將所有步驟放在一起。
    • 透過宣告虛擬主機開始供應;最後建立 DNS 記錄。
    • 透過首先刪除 DNS 記錄開始取消供應。
  • 建立組織所有域及其託管服務提供商的清單,並在情況發生變化時更新它,以確保沒有任何內容懸空。
  • 向託管供應商施壓以彌合差距;詢問他們如何驗證聲稱虛擬主機的人是否確實對域名擁有合法的主張。在您的組織內部努力使這成為供應商資格流程的一部分。

我的子域已被接管。我該怎麼辦?

如果您發現您的域的子域已被接管,第一步(如果可能)是透過刪除子域的 DNS 條目來“切斷電源”。如果您的網站有多層虛擬化(例如,除了虛擬主機之外還有 CDN),您可能需要檢查每一層以檢視攻擊者在何處確切地斷言了他們的虛擬主機宣告以接管您的域名。

瞭解更多