假如我們要訪問 www.baidu.com ,首先要向本地DNS服務(wù)器發(fā)出DNS請(qǐng)求,查詢 www.baidu.com 的IP地址,如果本地DNS服務(wù)器沒有在自己的DNS緩存表中發(fā)現(xiàn)該網(wǎng)址的記錄,就會(huì)向根服務(wù)器發(fā)起查詢,根服務(wù)器收到請(qǐng)求后,將com域服務(wù)器的地址返回給本地DNS服務(wù)器,本地DNS服務(wù)器則繼續(xù)向com域發(fā)出查詢請(qǐng)求,域服務(wù)器將 baidu.com 授權(quán)域名服務(wù)器的地址返回給本地DNS服務(wù)器,本地DNS服務(wù)器繼續(xù)向 baidu.com 發(fā)起查詢,得到 www.baidu.com 的IP地址。

本地DNS服務(wù)器得到 www.baidu.com 對(duì)應(yīng)的IP地址后以dns應(yīng)答包的方式傳遞給用戶,并且在本地建立DNS緩存表。

Windows下查看和刷清空DNS緩存表的命令: ipconfig /displaydns ipconfig /flushdns

1.2 DNS欺騙原理

盡管DNS在互聯(lián)網(wǎng)中扮演著如此重要的角色,但是在設(shè)計(jì)DNS協(xié)議時(shí),設(shè)計(jì)者沒有考慮到一些安全問題,導(dǎo)致了DNS的安全隱患與缺陷。

DNS欺騙就是利用了DNS協(xié)議設(shè)計(jì)時(shí)的一個(gè)非常嚴(yán)重的安全缺陷。

首先欺騙者向目標(biāo)機(jī)器發(fā)送構(gòu)造好的ARP應(yīng)答數(shù)據(jù)包(關(guān)于ARP欺騙請(qǐng)看文章《中間人攻擊——ARP欺騙的原理、實(shí)戰(zhàn)及防御 》),ARP欺騙成功后,嗅探到對(duì)方發(fā)出的DNS請(qǐng)求數(shù)據(jù)包,分析數(shù)據(jù)包取得ID和端口號(hào)后,向目標(biāo)發(fā)送自己構(gòu)造好的一個(gè)DNS返回包,對(duì)方收到DNS應(yīng)答包后,發(fā)現(xiàn)ID和端口號(hào)全部正確,即把返回?cái)?shù)據(jù)包中的域名和對(duì)應(yīng)的IP地址保存進(jìn)DNS緩存表中,而后來的當(dāng)真實(shí)的DNS應(yīng)答包返回時(shí)則被丟棄。

假設(shè)嗅探到目標(biāo)靶機(jī)發(fā)出的DNS請(qǐng)求包有以下內(nèi)容:

Sourceaddress :192.168.1.57

Destinationaddress :ns.baidu.com

Sourceport :1234

Destinationport :53(DNS port)

Data:www.baidu.com

我們偽造的DNS應(yīng)答包如下:

Sourceaddress :ns.baidu.com

Destinationaddress :192.168.1.57

Sourceport :53(DNS port)

Destinationport :1234

Data:www.baidu.com 192.168.1.59

目標(biāo)靶機(jī)收到應(yīng)答包后把域名以及對(duì)應(yīng)IP保存在了DNS緩存表中,這樣www.baidu.com的地址就被指向到了192.168.1.59上。

2.1 實(shí)戰(zhàn)DNS欺騙

同ARP欺騙一樣,DNS欺騙也可以被稱為DNS毒化,屬于中間人攻擊,我還是用虛擬機(jī)來模擬DNS欺騙攻擊

用到的工具是Ettercap

首先來看目標(biāo)靶機(jī),

中間人攻擊——DNS欺騙的原理、實(shí)戰(zhàn)及防御

很明顯現(xiàn)在www.baidu.com指向到的IP地址是正確的,

接著我們用ettercap來進(jìn)行DNS欺騙,首先找到etter.dns這個(gè)配置文件并且編輯

添加一條A記錄,將 www.baidu.com 指向到本機(jī)IP

中間人攻擊——DNS欺騙的原理、實(shí)戰(zhàn)及防御

保存并且退出,使用ettercap開始欺騙:

中間人攻擊——DNS欺騙的原理、實(shí)戰(zhàn)及防御

接著我們?cè)诘绞艿焦舻闹鳈C(jī)上看一下:

中間人攻擊——DNS欺騙的原理、實(shí)戰(zhàn)及防御

可以看到,目標(biāo)主機(jī)對(duì)域名www.baidu.com的訪問已經(jīng)被指向到192.168.1.59

在瀏覽器中訪問該域名便訪問到事先搭建好的一臺(tái)WEB服務(wù)器

中間人攻擊——DNS欺騙的原理、實(shí)戰(zhàn)及防御

以上就是一次成功的DNS欺騙

DNS欺騙的危害是巨大的,我不說大家也都懂得,常見被利用來釣魚、掛馬之類的

2.2 DNS欺騙的防范

DNS欺騙是很難進(jìn)行有效防御的,因?yàn)榇蠖嗲闆r下都是被攻擊之后才會(huì)發(fā)現(xiàn),對(duì)于避免DNS欺騙所造成危害,本菜鳥提出以下建議

1.因?yàn)镈NS欺騙前提也需要ARP欺騙成功。所以首先做好對(duì)ARP欺騙攻擊的防范。

2.不要依賴于DNS,盡管這樣會(huì)很不方便,可以使用hosts文件來實(shí)現(xiàn)相同的功能,Hosts文件位置:

windows xp/2003/vista/2008/7 系統(tǒng)的HOSTS文件位置 c:windowssystem32driversetc 用記事本打開即可進(jìn)行修改。

3.使用安全檢測(cè)軟件定期檢查系統(tǒng)是否遭受攻擊

4.使用DNSSEC。

分享到

zhangcun

相關(guān)推薦