定義: DNS欺騙就是攻擊者冒充域名服務器的一種欺騙行為。
原理:如果可以冒充域名服務器,然后把查詢的IP地址設為攻擊者的IP地址,這樣的話,用戶上網就只能看到攻擊者的主頁,而不是用戶想要取得的網站的主頁了,這就是DNS欺騙的基本原理。DNS欺騙其實并不是真的“黑掉”了對方的網站,而是冒名頂替、招搖撞騙罷了。
現在的Internet上存在的DNS服務器有絕大多數都是用bind來架設的,使用的bind版本主要為bind 4.9.5 P1以前版本和bind 8.2.2-P5以前版本.這些bind有個共同的特點,就是BIND會緩存(Cache)所有已經查詢過的結果,這個問題就引起了下面的幾個問題的存在. 1>.DNS欺騙 在DNS的緩存還沒有過期之前,如果在DNS的緩存中已經存在的記錄,一旦有客戶查詢,DNS服務器將會直接返回緩存中的記錄. 下面我們來看一個例子: 一臺運行著unix的Internet主機,并且提供rlogin服務,它的IP地址為123.45.67.89,它使用的DNS服務器(即/etc/resolv.conf中指向的DNS服務器)的IP地址為98.76.54.32,某個客戶端(IP地址為38.222.74.2)試圖連接到unix主機的rlogin端口,假設unix主機的/etc/hosts.equiv文件中使用的是dns名稱來允許目標主機的訪問,那么unix主機會向IP為98.76.54.32的DNS服務器發出一個PTR記錄的查詢: 123.45.67.89 -> 98.76.54.32 [Query] NQY: 1 NAN: 0 NNS: 0 NAD: 0 QY: 2.74.222.38.in-addr.arpa PTR IP為98.76.54.32的DNS服務器中沒有這個反向查詢域的信息,經過一番查詢,這個DNS服務器找到38.222.74.2和38.222.74.10為74.222.38.in-addr.arpa.的權威DNS服務器,所以它會向38.222.74.2發出PTR查詢: 98.76.54.32 -> 38.222.74.2 [Query] NQY: 1 NAN: 0 NNS: 0 NAD: 0 QY: 2.74.222.38.in-addr.arpa PTR 請注意,38.222.74.2是我們的客戶端IP,也就是說這臺機子是完全掌握在我們手中的.我們可以更改它的DNS記錄,讓它返回我們所需要的結果: 38.222.74.2 -> 98.76.54.32 [Answer] NQY: 1 NAN: 2 NNS: 2 NAD: 2 QY: 2.74.222.38.in-addr.arpa PTR AN: 2.74.222.38.in-addr.arpa PTR trusted.host.com AN: trusted.host.com A 38.222.74.2 NS: 74.222.38.in-addr.arpa NS ns.sventech.com NS: 74.222.38.in-addr.arpa NS ns1.sventech.com AD: ns.sventech.com A 38.222.74.2 AD: ns1.sventech.com A 38.222.74.10 當98.76.54.32的DNS服務器收到這個應答后,會把結果轉發給123.45.67.98,就是那臺有rlogin服務的unix主機(也是我們的目標 :) ),并且98.76.54.32這臺DNS服務器會把這次的查詢結果緩存起來. 這時unix主機就認為IP地址為38.222.74.2的主機名為trusted.host.com,然后unix主機查詢本地的/etc/hosts.equiv文件,看這臺主機是否被允許使用rlogin服務,很顯然,我們的欺騙達到了. 在unix的環境中,有另外一種技術來防止這種欺騙的發生,就是查詢PTR記錄后,也查詢PTR返回的主機名的A記錄,然后比較兩個IP地址是否相同: 123.45.67.89 -> 98.76.54.32 [Query] NQY: 1 NAN: 0 NNS: 0 NAD: 0 QY: trusted.host.com A 很不幸,在98.76.54.32的DNS服務器不會去查詢這個記錄,而會直接返回在查詢2.74.222.38.in-addr.arpa時得到的并且存在緩存中的信息: 98.76.54.32 -> 123.45.67.89 [Query] NQY: 1 NAN: 1 NNS: 2 NAD: 2 QY: trusted.host.com A AN: trusted.host.com A 38.222.74.2 NS: 74.222.38.in-addr.arpa NS ns.sventech.com NS: 74.222.38.in-addr.arpa NS ns1.sventech.com AD: ns.sventech.com A 38.222.74.2 AD: ns1.sventech.com A 38.222.74.10 那么現在unix主機就認為38.222.74.2就是真正的trusted.host.com了,我們的目的達到了! 這種IP欺騙的條件是:你必須有一臺Internet上的授權的DNS服務器,并且你能控制這臺服務器,至少要能修改這臺服務器的DNS記錄,我們的欺騙才能進行. 2>.拒絕服務攻擊 Denial of service 還是上面的例子,如果我們更改位于38.222.74.2的記錄,然后對位于98.76.54.32的DNS服務器發出2.74.222.38.in-addr.arpa的查詢,并使得查詢結果如下: 因為74.222.38.in-addr.arpa完全由我們控制,所以我們能很方便的修改這些信息來實現我們的目的. 38.222.74.2 -> 98.76.54.32 [Answer] NQY: 1 NAN: 2 NNS: 2 NAD: 2 QY: 2.74.222.38.in-addr.arpa PTR AN: 2.74.222.38.in-addr.arpa PTR trusted.host.com AN: www.company.com A 0.0.0.1 NS: 74.222.38.in-addr.arpa NS ns.sventech.com NS: 74.222.38.in-addr.arpa NS ns1.sventech.com AD: ns.sventech.com A 38.222.74.2 AD: ns1.sventech.com A 38.222.74.10 這樣一來,使用98.76.54.32這臺DNS服務器的用戶就不能訪問www.company.com了,因為這個IP根本就不存在! 3>.偷取服務 Theft of services 還是上面的例子,只是更改的查詢結果如下: 38.222.74.2 -> 98.76.54.32 [Answer] NQY: 1 NAN: 3 NNS: 2 NAD: 2 QY: 2.74.222.38.in-addr.arpa PTR AN: 2.74.222.38.in-addr.arpa PTR trusted.host.com AN: www.company.com CNAME www.competitor.com AN: company.com MX 0 mail.competitor.com NS: 74.222.38.in-addr.arpa NS ns.sventech.com NS: 74.222.38.in-addr.arpa NS ns1.sventech.com AD: ns.sventech.com A 38.222.74.2 AD: ns1.sventech.com A 38.222.74.10 這樣一來,一個本想訪問http://www.competitor.com的用戶會被帶到另外一個地方,甚至是敵對的公司的竹葉(想想把華為和北電聯起來是什么樣的感覺. :) ).并且發給company.com的郵件會被發送給mail.compertitor.com.(越來越覺得在網絡上的日子不踏實! xxbin這樣想). 4>.限制 對這些攻擊,也有一定的限制. 首先,攻擊者不能替換緩存中已經存在的記錄.比如說,如果在98.76.54.32這個DNS服務器上已經有一條www.company.com的CNAME記錄,那么攻擊者試圖替換為www.competitor.com將不會成功.然而,一些記錄可以累加,比如A記錄,如果在DNS的緩存中已經存在一條www.company.com的A記錄為1.2.3.4,而攻擊者卻欺騙DNS服務器說www.company.com的A記錄為4.3.2.1,那么www.company.com將會有兩個A記錄,客戶端查詢時會隨機返回其中一個.(呵呵,這不是loading balance么?) 其次,DNS服務器有個緩存刷新時間問題,如果www.netbuddy.org的TTL為7200,那么DNS服務器僅僅會把www.netbuddy.org的信息緩存7200秒或者說兩個小時.如果攻擊者放入一條TLL為604800的A記錄,那么這條記錄將會在緩存中保存一周時間,過了默認的兩天后,這個DNS服務器就會到處"分發"攻擊者假造的記錄. 下面是常用的幾種可以累加和不能累加的記錄: A can add NS can add MX can add PTR cannot add |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信