DNS欺騙(DNSSpoofing),就是其中的壹種慣用手法。攻擊者通過入侵DNS服務器、控制路由器等方法把受害者要訪問的目標機器域名對應的IP解析為攻擊者所控制的機器,這樣受害者原本要發送給目標機器的數據就發到了攻擊者的機器上,這時攻擊者就可以監聽甚至修改數據,從而收集到大量的信息。如果攻擊者只是想監聽雙方會話的數據,他會轉發所有的數據到真正的目標機器上,讓目標機器進行處理,再把處理結果發回到原來的受害者機器;如果攻擊者要進行徹底的破壞,他會偽裝目標機器返回數據,這樣受害者接收處理的就不再是原來期望的數據,而是攻擊者所期望的了。例如讓DNS服務器解析銀行網站的IP為自己機器IP,同時在自己機器上偽造銀行登錄頁面,那麽受害者的真實賬號和密碼就暴露給入侵者了。
如此說來,這種攻擊理應是最強大最危險的,然而實際上它卻很少派上大用場,為什麽,因為DNS欺騙的攻擊模型太理想了。在實際生活中,大部分用戶的DNS解析請求均是通過自己的ISP服務器進行的,換句話說,就是系統在連接網絡時會獲取到ISP服務器提供的DNS服務器地址,所有解析請求都是直接發往這個DNS服務器的,攻擊者根本無處入手,除非他能入侵更改ISP服務器上DNS服務的解析指向。所以這種手法在廣域網上成功的幾率不大。
當然,這種攻擊的成功率也有例外存在,例如壹個ISP服務器上存在Bind漏洞,攻擊者就能通過Bind漏洞進入服務器更改掉DNS解析指向,甚至取得最高權限;另壹種方法是入侵路由設備,修改裏面的DNS服務器地址為自己控制的機器地址,這種方法只能在用戶機器自身是通過路由器返回域名解析的情況下才能成功,多見於壹些使用小區寬帶連接Internet的用戶,因為這種用戶機器的DNS地址通常必須指向小區寬帶內部的某臺服務器地址或者交給路由進行轉向,這時候只要攻擊者入侵了路由或者那臺關系到所有人的服務器修改掉DNS記錄,整個小區用戶的網絡都完了。當然,攻擊者不能把全世界網站都偽造到他硬盤上,他只需要改幾個重要商務站點的指向即可,這樣便可導致用戶訪問某些商務站點時被轉向到攻擊者的機器去。但是,這種攻擊手法同時對攻擊者自身也是壹種傷害:如果小區內有許多用戶都訪問這些商務站點,則大量數據請求會瘋狂消耗攻擊者的機器資源,攻擊者非但不能實時處理數據,更是面臨著機器癱瘓和暴露自己的雙重危險。