什麼是 DNS 隧道? 檢測說明

什麼是 DNS 隧道? 檢測說明

DNS 隧道將網域名稱系統變成了駭客的武器。 DNS 本質上是網路上龐大的電話簿。 DNS 也是允許管理員查詢 DNS 伺服器資料庫的底層協定。 到目前為止,一切似乎都清楚了。 但狡猾的駭客意識到,他們可以透過將控制命令和資料注入 DNS 協定來秘密地與受害電腦進行通訊。 這個想法是 DNS 隧道的基礎。

DNS 隧道的工作原理

什麼是 DNS 隧道? 檢測說明

互聯網上的一切都有自己單獨的協定。 而且DNS支援比較簡單 協議 請求-回應類型。 如果你想看看它是如何運作的,你可以執行 nslookup,它是進行 DNS 查詢的主要工具。 您只需指定您感興趣的網域名稱即可要求地址,例如:

什麼是 DNS 隧道? 檢測說明

在我們的例子中,協定使用域 IP 位址進行回應。 從DNS協定來講,我做了一個地址請求或所謂的請求。 「一種。 還有其他類型的請求,DNS 協定將使用一組不同的資料欄位進行回應,正如我們稍後將看到的,這些欄位可以被駭客利用。

無論如何,DNS 協定的核心是將請求傳輸到伺服器並將其回應傳回客戶端。 如果攻擊者在網域請求中加入隱藏訊息怎麼辦? 例如,他不會輸入完全合法的URL,而是輸入他想要傳輸的資料:

什麼是 DNS 隧道? 檢測說明

假設攻擊者控制了 DNS 伺服器。 然後它可以傳輸資料(例如個人資料)而不必被檢測到。 畢竟,為什麼 DNS 查詢會突然變成非法?

透過控制伺服器,駭客可以偽造回應並將資料傳回目標系統。 這使得他們能夠將隱藏在 DNS 回應各個欄位中的消息傳遞給受感染電腦上的惡意軟體,並包含在特定資料夾內進行搜尋等指令。

這次攻擊的「隧道」部分是 隱瞞 來自監控系統檢測的數據和命令。 駭客可以使用base32、base64等字元集,甚至對資料進行加密。 搜尋明文的簡單威脅偵測實用程式不會偵測到此類編碼。

這就是 DNS 隧道!

DNS 隧道攻擊的歷史

一切都有一個開始,包括為了駭客目的而劫持 DNS 協定的想法。 據我們所知,第一個 討論 這次攻擊是由 Oskar Pearson 於 1998 年 XNUMX 月在 Bugtraq 郵件清單上實施的。

2004 年,Black Hat 在 Dan Kaminsky 的演講中引入了 DNS 隧道作為駭客技術。 因此,這個想法很快就發展成為一個真正的攻擊工具。

如今,DNS 隧道在地圖上佔據可靠的位置 潛在威脅 (資安部落客經常被要求解釋)。

你聽說過嗎 海龜 ? 這是網路犯罪團體(很可能是國家資助的)持續進行的活動,目的是劫持合法的 DNS 伺服器,以便將 DNS 請求重新導向到他們自己的伺服器。 這意味著組織將收到指向駭客運行的虛假網頁的「不良」IP 位址,例如 Google 或 FedEx。 同時,攻擊者將能夠獲取使用者帳戶和密碼,並在不知情的情況下將其輸入到此類虛假網站上。 這不是 DNS 隧道,而是駭客控制 DNS 伺服器的另一個不幸後果。

DNS 隧道威脅

什麼是 DNS 隧道? 檢測說明

DNS 隧道就像是壞消息階段開始的指示器。 哪個? 我們已經討論了幾個,但讓我們來建造它們:

  • 數據輸出(滲漏) – 駭客透過 DNS 秘密傳輸關鍵資料。 這絕對不是從受害計算機傳輸信息的最有效方法 - 考慮到所有成本和編碼 - 但它有效,同時 - 秘密!
  • 命令與控制(縮寫為C2) – 駭客使用 DNS 協定透過以下方式發送簡單的控制命令: 遠端存取木馬 (遠端存取木馬,縮寫RAT)。
  • IP-Over-DNS 隧道 - 這可能聽起來很瘋狂,但有些實用程式可以在 DNS 協定請求和回應之上實現 IP 堆疊。 它使用FTP、Netcat、ssh等進行資料傳輸。 一個相對簡單的任務。 極其不祥!

偵測 DNS 隧道

什麼是 DNS 隧道? 檢測說明

偵測DNS濫用的方法主要有兩種:負載分析和流量分析。

負荷分析 辯護方尋找可透過統計方法偵測到的來回資料中的異常:奇怪的主機名稱、不經常使用的 DNS 記錄類型或非標準編碼。

流量分析 與統計平均值相比,估計每個網域的 DNS 請求數量。 使用 DNS 隧道的攻擊者會向伺服器產生大量流量。 理論上,明顯優於普通的 DNS 訊息交換。 這需要監控!

DNS 隧道實用程式

如果您想進行自己的滲透測試,並了解您的公司對此類活動的偵測和回應能力如何,可以使用多種實用程式。 他們都可以在該模式下隧道 DNS 上的 IP:

  • – 可在許多平台上使用(Linux、Mac OS、FreeBSD 和 Windows)。 允許您在目標電腦和控制電腦之間安裝 SSH shell。 這是一個很好的 指導 關於設定和使用 Iodine。
  • 奧茲曼DNS – Dan Kaminsky 的 DNS 隧道項目,用 Perl 編寫。 您可以透過 SSH 連接到它。
  • DNSCat2 - “DNS 隧道不會讓你生病。” 建立加密的 C2 通道,用於傳送/下載檔案、啟動 shell 等。

DNS 監控實用程式

以下是可用於偵測隧道攻擊的幾個實用程式的清單:

  • 域名獵手 – 為 MercenaryHuntFramework 和 Mercenary-Linux 所寫的 Python 模組。 讀取 .pcap 檔案、提取 DNS 查詢並執行地理位置對應以協助分析。
  • 重新組裝_dns – 讀取 .pcap 檔案並分析 DNS 訊息的 Python 公用程式。

有關 DNS 隧道的 Micro 常見問題解答

以問題和答案的形式提供有用的信息!

Q:什麼是隧道?
關於: 它只是透過現有協定傳輸資料的一種方法。 底層協定提供專用通道或隧道,然後用於隱藏實際傳輸的資訊。

Q:第一次 DNS 隧道攻擊是什麼時候發生的?
關於: 我們不知道! 如果您知道,請告訴我們。 據我們所知,有關該​​攻擊的第一次討論是由 Oscar Piersan 於 1998 年 XNUMX 月在 Bugtraq 郵件列表中發起的。

Q:哪些攻擊類似 DNS 隧道?
關於: DNS 遠非唯一可用於隧道的協定。 例如,命令與控制 (C2) 惡意軟體通常使用 HTTP 來屏蔽通訊通道。 與 DNS 隧道一樣,駭客隱藏了他的數據,但在這種情況下,它看起來像是來自常規 Web 瀏覽器訪問遠端網站(由攻擊者控制)的流量。 如果監控程式沒有配置為感知,這可能會被忽視 威脅 出於黑客目的濫用 HTTP 協定。

您希望我們協助您進行 DNS 隧道偵測嗎? 查看我們的模組 瓦羅尼斯·埃奇 並免費試用 演示!

來源: www.habr.com

添加評論