中間人攻擊 DNS欺騙的原理 實戰及防禦

2021-07-05 18:47:52 字數 2384 閱讀 7187

0×01.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

0×01.2 dns欺騙原理

儘管dns在網際網路中扮演著如此重要的角色,但是在設計dns協議時,設計者沒有考慮到一些安全問題,導致了dns的安全隱患與缺陷。

dns欺騙就是利用了dns協議設計時的乙個非常嚴重的安全缺陷。

首先欺騙者向目標機器傳送構造好的arp應答資料報(關於arp欺騙請看文章《中間人攻擊——arp欺騙的原理、實戰及防禦 》),arp欺騙成功後,嗅探到對方發出的dns請求資料報,分析資料報取得id和埠號後,向目標傳送自己構造好的乙個dns返回包,對方收到dns應答包後,發現id和埠號全部正確,即把返回資料報中的網域名稱和對應的ip位址儲存進dns快取表中,而後來的當真實的dns應答包返回時則被丟棄。

假設嗅探到目標靶機發出的dns請求包有以下內容

我們偽造的dns應答包如下:

目標靶機收到應答包後把網域名稱以及對應ip儲存在了dns快取表中,

這樣 www.baidu.com 的位址就被指向到了192.168.1.59上。

0×02.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欺騙的危害是巨大的,我不說大家也都懂得,常見被利用來釣魚、掛馬之類的

0×02.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,dnssec詳細介紹:

中間人攻擊 DNS欺騙

1.1 網域名稱系統 domain name system dns即domain name system 的縮寫,網域名稱系統以分布式資料庫的形式將網域名稱和ip位址相互對映。dns協議即網域名稱解析協議,簡單的說 dns是用來解析網域名稱的。有了dns我們就不用再記住煩人的ip位址,用相對好記的網...

中間人攻擊 ARP欺騙的原理 實戰及防禦

文章 於 1.1 什麼是閘道器 首先來簡單解釋一下什麼是閘道器,閘道器工作在osi七層模型中的傳輸層或者應用層,用於高層協議的不同網路之間的連線,簡單地說,閘道器就好比是乙個房間通向另乙個房間的一扇門。1.2 arp協議是什麼 arp address resolution protocol 位址轉換...

ARP欺騙斷網攻擊與中間人欺騙攻擊詳解

位址解析協議,即arp address resolution protocol 是根據ip位址獲取實體地址的乙個tcp ip協議。只能攻擊同一區域網下的主機 kali linux下的arpsproof和driftnet以及wireshark arp欺騙有兩種攻擊利用方式 1.arp欺騙斷網攻擊 攻擊...