dns內網劫持
一、原理
雖然計算機之間通訊需要對方的ip,但是最底層的傳輸是物理層上,傳輸的是MAC幀,講ip解析成MAC地址的是ARP快取表,這個快取表每個網路層裝置都有。
主機A要和主機B通訊,知道主機A的ip,但是arp快取表了沒有主機B的MAC地址,於是他會在區域網內廣播詢問主機B的mac,主機B會應答自己的MAC.(注:因為每個主機的ip是不固定的,所以裝置的arp快取表也要每隔一段時間都會更新,發起廣播)
這種工作方式有一個BUG,就是如果主機C不停的應答自己的MAC,主機A廣播詢問主機B的MAC時,主機C應答自己的MAC,這時主機A中就會以為主機C是主機B。
當你在瀏覽器中輸入www.baidu.com的時候,要先對該域名發給DNS伺服器進行解析,DNS伺服器的地址是外網ip,網路資料要先通過閘道器,如果把攻擊者的mac偽造成閘道器的MAC,區域網內本來要發給閘道器的資料發給攻擊者,攻擊者就可以對這些資料進行截獲。
被攻擊者請求解析百度的時候攻擊者截獲請求,並解析成自己的ip,並配置好自己的偽造的百度首頁,被攻擊者這樣就開啟的是你偽造的百度。當然,你不一定非要偽造百度,你可以弄個釣魚網站或惡搞網站。
二、技術實現
首先安裝虛擬機器,安裝kali linux作業系統。(kali映象檔案連結https://images.offensive-security.com/kali-linux-2018.2-amd64.torrent)
現在我開始用虛擬機器攻擊實體機,對每一步截圖。
先以root登入kali。
在/var/www/html/資料夾中編輯index.html首頁,
命令service apache2 start開啟apache web伺服器。
編輯etter.dns檔案,(域名 A ip )表示要截獲的域名並解析成的ip,*代表所有域名。
使用ettercap -G命令,開啟ettercap的影象介面
選擇網絡卡eth0是連網線的網絡卡
掃描該網段的主機
列出該網段的主機
把要攻擊的主機新增標記1,閘道器新增標記2.
選擇arp中間人攻擊
雙擊外掛dns_spoof。左邊會出現一個*說明新增成功。
選擇開始攻擊
一段時間後在實體機上開啟百度
檢視arp快取表發現虛擬機器的MAC和閘道器的MAC一樣
uslookup解析的ip是內網ip
三、防範
1.把路由器的地址池縮小到100-254。把主機的ip設定成靜態ip。(縮小地址池是為了防止動態ip和靜態ip衝突)
2.把ip繫結mac。
3.以https訪問網站。