網關是工做在OSI七層模型中的傳輸層或者應用層,用於高層協議的不一樣
網絡之間的鏈接,網關就比如一個房間通向另外一個房間的一扇門。php
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劫持能夠依靠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