1. 程式人生 > >dns內網劫持

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訪問網站。