預(yù)防WEB攻擊之釣魚(yú)網(wǎng)站DNS欺騙和ARP攻擊機(jī)基礎(chǔ)原理講解.
1.基礎(chǔ)知識(shí)
DNS欺騙:
DNS欺騙就是攻擊者冒充域名服務(wù)器的一種欺騙行為。 如果可以冒充域名服務(wù)器,然后把查詢(xún)的IP地址設(shè)為攻擊者的IP地址,這樣的話(huà),用戶(hù)上網(wǎng)就只能看到攻擊者的主頁(yè),而不是用戶(hù)想要取得的網(wǎng)站的主頁(yè)了,這就是DNS欺騙的基本原理。DNS欺騙其實(shí)并不是真的“黑掉”了對(duì)方的網(wǎng)站,而是冒名頂替、招搖撞騙罷了。
網(wǎng)站釣魚(yú):
釣魚(yú)者運(yùn)用黑客(Social Engineering)知識(shí)誘騙受害者,以在未授權(quán)情況下獲取對(duì)方的姓名、年齡、郵箱賬號(hào),甚至是銀行卡密碼等私人信息。釣魚(yú)往往和社會(huì)工程學(xué)相結(jié)合進(jìn)行誘導(dǎo),黑客的內(nèi)功能否靈活運(yùn)用可以體現(xiàn)一個(gè)黑客的個(gè)人修為,所以說(shuō)“防人之心不可無(wú)”這句話(huà)并非沒(méi)有道理,凡事不要害人但是總要留個(gè)心眼,否則最終受傷的就是自己。
黑客常用伎倆:
電話(huà)號(hào)碼欺騙
利用壞消息作案
垃圾郵件誘騙
濫用網(wǎng)民對(duì)社交網(wǎng)絡(luò)的信任
二維碼引誘
惡意APP劫持
…
那么,如何防御社工呢?別占小便宜,沒(méi)有充分信任情況下別去點(diǎn)擊任何鏈接或下載任何APP。本文的案例將利用虛假的某購(gòu)物網(wǎng)站,使用DNS與ARP欺騙手段使用戶(hù)輸入真是的用戶(hù)名和密碼。該方法還能截獲HTTPS加密信息。
2.實(shí)驗(yàn)基礎(chǔ)
實(shí)驗(yàn)?zāi)繕?biāo):
使用搭建系統(tǒng)模擬攻擊者,利用中間人的攻擊手段來(lái)對(duì)受害者進(jìn)行DNS欺騙,使受害者通過(guò)訪問(wèn)假的某購(gòu)物網(wǎng)站,來(lái)獲取用戶(hù)登錄的用戶(hù)名與密碼。通過(guò)三種攻擊來(lái)竊取登錄的用戶(hù)名和密碼:
中間人攻擊
DNS欺騙
釣魚(yú)網(wǎng)站
為什么不直接使用中間人攻擊獲取用戶(hù)的賬戶(hù)與密碼呢?因?yàn)槿绻畔⒓用埽虚g人攻擊就不能截獲了。但是如果訪問(wèn)假的釣魚(yú)網(wǎng)站,就能獲取信息。
注意:本文的實(shí)驗(yàn)絕對(duì)禁止在真實(shí)環(huán)境中去完成,作者將引用某某站視頻中虛擬機(jī)實(shí)驗(yàn)復(fù)現(xiàn),未經(jīng)授權(quán)的測(cè)試或攻擊行為我們一律禁止。
我們這篇文章的目的是為了學(xué)會(huì)防御,同時(shí)多一種安全手段,在授權(quán)情況下可以進(jìn)行釣魚(yú)網(wǎng)站攻擊測(cè)試。這種方法適合各大網(wǎng)站、銀行、購(gòu)物、郵箱等。
實(shí)驗(yàn)環(huán)境:
這次實(shí)驗(yàn)會(huì)開(kāi)三臺(tái)虛擬機(jī),一臺(tái)XP系統(tǒng)、一臺(tái)2003系統(tǒng)、一臺(tái)Kali攻擊機(jī)。
虛擬機(jī)軟件:VMware V12.0版本
三臺(tái)虛擬機(jī):Windows XP(模擬客戶(hù)機(jī))、Windows Server 2003(模擬WEB及FTP服務(wù)器)、Kali(模擬攻擊機(jī))
假的某購(gòu)物網(wǎng)站素材
工具:Ettercap軟件
基本流程:
構(gòu)建的拓?fù)鋱D如下所示,首先開(kāi)3臺(tái)虛擬機(jī),然后有1臺(tái)交換機(jī),這3臺(tái)虛擬機(jī)都連接在這臺(tái)交換機(jī)上,共同構(gòu)成一個(gè)虛擬的局域網(wǎng),來(lái)進(jìn)行這個(gè)實(shí)驗(yàn)。實(shí)驗(yàn)基本流程如下:
**步是構(gòu)建整個(gè)局域網(wǎng),并且配置好IP地址且能相互通訊(ping通)。
第二步是將Windows 2003系統(tǒng)作為服務(wù)器(現(xiàn)實(shí)中也可以將該系統(tǒng)設(shè)置為服務(wù)器),接著將Windows XP系統(tǒng)設(shè)置為客戶(hù)機(jī),它需要去登錄某購(gòu)物網(wǎng)站。
第三步是搭建Kali攻擊機(jī),之前是客戶(hù)機(jī)和服務(wù)器直接通訊,現(xiàn)在是客戶(hù)機(jī)發(fā)送的信息流經(jīng)Kali機(jī),再傳至服務(wù)器。由于經(jīng)過(guò)中間人,Kali機(jī)就可以監(jiān)聽(tīng)客戶(hù)機(jī)和服務(wù)器的通訊內(nèi)容,甚至篡改數(shù)據(jù)。
3.實(shí)驗(yàn)原理
域名解析:
假設(shè)左側(cè)電腦是某公司的電腦,比如企業(yè)員工電腦(受害者);右側(cè)這個(gè)是互聯(lián)網(wǎng),比如某購(gòu)物官方網(wǎng)站(Web服務(wù)器),假設(shè)IP地址為2.2.2.2,并按照上節(jié)課講述的內(nèi)容搭建一個(gè)網(wǎng)站,通過(guò)IIS或Apache搭建。
域名解析(Domain Name Resolution)
域名解析是把域名指向網(wǎng)站空間IP,讓人們通過(guò)注冊(cè)的域名可以方便地訪問(wèn)到網(wǎng)站的一種服務(wù)。IP地址是網(wǎng)絡(luò)上標(biāo)識(shí)站點(diǎn)的數(shù)字地址,為了方便記憶,采用域名來(lái)代替IP地址標(biāo)識(shí)站點(diǎn)地址。域名解析就是域名到IP地址的轉(zhuǎn)換過(guò)程。域名的解析工作由DNS服務(wù)器完成。
員工通過(guò) http://6.6.6.6 就能訪問(wèn),但是這個(gè)地址不好記,我們平時(shí)都是輸入“www”上網(wǎng)。所以需要做域名解析,把這個(gè)域名地址解析成IP地址再訪問(wèn),這里比如綁定域名 http://www.wopwch.cn。當(dāng)瀏覽器中訪問(wèn)“http://www.wopwch.cn”后,首先我們?cè)L問(wèn)本地緩存或本地HOST文件(**次訪問(wèn)會(huì)存儲(chǔ)至本地緩存),如果本地都沒(méi)有,則會(huì)尋找公網(wǎng)上的DNS服務(wù)器,它里面會(huì)有一個(gè)解析文件gw.com,如下圖所示。
問(wèn)一個(gè)問(wèn)題:這是正向解析還是反向解析呢?
答案是正向解析的過(guò)程,即已知域名解析IP地址。那么,DNS又是怎么知道這個(gè)記錄的呢?怎么知道“www.wopwch.cn”就是“2.2.2.2”呢?這是該購(gòu)物網(wǎng)站花錢(qián)購(gòu)買(mǎi)域名(ncmofei.com),購(gòu)買(mǎi)之后服務(wù)器上會(huì)為你創(chuàng)建解析文件,然后該購(gòu)物網(wǎng)站的相關(guān)人員會(huì)綁定IP地址并將該記錄添加至DNS服務(wù)器上。此時(shí),全世界都能訪問(wèn)這個(gè)域名并解析。
找南昌莫非傳媒可以購(gòu)買(mǎi)域名地址,比如作者的域名“www.wopwch.cn”。
正常訪問(wèn)過(guò)程:
當(dāng)企業(yè)員工電腦訪問(wèn)該購(gòu)物網(wǎng)站時(shí),會(huì)去DNS服務(wù)器進(jìn)行解析;然后找到地址2.2.2.2,并返回給企業(yè)員工電腦;最后訪問(wèn)該購(gòu)物Web服務(wù)器,假設(shè)是IIS,它會(huì)將購(gòu)物網(wǎng)站的首頁(yè)返回給你的瀏覽器。
惡意訪問(wèn)過(guò)程:
假設(shè)現(xiàn)在出現(xiàn)了一個(gè)壞蛋,地址是3.3.3.3。首先它用了ARP攻擊(中間人攻擊),能截獲數(shù)據(jù)。那么現(xiàn)在企業(yè)員工向服務(wù)器(4.4.4.4)發(fā)送請(qǐng)求,要經(jīng)過(guò)壞蛋,壞蛋一看是向4.4.4.4發(fā)送請(qǐng)求,是一個(gè)DNS服務(wù)器,而且要解析ncmofei.com域名,它不進(jìn)行修改和中斷。接著,DNS回應(yīng)會(huì)發(fā)送2.2.2.2地址,這個(gè)過(guò)程中壞蛋只是開(kāi)啟了中間人攻擊,監(jiān)聽(tīng)數(shù)據(jù)并沒(méi)有進(jìn)行任何操作。
接著壞蛋想:我能不能把自己也偽裝成DNS服務(wù)器,并且提供錯(cuò)誤的DNS解析記錄呢?
他把該購(gòu)物網(wǎng)站域名(www.wopwch.cn)解析成3.3.3.3地址。注意,當(dāng)企業(yè)員工發(fā)送的信息再經(jīng)過(guò)壞蛋時(shí),明明是給4.4.4.4發(fā)送請(qǐng)求,但壞蛋會(huì)把自己偽裝成DNS服務(wù)器,說(shuō)“我才是那臺(tái)DNS服務(wù)器”,并且它能控制這個(gè)信息終止與真實(shí)的DNS服務(wù)器通訊,說(shuō)“我才是4.4.4.4,我通過(guò)解析找到記錄了,它是3.3.3.3”。此時(shí),員工被騙了,這種方式稱(chēng)為——DNS投毒。
為什么叫DNS投毒呢?
員工訪問(wèn)成功之后,會(huì)把這個(gè)域名(ncmofei.com)和IP地址存到緩存中,所以它的緩存會(huì)記錄一條信息,ncmofei.com對(duì)應(yīng)3.3.3.3。DNS緩存投毒也是非常令人頭疼的一個(gè)攻擊。因?yàn)樗沧鲵?yàn)證,后面將會(huì)分享具體實(shí)驗(yàn),但它的驗(yàn)證非常差,所以導(dǎo)致除了上節(jié)課講述得ARP投毒外,DNS投毒、DNS欺騙、DNS污染也是非常頭疼的問(wèn)題。
此時(shí),成功誘騙了企業(yè)員工電腦。IE瀏覽器訪問(wèn)“www.wopwch.cn”是向壞蛋發(fā)送請(qǐng)求,和真實(shí)的購(gòu)物網(wǎng)站W(wǎng)eb服務(wù)器、DNS服務(wù)器就沒(méi)有關(guān)系了。換句話(huà)說(shuō),后續(xù)的請(qǐng)求就是企業(yè)員工和壞蛋他們兩個(gè)。
釣魚(yú)網(wǎng)站搭建:
接著我們開(kāi)Apache,然后發(fā)布一個(gè)假的ncmofei網(wǎng)站。注意,這篇文章對(duì)某購(gòu)物網(wǎng)站沒(méi)有任何惡意,我們主要是做一個(gè)科普,提高博友們網(wǎng)絡(luò)安全的意識(shí)和防御措施。
釣魚(yú)網(wǎng)站和真實(shí)網(wǎng)站盡量相近,而我們實(shí)驗(yàn)僅做簡(jiǎn)單的測(cè)試,有登錄頁(yè)面即可。接著,當(dāng)受害者輸入真實(shí)用戶(hù)名和密碼,點(diǎn)擊提交之后,我們會(huì)連接后臺(tái)數(shù)據(jù)庫(kù)收集相關(guān)信息即可。表單form中action會(huì)指向php,獲取用戶(hù)名和密碼,并寫(xiě)入數(shù)據(jù)庫(kù)或TXT文件。我們稱(chēng)這個(gè)網(wǎng)站為——釣魚(yú)網(wǎng)站。
注意:銀行門(mén)戶(hù)網(wǎng)站尤其需要注意該防范。同時(shí),一般提交后數(shù)據(jù)保存,然后網(wǎng)頁(yè)跳轉(zhuǎn)到真正的購(gòu)物網(wǎng)站,用戶(hù)會(huì)以為密碼輸入錯(cuò)誤,重新輸入。信息也被收集,而且不易覺(jué)察。
二.DNS投毒實(shí)驗(yàn)環(huán)境搭建
接著開(kāi)始做這個(gè)實(shí)驗(yàn),左邊是受害人,中間是壞蛋,右邊是模擬某購(gòu)物官方網(wǎng)站和DNS服務(wù)器。在現(xiàn)實(shí)中,真實(shí)網(wǎng)站和釣魚(yú)網(wǎng)站通常會(huì)很像。
首先,我們開(kāi)三臺(tái)虛擬機(jī)。先還原快照,然后直接開(kāi)啟虛擬機(jī)。
實(shí)驗(yàn)流程:
開(kāi)啟虛擬機(jī)并配置IP
在Win2003中搭建xx購(gòu)物網(wǎng)站W(wǎng)eb服務(wù)器及DNS服務(wù)器
客戶(hù)機(jī)嘗試訪問(wèn)真正的購(gòu)物網(wǎng)站
開(kāi)啟ARP欺騙和DNS欺騙
網(wǎng)站釣魚(yú)
**步,通過(guò)VMware設(shè)置虛擬網(wǎng)絡(luò)。
開(kāi)啟三臺(tái)虛擬機(jī)(XP、2003、Kali),VMware軟件在安裝時(shí)會(huì)在電腦上內(nèi)嵌一個(gè)虛擬交換機(jī),理解為虛擬網(wǎng)絡(luò)。選擇虛擬機(jī),點(diǎn)擊右鍵,然后點(diǎn)擊“設(shè)置”。這里作者使用“還原快照”,讀者可以嘗試自己配置環(huán)境。
第二步,配置虛擬機(jī)IP地址并能夠ping通。
將三臺(tái)虛擬機(jī)(XP、win2003、Kali)橋接到同一個(gè)虛擬網(wǎng)絡(luò)中去。右鍵設(shè)置,點(diǎn)擊“網(wǎng)絡(luò)適配器”,選擇“VMnet2”,三臺(tái)虛擬機(jī)都橋接到該虛擬網(wǎng)絡(luò)“VMnet2”中,這樣三臺(tái)虛擬機(jī)就成功連成了同一個(gè)局域網(wǎng)。
配置XP系統(tǒng)(員工電腦)的IP地址需要選中“網(wǎng)上鄰居”,再右鍵“屬性”,點(diǎn)擊“本地連接”右鍵“屬性”。設(shè)置IP地址如下“10.1.1.1”,子網(wǎng)掩碼設(shè)置為“255.255.255.0”。接著登錄Windows 2003服務(wù)器。登錄Kali系統(tǒng)。
在Kali系統(tǒng)中輸入命令配置IP地址,eth表示網(wǎng)卡名稱(chēng)。
然后嘗試查看是否IP地址建立成功。Linux默認(rèn)一直ping。
ping 10.1.1.1是連接成功的
接著嘗試連接其它的電腦。
ping 10.1.1.3
到此,我們成功建立了如下圖所示的虛擬局域網(wǎng)。
第三步,在Win2003中搭建某購(gòu)物網(wǎng)站W(wǎng)eb服務(wù)器及DNS服務(wù)器。
點(diǎn)擊“管理工具”->“DNS”?,F(xiàn)實(shí)中,很多企業(yè)也都是使用該DNS工具軟件來(lái)部署DNS服務(wù)器。一般中大型公司都有自己的DNS服務(wù)器。
點(diǎn)擊之后,如下圖所示,點(diǎn)開(kāi)DNS,發(fā)現(xiàn)里面有正向查找區(qū)域和反向查找區(qū)域。
DNS(Domain Name Service) 域名解析服務(wù),就是將域名和 ip 之間做相應(yīng)的轉(zhuǎn)換。
正向解析:根據(jù)域名查找對(duì)應(yīng)的ip地址
反向解析:根據(jù)ip地址查找對(duì)應(yīng)的域名
選擇“正向查找區(qū)域”,右鍵點(diǎn)擊“新建區(qū)域”。該區(qū)域是建立DNS解析文件。
點(diǎn)擊下一步,區(qū)域名稱(chēng)填寫(xiě)“ncmofei.com”。點(diǎn)擊下一步,直至完成。最終創(chuàng)建成功。此時(shí)存在了“ncmofei.com”區(qū)域,它表示以后全球范圍內(nèi),凡是解析這個(gè)域名后綴的權(quán)威服務(wù)器就是這臺(tái)“shimisi”服務(wù)器。
什么是權(quán)威服務(wù)器呢?
假設(shè)xx的DNS權(quán)威服務(wù)器在北京,現(xiàn)在湖南的DNS怎么辦呢?湖南的公網(wǎng)DNS只有部分域名,湖南的員工想訪問(wèn)xx,他只能請(qǐng)求當(dāng)?shù)氐姆?wù)器,如果沒(méi)有xx記錄,它又會(huì)去請(qǐng)求xx的權(quán)威服務(wù)器,權(quán)威服務(wù)器會(huì)把記錄傳遞給湖南的服務(wù)器并緩存,再發(fā)送給員工。當(dāng)?shù)氐钠渌麊T工訪問(wèn)時(shí),它會(huì)返回本地緩存記錄,這稱(chēng)之為非權(quán)威應(yīng)答。
接著我們調(diào)用nslookkup命令,查看結(jié)果如下圖所示。它是非權(quán)威應(yīng)答,表示真正域名是“www.wopwch.cn”,還有個(gè)別名是“www.wopwch.cn”,真正地址為“117.169.11.1”。
如果我們想要攻擊該網(wǎng)站,需要獲取xx地址“117.169.11.1”,該地址是“192.168.43.1”解析的。非權(quán)威應(yīng)答表示地址“117.169.11.1”并沒(méi)有記錄在“192.168.43.1”服務(wù)器上。如果使用nslookup命令發(fā)現(xiàn)解析的應(yīng)答沒(méi)有顯示“非權(quán)威應(yīng)答”這句話(huà),表示是權(quán)威應(yīng)答,但很難看到。
本地nslookup,此時(shí),該實(shí)驗(yàn)域名區(qū)域配置文件是在這臺(tái)服務(wù)器上寫(xiě)好了,所以它就是權(quán)威服務(wù)器。接著點(diǎn)擊“查看”->“高級(jí)”??梢钥吹健熬彺娴牟檎摇毙畔⑺尽H绻皇莤x服務(wù)器,就沒(méi)有區(qū)域配置文件“xx.com”,員工就會(huì)尋找真正的xx服務(wù)器并存儲(chǔ)至緩存。所以說(shuō),DNS服務(wù)器只要有這個(gè)區(qū)域配置文件就代表權(quán)威。接著搭建一個(gè)網(wǎng)站,右鍵“新建主機(jī)(A)”,其中A記錄代表正向解析記錄。輸入“www”,它會(huì)自動(dòng)補(bǔ)全,并且指向10.1.1.3Web服務(wù)器。此時(shí)顯示信息,創(chuàng)建了正向解析記錄。
第四步,點(diǎn)擊“管理工具”->“IIS”,新建Web服務(wù)器。右鍵停用默認(rèn)網(wǎng)站,再選中“網(wǎng)站”點(diǎn)擊“新建”->“網(wǎng)站”。描述隨便填寫(xiě),比如“xx”,再點(diǎn)擊“下一步”。網(wǎng)站IP地址選擇“10.1.1.3”。網(wǎng)站路徑選擇本地xx網(wǎng)站。選擇該文件夾并勾選“讀取”,因?yàn)樗庆o態(tài)網(wǎng)頁(yè),所以這里僅選擇“讀取”權(quán)限。
那么,這個(gè)網(wǎng)站如何保存下來(lái)的呢?
通常黑客不會(huì)撰寫(xiě)大量的HTML代碼,會(huì)通過(guò)真實(shí)網(wǎng)站保存后修改,模擬成釣魚(yú)網(wǎng)站。比如在IE瀏覽器中點(diǎn)擊“文件”->“另存為”即可,它會(huì)將CSS、圖片、資源等保存至本地。
在添加xx網(wǎng)站之后,右鍵“屬性”設(shè)置主頁(yè)。
在“文檔”中添加“index.html”主頁(yè)。
問(wèn)題1: 此時(shí)通過(guò)XP系統(tǒng)訪問(wèn)我們搭建的服務(wù)器,在瀏覽器中輸入“www.xx.com”,為什么訪問(wèn)失敗呢?在CMD中輸入nslookup解析查看,顯示無(wú)法響應(yīng)。原因是沒(méi)有指定DNS?,F(xiàn)在Windows 2003是DNS服務(wù)器,而你輸入域名之后為什么解析不成功,你根本不知道誰(shuí)是DNS服務(wù)器。打開(kāi)網(wǎng)絡(luò)連接,選中“本地連接”,右鍵“屬性”。需要將Windows 2003的DNS服務(wù)器地址寫(xiě)到XP系統(tǒng)中,再進(jìn)行訪問(wèn),這里填寫(xiě)“10.1.1.3”。設(shè)置成功之后能成功訪問(wèn)。
問(wèn)題2: 此時(shí)填寫(xiě)用戶(hù)名和密碼能登錄成功嗎?答案是不能。因?yàn)槲覀冎淮罱艘粋€(gè)主頁(yè)面,該表單不能處理。后續(xù)會(huì)制作一個(gè)點(diǎn)擊提交后登錄失敗,再跳轉(zhuǎn)到真實(shí)的xx網(wǎng)站的案例。
問(wèn)題3: 怎么判斷訪問(wèn)的這個(gè)網(wǎng)站是真實(shí)的xx網(wǎng)站還是釣魚(yú)搭建的網(wǎng)站呢?
三.開(kāi)啟ARP欺騙和DNS欺騙
接下來(lái)需要在Kali系統(tǒng)做一些操作。
配置IP地址
ARP攻擊
偽裝DNS服務(wù)器
發(fā)布釣魚(yú)網(wǎng)站
這里先做好偽裝DNS服務(wù)器,開(kāi)啟釣魚(yú)網(wǎng)站,最后再設(shè)置ARP攻擊。當(dāng)企業(yè)員工訪問(wèn)時(shí),就會(huì)訪問(wèn)假的網(wǎng)站。
查看之前搭建的局域網(wǎng)是否能夠ping通。
ping 10.1.1.1
ping 10.1.1.3
**步,配置偽裝DNS。
打開(kāi)一個(gè)文件,通過(guò)vim命令實(shí)現(xiàn)?!癳tc”目錄一般放置配置文件,設(shè)置ettercap軟件的配置文件。
找到下面黑色字體的位置,它表示“解析記錄域名+A記錄+IP地址”,接著進(jìn)行修改(連續(xù)按兩個(gè)字母D+D能刪除一行)。
按下“I”鍵,進(jìn)入輸入模式,添加內(nèi)容如下所示。其中A表示正向解析,PTR表示反向解析,補(bǔ)充一個(gè)反向解析能增加實(shí)驗(yàn)的成功性,防止瀏覽器的反向驗(yàn)證。
現(xiàn)實(shí)中也可以嘗試修改成“*”,表示任何域名都會(huì)解析為“10.1.1.2”。
接著輸入“:wq”保存退出。此時(shí)的解析記錄創(chuàng)建成功了,接著后續(xù)會(huì)在Ettercap軟件中開(kāi)啟攻擊閥門(mén)。
第二步,打開(kāi)Apache并配置服務(wù)。
開(kāi)啟服務(wù)
systemctl start apache
查看服務(wù)端口是否開(kāi)啟成功
netstat -antpl
此時(shí)屬于監(jiān)聽(tīng)狀態(tài),端口為80,監(jiān)聽(tīng)號(hào)為1985。
服務(wù)開(kāi)啟了,那么我們Apache的網(wǎng)站在哪里呢?
Apache默認(rèn)站點(diǎn)路徑在根目錄下“/var/www/html”中,其中“var”目錄主要存放可變文件,比如日志、緩存、站點(diǎn),它們經(jīng)常會(huì)被更新。
此時(shí)里面雖然有網(wǎng)頁(yè),但與本文的實(shí)驗(yàn)無(wú)關(guān)。因此我們需要清除當(dāng)前目錄內(nèi)容,輸入命令“rm - rf *”。
注意:該命令千萬(wàn)別錯(cuò)誤寫(xiě)成“rm - rf /* ”,它表示刪除根目錄下所有東西。而“rm - rf *” 表示刪除當(dāng)前目錄,-r表示刪除所有子文件或子文件夾,f表示強(qiáng)制。
第三步,制作假的xx網(wǎng)站并放置Kali系統(tǒng)中。
接下來(lái)我們要放置假的xx網(wǎng)站。新建一個(gè)“1.txt”記事本,一個(gè)“error.php”網(wǎng)站?,F(xiàn)在我們希望用戶(hù)點(diǎn)擊提交,把提交表單的內(nèi)容發(fā)送給“error.php”文件,然后把賬號(hào)和密碼提取出來(lái)放在“1.txt”文件中。同樣,我們可以設(shè)置數(shù)據(jù)庫(kù)進(jìn)行實(shí)時(shí)抓取及存儲(chǔ)。
“error.php”代碼如下,調(diào)用stripslashes()函數(shù)獲取POST表單元素,賦值為name和pass變量,最后文件操作存儲(chǔ)至“1.txt”文件中。HTML代碼表示存儲(chǔ)內(nèi)容之后,然后返回原網(wǎng)頁(yè)。
<?php
$name = stripslashes($_POST['name']);
$pass = stripslashes($_POST['pass']);
$content = "您已捕獲xx賬號(hào)及密碼1個(gè):" . "用戶(hù)名" . $name . "密碼" . $pass;
$filed = @fopen("1.txt", "a+");
@fwrite($filed, "$content\n");
?>
<html>
<head>
<script type="text/javascript">
function goBack() {
window.history.back(); //后退+刷新
}
</script>
</head>
<body onload="goBack()">
<!-- 加載之后立即執(zhí)行一段JavaScript代碼 -->
</body>
</html>
審查元素,定位“name”和“pass”元素。同時(shí)修改“index.html”代碼,表單提交給該php文件。接著將制作好的假網(wǎng)站放置到Kali系統(tǒng)的桌面??截愇募拔募A至“/var/www/html”默認(rèn)站點(diǎn)目錄中。接著需要開(kāi)啟Linux寫(xiě)入權(quán)限。通過(guò)“l(fā)s -l”命令查看權(quán)限,以“1.txt”權(quán)限為例,**塊“-rwx”代表文件主人root的權(quán)限,即管理員權(quán)限;第二塊“r–”代表這個(gè)文件所在組的其他人的權(quán)限;第三塊“r–”代表其他人的權(quán)限,Apache屬于其他人權(quán)限?!皉”代表讀取權(quán)限、“w”達(dá)標(biāo)寫(xiě)入權(quán)限、“x”代表執(zhí)行權(quán)限。調(diào)用命令“chmod 777 1.txt”修改權(quán)限,“chmod”表示change mod修改文件屬性;“1.txt”表示所修改的文件;“777”表示權(quán)限列表,每個(gè)“7”表示一組,總共三組,“r–”二進(jìn)制表示“100”,其值為4,而“111”二進(jìn)制值為7(4+2+1),即所有權(quán)限都開(kāi)啟。再比如,我們嘗試使用“chmod 766 1.txt”命令,可以看到修改權(quán)限為“-rwxrw-rw-”。到此,我們的網(wǎng)站就搭建好了,接下來(lái)開(kāi)始攻擊。
第四步,設(shè)置ARP欺騙攻擊及Sniff嗅探功能。
Kali中包含了豐富的滲透和安全測(cè)試軟件供大家使用。
我們接下來(lái)要使用的軟件叫“Ettercap”。該軟件打開(kāi),它不僅僅能ARP投毒,還能進(jìn)行各種DNS投毒等。點(diǎn)擊“Sniff”**個(gè)選項(xiàng)“Unified sniffing”。選擇網(wǎng)卡接口“eth0”。選中網(wǎng)卡之后,開(kāi)始點(diǎn)擊“Host list”,列出所有主機(jī)。再點(diǎn)擊第三個(gè)按鈕“Scan for hosts”掃描。輸出結(jié)果包括“10.1.1.1”和“10.1.1.3”。本實(shí)驗(yàn)只有三臺(tái)主機(jī),而現(xiàn)實(shí)中員工會(huì)通過(guò)交換機(jī)、路由器去連接互聯(lián)網(wǎng),真正的xx在互聯(lián)網(wǎng)上,而攻擊者如果要截獲你和xx的數(shù)據(jù),需要截獲員工主機(jī)和網(wǎng)關(guān)的通信數(shù)據(jù)。接下來(lái)我要在它們兩個(gè)之間做中間人,怎么做呢?
選擇**個(gè),添加目標(biāo)1“Add to Target 1”;再選擇第二個(gè),添加目標(biāo)2“Add to Target 2”。
再點(diǎn)擊“Mitm”->“ARP poisoning”,并且勾選“Sniff remote connections”,此時(shí)就建立了ARP投毒,把10.1.1.1和10.1.1.3欺騙,并且開(kāi)始數(shù)據(jù)攔截。
此時(shí),中間人攻擊或ARP欺騙攻擊已經(jīng)搭建完成,我們能截獲員工(XP系統(tǒng))和服務(wù)器(2003系統(tǒng))的通信數(shù)據(jù)。但本篇文章是介紹如何實(shí)現(xiàn)DNS欺騙攻擊和釣魚(yú),所以我們需要在Kali系統(tǒng)布局誘騙操作,收到員工請(qǐng)求之后不再轉(zhuǎn)發(fā)至2003服務(wù)器,而是主動(dòng)給你一個(gè)假的解析,這就稱(chēng)為——DNS投毒。
第五步,設(shè)置DNS投毒。
選擇“Plugins”->“Manage the plugins”。
可以看到這個(gè)軟件非常強(qiáng)大,雙擊“dns_spoof”激活DNS投毒。
此時(shí),我們?cè)赬P系統(tǒng)瀏覽器中訪問(wèn)“www.xx.com”網(wǎng)站,輸入用戶(hù)名和密碼點(diǎn)擊登錄,但仍然失敗,這是為什么呢?因?yàn)閯倓偽覀兊腤indows XP系統(tǒng)訪問(wèn)過(guò)Windows 2003服務(wù)器,該記錄被存儲(chǔ)在緩存中,再訪問(wèn)xx時(shí)就不再詢(xún)問(wèn)服務(wù)器,所以Kali就無(wú)法欺騙。現(xiàn)實(shí)中該實(shí)驗(yàn)是在沒(méi)有訪問(wèn)情況下進(jìn)行,等待緩存消失即可。
打開(kāi)CMD,輸入“ipconfig /flushdns”清除DNS緩存。
再次訪問(wèn)xx網(wǎng)站,然后點(diǎn)擊登錄,此時(shí)實(shí)驗(yàn)成果。如果hacker將其跳轉(zhuǎn)回真實(shí)的xx網(wǎng)站,其隱藏性會(huì)更好。