内网DNS欺骗与防护
一.實驗?zāi)康?/strong>
DNS欺騙即域名信息欺騙是最常見的DNS安全問題。域名系統(tǒng)(Domain Name System,DNS)是一個將Domain Name和IP Address進(jìn)行互相映射的Distributed Database。DNS是網(wǎng)絡(luò)應(yīng)用的基礎(chǔ)設(shè)施,它的安全性對于互聯(lián)網(wǎng)的安全有著舉足輕重的影響。但是由于DNS Protocol在自身設(shè)計方面存在缺陷,安全保護(hù)和認(rèn)證機制不健全,造成DNS自身存在較多安全隱患,導(dǎo)致其很容易遭受攻擊。很多專家就DNS Protocol的安全缺陷提出了很多技術(shù)解決方案。例如IETF提出的域名系統(tǒng)安全協(xié)議(Domain Name System Security,DNSSEC),其目標(biāo)就在于解決這些安全隱患。這個Protocol增加了安全認(rèn)證項目,增強了Protocol自身的安全功能。但是新增加的安全機制需要占用更多的系統(tǒng)和網(wǎng)絡(luò)資源,同時要升級Database和System Manggament Software,這些基于DNSSEC協(xié)議的軟件還不成熟,距離普及應(yīng)用還有較長時間。目前,常見的措施是定期升級DNS軟件和加強相關(guān)的安全配置,禁用不安全的端口等。以下對以偵聽為基礎(chǔ)的DNS ID欺騙(DNS ID spoofing)進(jìn)行了探討,并提出了相關(guān)的防護(hù)解決方案。通過練習(xí)掌握工具的使用,理解實施過程,掌握防范措施。
上面理論性的東西可以選擇性忽略,都是這下面的原理就要詳細(xì)了解了,不然看著下面的操作步驟可能會很迷…
二.實驗原理
因為局域網(wǎng)DNS欺騙需要ARP欺騙的配合 所以我這里簡單解釋一下arp欺騙的原理:
有一個欺騙者(主機A)說自己是網(wǎng)關(guān),騙將受害者(主機B)發(fā)給真正網(wǎng)關(guān)的數(shù)據(jù)轉(zhuǎn)發(fā)給主機A,然后數(shù)據(jù)經(jīng)由主機A后再發(fā)送給真正的網(wǎng)關(guān),而后主機A又告訴網(wǎng)關(guān)它就是主機B(欺騙了網(wǎng)關(guān)),騙將本來應(yīng)該發(fā)給B的數(shù)據(jù)發(fā)給主機A(欺騙者),然后由A轉(zhuǎn)發(fā)給主機B。//就是相當(dāng)于把主機A當(dāng)成中間人,把主機B與網(wǎng)關(guān)的所有通訊全部要經(jīng)過主機A,這樣子,主機A就可以對主機B的數(shù)據(jù)信息隨意修改然后在轉(zhuǎn)發(fā)給網(wǎng)關(guān)從而達(dá)到了欺騙的效果
這里簡述一下ARP協(xié)議
當(dāng)一臺主機和另一臺主機通信,要知道目標(biāo)的IP地址,但是在局域網(wǎng)中傳輸數(shù)據(jù)的網(wǎng)卡卻不能直接識別IP地址,所以用ARP解析協(xié)議將IP地址解析成MAC地址。ARP協(xié)議的基本功能就是通過目標(biāo)設(shè)備的IP地址,來查詢目標(biāo)設(shè)備的mac地址
而DNS欺騙是這樣一種中間人攻擊形式:局域網(wǎng)內(nèi)的主機訪問一個網(wǎng)站時,會向dns服務(wù)器發(fā)送dns請求包,這里的dns服務(wù)器一般由網(wǎng)關(guān)主機擔(dān)任,dns服務(wù)器收到請求后,查找自己的dns緩存表,如果有就返回,沒有就返回該域名的根域名服務(wù)器,主機再向根域名服務(wù)器查詢。把自己偽裝成本局域網(wǎng)的dns服務(wù)器,從而達(dá)到域名劫持的效果,它是攻擊者冒充域名服務(wù)器的一種欺騙行為,它主要用于向主機提供錯誤DNS信息,當(dāng)用戶想要嘗試瀏覽網(wǎng)頁,例如去登錄百度的網(wǎng)址:www.baidu.com (百度主機IP為:14.215.177.39)而實際上登錄百度網(wǎng)址的IP是被替換掉的www.baidu.com(Kali主機IP: 92.168.42.171),這時候用戶上網(wǎng)就只能看到攻擊者的主頁,而不是用戶想要取得的網(wǎng)站的主頁了,這個網(wǎng)址是攻擊者用以竊取網(wǎng)上銀行登錄證書以及帳號信息的假冒網(wǎng)址,DNS欺騙其實并不是真的“黑掉”了對方的網(wǎng)站,而是冒名頂替、招搖撞騙罷了。
三、實驗環(huán)境
測試機:Windows7虛擬機一臺 ip: 192.168.42. 119
攻擊機:Kali linux 虛擬機一臺 ip: 92.168.42.171
網(wǎng)關(guān):192.168.42.129
工具:kalil inux 滲透測試平臺
網(wǎng)絡(luò)環(huán)境:手機WiFi網(wǎng)絡(luò)USB共享,同一局域網(wǎng),橋接網(wǎng)絡(luò)模式
四、實驗內(nèi)容(實驗過程)
- 一.信息收集
老方法,用nmap開路,先收集靶機的詳細(xì)信息,用nmap端口掃描工具掃描局域網(wǎng)內(nèi)存活的主機(這里掃描129這個網(wǎng)段)
命令: nmap -Pn -A -o 192.168.42.129/24nmap -O 是遠(yuǎn)程檢測操作系統(tǒng)和軟件-Pn 無ping掃描,可以繞過一般防火墻檢測-A 全面掃描nmap的參數(shù)有很多,這里主要是DNS欺騙演示,所以nmap的詳細(xì)參數(shù)我就不一一列舉了,感興趣的同學(xué)可以去度娘找一下詳細(xì)的資料
通過nmap詳細(xì)的列出的信息可以看出該ip主機所開啟的端口服務(wù)及操作系統(tǒng)類型的詳細(xì)信息可以推斷出該ip主機所用的系統(tǒng)為win7家庭版
- 二. 配置dns規(guī)則和主頁文件
接下來因為使用的欺騙工具是ettercap,首先對dns的文件進(jìn)行編輯,填寫DNS規(guī)則,因為ettercap這個工具的dns規(guī)則文件存放在etc目錄下,所以先用命令 cd /etc/ettercap 切換到etc目錄下的ettercap目錄,通過終端用vim打開它
Vim打開后,按一下 i 鍵進(jìn)入編輯狀態(tài),然后在紅色的矩形中輸入,前面的*所在的位置代表需要訪問的網(wǎng)站的域名,后面是將其欺騙到的ip(本機ip:92.168.42.171)
進(jìn)行欺騙時,“*”代表不管什么網(wǎng)站,都解析到后面的ip地址,如果輸入特定的域名,那就可以進(jìn)行釣魚
接下來,按一下ESC退出編輯狀態(tài),然后按shif加冒號,輸入wq,表示寫入退出,回車,就可以保存退出了
然后再來編輯/var/www/html下的index.html文件,也就是主頁文件,在DNS欺騙成功后,當(dāng)受害者訪問域名網(wǎng)站后,打開的頁面就是我們這里的這個主頁文件里邊的內(nèi)容(這里只做演示,隨便寫了一個簡單的)
接著啟動apache2 也就是網(wǎng)頁服務(wù)器,就是相當(dāng)于拿本機(Kali)當(dāng)web服務(wù)器這樣子
到終端輸入命令 /etc/init.d/apache2 start 來啟動apache2 服務(wù)器
出現(xiàn)OK證明成功啟動了
- 三. 利用Ettercap進(jìn)行ARP欺騙和中間人攻擊
接著在終端輸入命令ettercap -G來進(jìn)入ettercap的圖形界面,個人喜歡用圖形界面,可能是windows玩多的原因吧,當(dāng)然ettercap也有命令行,看個人喜歡著去選擇使用命令行還是圖形化界面,反正效果一樣的
啟動ettercap后,選擇Unifind sniffing進(jìn)行網(wǎng)卡配置,網(wǎng)卡選擇eth0(根據(jù)自己的電腦網(wǎng)卡而定)如果是無線網(wǎng)卡就選擇wla0
接著到hosts選項下的 scan for hosts掃描存活的主機,掃描完畢點擊下圖的Hosts list,將網(wǎng)關(guān)地址添加到 target2,將攻擊目標(biāo)ip添加到 target1, 接著設(shè)置中間人攻擊的形式為ARP欺騙 mitm>arp poisoning,勾上第一個設(shè)置arp雙向欺騙
Arp欺騙設(shè)置完畢,我們?nèi)グ袡C查看一下arp緩存表
可以看到網(wǎng)關(guān)mac跟攻擊機Kali的mac一樣,這時候可以確定arp毒化成功,,這時候我們隨便找一個http網(wǎng)站登錄,然后在Kali輸入ettercap -Tq -i eth0 試試能否獲取登錄密碼
參數(shù)說明: -T 文本模式 -q 安靜模式 -i 網(wǎng)卡
成功嗅探http登錄密碼 //如果需要對https網(wǎng)站進(jìn)行嗅探,但由于https的安全特性,所以我們需要到Kali更改Sslstrip 配置文件,然后使用sslstrip進(jìn)行轉(zhuǎn)換把https轉(zhuǎn)換為http
關(guān)于https的嗅探實驗可以參考我的另一篇博客
傳送門
成功嗅探后繼續(xù)配置插件plugins>mangge the plugins,我們要進(jìn)行的是DNS欺騙 雙擊dns_spoof 后可以看見下邊的提示
最后點擊strat>start sniffing開始DNS欺騙
欺騙成功后可以看到下面顯示被欺騙的域名
去靶機上訪問www.baidu.com,就可以看到百度的網(wǎng)頁被替換為剛剛編輯的簡單h5頁面了
左邊是dns欺騙前的,右邊是欺騙后的
關(guān)閉插件,并點擊mitm選擇最后一項停止arp欺騙,在靶機上重新訪問百度
頁面恢復(fù)正常
當(dāng)我們關(guān)閉插件停止DSN欺騙之后,如果還是無法正常訪問網(wǎng)站,那就需要清空dns緩存才能正常訪問網(wǎng)頁了,萬一停止攻擊后依然dns錯誤打不開網(wǎng)頁就到cmd界面用輸入“ipconfig /flushdns”執(zhí)行,刷新本地的DNS緩存數(shù)據(jù)
五.總結(jié)
DNS欺騙即域名信息欺騙是最常見的DNS安全問題。當(dāng)客戶主機向本地DNS服務(wù)器查詢域名的時候,如果服務(wù)器的緩存中已經(jīng)有相應(yīng)記錄,DNS服務(wù)器就不會再向其他服務(wù)器進(jìn)行查詢,而是直接將這條記錄返回給用戶,當(dāng)主機向某一個DNS服務(wù)器發(fā)送解析請求時,攻擊者冒充被請求方,向請求方返回一個被篡改了的應(yīng)答,從而請求方訪問了被篡改后的IP地址,這樣子直接訪問被篡改后的網(wǎng)頁,容易造成賬號密碼被盜取。
如何防止dns欺騙:
1.直接修改自己的host文件,將你訪問的域名和ip地址直接寫到里面,這樣就不用通過dns服務(wù)器了,也就無法被騙
2.DNS欺騙前提也需要ARP欺騙成功。所以首先做好對ARP欺騙攻擊的防范(如綁定本機MAC)
3.Windows下查看和刷清空DNS緩存表的命令
命令:ipconfig /displaydns ipconfig /flushdns
總結(jié)
以上是生活随笔為你收集整理的内网DNS欺骗与防护的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件对应的Content-Type类型
- 下一篇: SnagIt9.0过了适用期,弹出关于的