1.1 域名系統(Domain Name System) DNS即Domain Name System 的縮寫,域名系統以分布式數據庫的形式將域名和IP地址相互映射。DNS協議即域名解析協議,簡單的說:DNS是用來解析域名的。有了DNS我們就不用再記住煩人的IP地址,用相對好記的域名就可以對服務器進行訪問,即使服務器更換了IP地址,我們依舊可以通過域名訪問該服務器,這樣能夠使我們更方便的訪問互聯網。 為了方便理解DNS的工作原理,我簡單做了一幅圖: 假如我們要訪問 www.baidu.com ,首先要向本地DNS服務器發出DNS請求,查詢 www.baidu.com 的IP地址,如果本地DNS服務器沒有在自己的DNS緩存表中發現該網址的記錄,就會向根服務器發起查詢,根服務器收到請求后,將com域服務器的地址返回給本地DNS服務器,本地DNS服務器則繼續向com域發出查詢請求,域服務器將 baidu.com 授權域名服務器的地址返回給本地DNS服務器,本地DNS服務器繼續向 baidu.com 發起查詢,得到 www.baidu.com 的IP地址。 本地DNS服務器得到 www.baidu.com 對應的IP地址后以dns應答包的方式傳遞給用戶,并且在本地建立DNS緩存表。 Windows下查看和刷清空DNS緩存表的命令: ipconfig /displaydns ipconfig /flushdns 1.2 DNS欺騙原理 盡管DNS在互聯網中扮演著如此重要的角色,但是在設計DNS協議時,設計者沒有考慮到一些安全問題,導致了DNS的安全隱患與缺陷。 DNS欺騙就是利用了DNS協議設計時的一個非常嚴重的安全缺陷。 首先欺騙者向目標機器發送構造好的ARP應答數據包,ARP欺騙成功后,嗅探到對方發出的DNS請求數據包,分析數據包取得ID和端口號后,向目標發送自己構造好的一個DNS返回包,對方收到DNS應答包后,發現ID和端口號全部正確,即把返回數據包中的域名和對應的IP地址保存進DNS緩存表中,而后來的當真實的DNS應答包返回時則被丟棄。 假設嗅探到目標靶機發出的DNS請求包有以下內容: Source address : 192.168.1.57 我們偽造的DNS應答包如下:
目標靶機收到應答包后把域名以及對應IP保存在了DNS緩存表中,這樣www.baidu.com的地址就被指向到了192.168.1.59上。 2.1 實戰DNS欺騙 同ARP欺騙一樣,DNS欺騙也可以被稱為DNS毒化,屬于中間人攻擊,我還是用虛擬機來模擬DNS欺騙攻擊 用到的工具是Ettercap 首先來看目標靶機, 很明顯現在www.baidu.com指向到的IP地址是正確的, 接著我們用ettercap來進行DNS欺騙,首先找到etter.dns這個配置文件并且編輯 添加一條A記錄,將 www.baidu.com 指向到本機IP 保存并且退出,使用ettercap開始欺騙: 接著我們在到受到攻擊的主機上看一下: 可以看到,目標主機對域名www.baidu.com的訪問已經被指向到192.168.1.59 在瀏覽器中訪問該域名便訪問到事先搭建好的一臺WEB服務器 以上就是一次成功的DNS欺騙 DNS欺騙的危害是巨大的,我不說大家也都懂得,常見被利用來釣魚、掛馬之類的 2.2 DNS欺騙的防范 DNS欺騙是很難進行有效防御的,因為大多情況下都是被攻擊之后才會發現,對于避免DNS欺騙所造成危害,本菜鳥提出以下建議 1.因為DNS欺騙前提也需要ARP欺騙成功。所以首先做好對ARP欺騙攻擊的防范。 2.不要依賴于DNS,盡管這樣會很不方便,可以使用hosts文件來實現相同的功能,Hosts文件位置: windows xp/2003/vista/2008/7 系統的HOSTS文件位置 c:\windows\system32\drivers\etc 用記事本打開即可進行修改。 3.使用安全檢測軟件定期檢查系統是否遭受攻擊 4.使用DNSSEC。 最近小編整理了許多關于DNS欺騙的文章,希望大家多多閱讀,多多學習。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信