卡明斯基錯誤 - bailiwicks

卡明斯基錯誤 - bailiwicks

我一直在閱讀有關 kaminsky DNS 錯誤的信息,試圖更好地理解它是如何工作的。我想我已經掌握了要點,但 Dan 提到了 bailiwicks,用於針對防火牆後面的 DNS 伺服器。

有人可以解釋一下什麼是 bailiwick,並舉例說明如何使用它來瞄準防火牆後面的伺服器以利用 kaminsky 漏洞嗎?

答案1

範圍

Linux 雜誌文章埃赫蒂亞爾發布的內容很好地解釋了 bailiwick 是什麼以及它與 DNS 的關係。基本上,額外的記錄會新增到 DNS 回應中以協助尋找委託 DNS 伺服器。引用文章中的例子:

$ dig @ns1.example.com www.example.com
;; ANSWER SECTION:
www.example.com.    120      IN    A    192.168.1.10

;; AUTHORITY SECTION:
example.com.        86400    IN    NS   ns1.example.com.
example.com.        86400    IN    NS   ns2.example.com.

;; ADDITIONAL SECTION:
ns1.example.com.    604800   IN    A    192.168.2.20
ns2.example.com.    604800   IN    A    192.168.3.30


攻擊

有關攻擊的詳細資訊請參見 Dan 的幻燈片(請參閱投影片 24/25)。要攻擊防火牆後面的伺服器:

  • 觸發對攻擊者控制的域(例如“ 1.badguy.com”)的子域的查找。
  • 攻擊伺服器使用其試圖毒害的網域的 CNAME 記錄進行回應(例如「debian.org」)。這會導致從目標到「debian.org」的 DNS 查詢。
  • 一旦攻擊伺服器發送 CNAME 引用,它就會開始在欺騙性 DNS 回應中進行串流傳輸,其中包括附加回應(例如「security.debian.org」指向「badguy.com」的 IP 位址)。
  • 如果回應中的交易 ID 被正確猜測,防火牆後面的伺服器現在會認為「security.debian.org」解析為壞人的位址。

有很多方法可以讓防火牆後面的伺服器尋找 IP 位址、內部客戶端請求、解析伺服器日誌中的 IP 位址等。波茲邁耶提到防火牆在這次攻擊中很大程度上無關緊要。

答案2

正如 Mark Johnson 所提到的,DNS 伺服器的管轄權是其具有權威的一組網域。曾經,遞歸名稱伺服器接受來自權威名稱伺服器的管轄範圍外的資料。因此,foo.example 的權威名稱伺服器可以在他的答案中添加額外的數據,說明 www.bar.example 的 IP 位址,並且他被相信。這是該計劃的基礎卡什普雷夫攻擊。很長一段時間以來,名稱伺服器不再相信管轄範圍外的數據,正如RFC 2181,第 5.4.1 節。

卡明斯基攻擊確實不是使用管轄區外的數據,因此也可以使用最新的名稱伺服器。這 Linux 雜誌Luke Quinane 提到的文章很好地解釋了這一點(但 Luke Quinene 的帖子的其餘部分,特別是有關防火牆的內容,是值得懷疑的。)

關於防火牆,這主要是一個不相關的問題。如果名稱伺服器想要接收其查詢的答案,那麼它必須是可存取的,因此,無論它是否有防火牆,都沒有關係:卡明斯基攻擊只需要一個通道,即 DNS 通道。

由於卡明斯基攻擊是針對客戶端電腦將使用的名稱伺服器,因此這些電腦是否受到防火牆保護並不重要。 (這是一個很好的例子,說明為什麼防火牆不是神奇的設備,也不能保護一切。)

相關內容