NXNSAttack漏洞簡析

PsgQ發表於2021-06-27

漏洞簡介:

該漏洞為DNS 放大攻擊,是 DDoS 攻擊,攻擊者利用 DNS 伺服器中的漏洞將小查詢轉換為可能破壞目標伺服器的更大負載。

在 NXNSAttack 的情況下,遠端攻擊者可以通過向易受攻擊的解析器傳送 DNS 查詢來放大網路流量,而要查詢的權威域名伺服器由攻擊者所控制。攻擊者的伺服器響應虛假域名伺服器名稱(NS記錄)指向受害者 DNS 域,導致解析器生成對受害者 DNS 伺服器的查詢。攻擊可導致放大係數超過 1620。


DNS解析過程:

image-20210627195717815

假設從瀏覽器訪問www.mircrosoft.com,需要去得到它的ip地址。首先是檢視自己的瀏覽器快取,再檢視存根解析器(OS內)的快取,如果有轉發器,還會去檢視轉發器的快取,再去檢視遞迴解析器的快取。①遞迴解析器向根域名伺服器發出查詢。②根域名伺服器作出NS 響應,告訴.com域 的頂級域名伺服器。③遞迴解析器接著向.com頂級域名伺服器發出查詢。④DNS頂級域名伺服器 進行NS記錄的響應,告訴microsoft.com 的權威域名伺服器的地址。⑤DNS解析器向 權威域名伺服器發出查詢,權威域名伺服器,作出A記錄的響應。


具體解析過程,可看部落格之前DNS的相關內容。


攻擊原理:

image-20210627195742167


image-20210627200212237

1.攻擊者作為客戶端,向解析器發出查詢rand123.sub.attacker.com 的ip地址

2.解析器向攻擊者控制的權威域名伺服器發出查詢。

3.攻擊者控制權威域名伺服器,應答好多個rand x.vitcim.com 假冒的ns記錄,指向受害者的域名。

4.解析器根據返回的ns記錄向受害者權威域名伺服器做出查詢。大大佔用受害者的資源,形成放大攻擊,可造成DDOS攻擊。


復現程式碼:


poc:https://github.com/sischkg/nxnsattack


防禦措施:


在流量裝置側對DNS響應包中對滿足如下條件的包進行攔截

  • 含有大量的NS轉發查詢請求
  • 複數指向同一伺服器的二級/多級子域名請求

不響應非信任伺服器的 DNS 查詢結果

  • 同傳統的防護策略採用流量黑白名單進行

本文參考NXNSAttack: Recursive DNS Inefficiencies and Vulnerabilities這篇論文,具體可去檢視這篇論文。


參考連結:

論文地址


相關文章