中間人攻擊-Arp之局域網內DNS欺騙

基礎知識

網關是啥?

網關是工做在OSI七層模型中的傳輸層或者應用層,用於高層協議的不一樣
網絡之間的鏈接,網關就比如一個房間通向另外一個房間的一扇門。php

ARP協議

假設A(192.168.1.2)與B(192.168.1.3)在同一局域網,A要和B實現通訊。A首先會發送一個數據包到廣播地址(192.168.1.255),該數據包中包含了源IP(A)、源MAC、目的IP(B)、目的MAC,這個數據包會被髮放給局域網中全部的主機,可是隻有B主機會回覆一個包含了源IP(B)、源MAC、目的IP(A)、目的MAC的數據包給A,同時A主機會將返回的這個地址保存在ARP緩存表中。

ARP欺騙原理

 

 ARP也分爲單向欺騙和雙向欺騙html

假設主機 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 網關 G 192.168.1.1; 在同一局域網,主機A和B經過網關G相互通訊,就比如A和B兩我的寫信,由郵遞員G送信,C永遠都不會知道A和B之間說了些什麼話。可是並非想象中的那麼安全,在ARP緩存表機制存在一個缺陷,就是當請求主機收到ARP應答包後,不會去驗證本身是否向對方主機發送過ARP請求包,就直接把這個返回包中的IP地址與MAC地址的對應關係保存進ARP緩存表中,若是原有相同IP對應關係,則原有的會被替換。
這樣C就有了偷聽A和B的談話的可能,繼續思考上面的例子:
C假扮郵遞員,首先要告訴A說:「我就是郵遞員」 (C主機向A發送構造好的返回包,源IP爲G 192.168.1.1,源MAC爲C本身的MAC地址),愚蠢的A很輕易的相信了,直接把「C是郵遞員」這個信息記在了腦子裏;前端

C再假扮A,告訴郵遞員:「我就是A」 (C向網關G發送構造好的返回包,源IP爲A 192.168.1.2,源MAC地址爲本身的MAC地址),智商捉急的郵遞員想都沒想就相信了,之後就把B的來信送給了C,C固然就能夠知道A和B之間聊了些什麼apache

 

 上面ABCG的故事就是ARP雙向欺騙的原理了瀏覽器

ARP單向欺騙就更好理解了,C只向A發送一個返回包,告訴A:G 192.168.1.1 的MAC地址爲 5c-63-bf-79-1d-fa(一個錯誤的MAC地址,C的MAC地址),A把這個信息記錄在了緩存表中,而G的緩存表不變,也就是說,A把數據包給了C,而G的包仍是給A,這樣就是ARP單向欺騙了。

局域網DNS劫持(失敗)

局域網內的DNS劫持能夠依靠arp欺騙網關來達到修改dns請求,將其請求到咱們指定的網站。緩存

這裏咱們使用bettercap來完成局域網DNS劫持實驗安全

kali_hacker:192.168.41.130bash

win7_hackde:192.168.41.128服務器

win10_apache:100.66.10.247網絡

安裝bettercap

apt-get install bettercap

建立一個 dns.conf 文件,下面這個dns語句的意思是:全部的.com結尾的網站所有解析到個人本地Http服務器, .*\.com就是一個正則,也能夠是自定義的正則 

169.254.197.219  .*\.com

查看網關地址

netstat -rn
route -n  

由於安裝的使bettercap2.x,感受沒有1.x操做簡單,徹底變了。因此從新找到一篇文章實驗:

dns欺騙這裏有一個前提,那就是局域網內的主機的DNS服務器是局域網內的網關,那樣咱們才能進行DNS欺騙,若是DNS服務器設置的是公網的DNS服務器,好比設置的谷歌的8.8.8.8 DNS服務器的話,這樣是不能進行DNS欺騙的。

ipconfig/all    #查看DNS服務器

DNS欺騙以前,咱們先得進行ARP欺騙,就是先欺騙主機讓其認爲網關就是我(攻擊機)。而後因爲主機的DNS服務器就是網關,因此主機會向咱們發送DNS請求,這樣咱們就能夠進行欺騙了。

set arp.spoof.targets 192.168.41.128    #設置arp欺騙的主機以逗號分隔,默認是整個子網
arp.spoof on    #先開啓arp欺騙
set dns.spoof.domains www.baidu.com,www,taobao.com  #設置要欺騙的域名,多個域名用,分開,若是要欺騙全部的域名的話,爲 * 
set dns.spoof.address 100.66.10.247   #設置將要欺騙的域名轉換成對應的ip地址
dns.spoof on   #開啓dns欺騙,www.baidu.com和www.taobao.com對應的ip是100.66.10.247

使用bettercap2.x實驗失敗,一直返回endpoint。

仍是使用ettercap實驗

成功實驗

修改/etc/ettercap/etter.dns文件

 

 開啓ettercap

ettercap -G

選擇模式默認全局Sniff->Unified sniffing

 

選擇hosts->hosts-lists

 

 

 添加到Target1

 

先arp毒化,選擇Mitm->arp poisoning

 

 

 

 而後選擇plugin插件,選擇dns_spoof,進行DNS劫持

 

 

查看靶機的ping項

第一個是arp攻擊dns劫持前,第二個是arp攻擊dns劫持後

 

瀏覽器查看

ettercap顯示欄

ettercap經過view選項查看嗅探到的結果

 

由於我用的是以前出的題目的php,正好也有post請求,模擬hacker經過apr欺騙嗅探到受害者網頁輸入的密碼

 

嗅探到了請求和返回,同時能夠看到用戶輸入的密碼。模擬了在局域網內經過apr欺騙網關,DNS劫持,使受害者全部的行徑暴露於攻擊者的視線中,經過能夠誘騙用戶訪問你想要讓他訪問的網站。若是想把DNS劫持作的更完美的話,能夠作一個很漂亮的前端,作的幾乎分辨不出,而後讓受害者下載一些木馬病毒,好比誠殷網絡的創始人黑無常作的完美無缺的Flash下載頁面,誘導受害者下載並執行。(前提是你的後門免殺)

最後總結

kali查看mac地址的一些命令

cat /proc/net/arp 查看遠端鏈接ip的mac,非自身
cat /sys/class/net/eth0/address 查看自身mac地址  

實驗中網關的ip爲192.168.41.2,mac爲00:50:56:fc:26:85

 

經過arp欺騙,使受害者中的arp表中的網關mac地址變爲hacker的mac地址

 

這裏講一下流程,更加的加深學習印象,hacker經過發送僞造的ARP包給局域網內的其餘主機宣佈本身的ip地址爲192.168.41.2,把本身僞形成網關設備,其餘主機學習到僞造的ARP包,誤把網關的MAC地址解析爲hacker主機的mac地址,此後,則受害者的全部訪問外網的數據包都會發送給hacker。

ARP中的還有不少類型的攻擊,有雙向流量嗅探,有單向欺騙斷網,有泛洪攻擊影響網絡通訊等

 

注意:

結束後實驗記得刷新下DNS緩存

ipconfig/flushdns  

重啓下瀏覽器,在訪問baidu.com就會跳轉到正常的訪問頁面了

 

參考連接:

https://blog.csdn.net/qq_36119192/article/details/84582109

若是要改爲老版本1.6的話能夠參考這篇文章:

https://www.cnblogs.com/diligenceday/p/9912542.html

相關文章
相關標籤/搜索