在我們上網(wǎng)的過(guò)程中,用戶可以利用IE等瀏覽器進(jìn)行各種各樣的WEB站點(diǎn)的訪問(wèn),如閱讀新聞、訂閱報(bào)紙、電子商務(wù)等。攻擊者可以將用戶想要瀏覽的網(wǎng)頁(yè)的URL改寫成指向攻擊者自己的服務(wù)器,當(dāng)用戶瀏覽目標(biāo)網(wǎng)頁(yè)的時(shí)候,實(shí)際上是向攻擊者服務(wù)器發(fā)出請(qǐng)求,那么攻擊者就可以達(dá)到欺騙或攻擊的目的了。例如,可以利用Webserver的網(wǎng)頁(yè)給客戶端機(jī)器傳染病毒。這種攻擊的效果是通過(guò)DNS欺騙技術(shù)得到的。DNS協(xié)議不對(duì)轉(zhuǎn)換或信息性的更新進(jìn)行身份認(rèn)證,這就使得攻擊者可以將不正確的信息摻進(jìn)來(lái),并把用戶引向攻擊者自己的主機(jī)。
用一個(gè)簡(jiǎn)單的例子說(shuō)明
假如cn.wy.com向xinxin.com的子域DNS服務(wù)器120.2.2.2詢www.xinxin.com的IP地址時(shí),用戶冒充120.2.2.2給www.xinxin.com的IP地址,這個(gè)IP地址是一個(gè)虛擬的地址,列如202.109.2.2,這cn.wy.com就會(huì)把202.109.2.2當(dāng)www.xinxin.com的地址返還給hk.wy.com了。當(dāng)hk.wy.com連www.xinxin.com時(shí),就會(huì)轉(zhuǎn)向我們提供的那個(gè)虛假的IP地址了,這樣對(duì)www.xinxin.com來(lái)說(shuō),就算是給黑掉了。因?yàn)閯e人根本連接不上這個(gè)域名。 這就是DNS欺騙的基本原理,但正如同IP欺騙一樣。DNS欺騙在技術(shù)上實(shí)現(xiàn)上仍然有一些困難,為了理解這些需要看一下DNS查詢包的結(jié)構(gòu)。在DNS查詢包中有一個(gè)重要的域叫做做標(biāo)識(shí)ID。用來(lái)鑒別每個(gè)DNS數(shù)據(jù)包的印記,從客戶端設(shè)置。由服務(wù)器返回,它可以讓客戶匹配請(qǐng)求與響應(yīng)。
如cn.wy.com120.2.2.2 這時(shí)黑客只需要用假的120.2.2.2進(jìn)行欺騙,并且在真正的120.2.2.2返回cn.wy.com信息之前,先于它給出所查詢的IP地址。cn.wy.com←120.2.2.2 ,www.xinxin.com的IP地址是1.1.1.1 。在120.2.2.2前cn.wy.com送出一個(gè)偽造的DNS信息包,如果要發(fā)送偽造的DNS信息包而不被識(shí)破,就必須偽造正確的ID,但是,如果無(wú)法判別這個(gè)標(biāo)識(shí)符的話,欺騙將無(wú)法進(jìn)行。這在局域網(wǎng)上是很容易實(shí)現(xiàn)的,只要安裝一個(gè)sniffer,通過(guò)嗅探就可以知道這個(gè)ID。但如果是在Internet上實(shí)現(xiàn)欺騙,就只有發(fā)送大量的一定范圍的DNS信息包,通過(guò)碰運(yùn)氣的辦法來(lái)提高給出正確標(biāo)識(shí)ID的機(jī)會(huì)。
DNS欺騙的真實(shí)過(guò)程
如果已經(jīng)成功的攻擊了120.2.2.2子網(wǎng)中任意一臺(tái)主機(jī),并且通過(guò)安裝sniffer的方法對(duì)整個(gè)子網(wǎng)中傳輸?shù)陌M(jìn)行嗅探,可以設(shè)置只對(duì)進(jìn)出120.2.2.2的包進(jìn)行觀察,從而獲得我們需要的標(biāo)識(shí)ID。當(dāng)DNS服務(wù)器120.2.2.2發(fā)出查詢包時(shí),它會(huì)在包內(nèi)設(shè)置標(biāo)識(shí)ID,只有應(yīng)答包中的ID值和IP地址都正確的時(shí)候才能為服務(wù)器所接受。這個(gè)ID每次自動(dòng)增加1,所以可以第一次向要欺騙的DNS服務(wù)器發(fā)一個(gè)查詢包并監(jiān)聽(tīng)到該ID值,隨后再發(fā)一個(gè)查詢包,緊接著馬上發(fā)送構(gòu)造好的應(yīng)答包,包內(nèi)的標(biāo)識(shí)ID為預(yù)測(cè)的值。為了提高成功效率可以指定一個(gè)范圍,比如在前面監(jiān)聽(tīng)到的哪個(gè)ID+1的范圍之間。接上列,如cn.wy.com向120.2.2.2發(fā)來(lái)了要求查www.xinxin.com的IP地址的包,此時(shí),120.2.2.2上的黑客就要欺騙cn.wy.com。
cn.wy.com→120.2.2.2 [Query]
NQY:1 NAN:0 NNS:0 NAD:0 QID:6573
QY:www.xinxin.com A
其中NQY,NAN等是查詢包的標(biāo)志位。當(dāng)這兩個(gè)標(biāo)志位為“1”時(shí)表示是查詢包,這時(shí)我們就可以在120.2.2.2上監(jiān)聽(tīng)到這個(gè)包,得到他的ID為6573.然后緊接著我們也向120.2.2.2發(fā)出一次查詢,使它忙于應(yīng)答這個(gè)包。
1.1.1.1→120.2.2.2 [Query]
NQY:1 NAN:0 NNS:0 NAD:0
QY:other.xinxin.com A
緊接著發(fā)帶預(yù)測(cè)QID的應(yīng)答包
120.2.2.2→cn.wy.com [Answer]
NQY:1 NAN:0 NNS:0 NAD:0 QID:6574
QY www.xinxin.com PTR
AN www.xinxin.com PTR 111.222.333.444
111.222.333.444就是由攻擊者來(lái)指定的IP地址。注意發(fā)這個(gè)包時(shí)標(biāo)識(shí)ID為前面監(jiān)聽(tīng)到的ID值加1既6574+1=6575。這樣,DNS欺騙就完成了cn.wy.com就會(huì)把111.222.333.444當(dāng)www.xinxin.com的IP地址了。假如111.222.333.444是一臺(tái)已經(jīng)被用戶控制的計(jì)算機(jī),可以把它的主頁(yè)改成想要的內(nèi)容,這時(shí)當(dāng)被欺騙的其他用戶連接www.xinxin.com時(shí),他就以為這個(gè)網(wǎng)站已經(jīng)被黑掉了。
相關(guān)閱讀