局域網DNS劫持技術實踐
關於DNS劫持
定義
域名劫持就是在劫持的網絡范圍內攔截域名解析的請求,分析請求的域名,把審查范圍以外的請求放行,否則直接返回假的IP地址或者什么也不做使得請求失去響應,其效果就是對特定的網址不能訪問或訪問的是假網址。
域名劫持一方面可能影響用戶的上網體驗,用戶被引到假冒的網站進而無法正常瀏覽網頁,而用戶量較大的網站域名被劫持后惡劣影響會不斷擴大;另一方面用戶可能被誘騙到冒牌網站進行登錄等操作導致泄露隱私數據。
原理
域名解析(DNS)的基本原理是把網絡地址(域名,以一個字符串的形式)對應到真實的計算機能夠識別的網絡地址(IP地址,比如216.239.53.99 這樣的形式),以便計算機能夠進一步通信,傳遞網址和內容等。
由於域名劫持往往只能在特定的被劫持的網絡范圍內進行,所以在此范圍外的域名服務器(DNS)能夠返回正常的IP地址,高級用戶可以在網絡設置把DNS指向這些正常的域名服務器以實現對網址的正常訪問。所以域名劫持通常相伴的措施——封鎖正常DNS的IP。
如果知道該域名的真實IP地址,則可以直接用此IP代替域名后進行訪問。比如訪問谷歌 ,可以把訪問改為http://216.239.53.99/ ,從而繞開域名劫持。
過程
由於域名劫持只能在特定的網絡范圍內進行,所以范圍外的域名服務器(DNS)能返回正常IP地址。攻擊者正是利用此點在范圍內封鎖正常DNS的IP地址,使用域名劫持技術,通過冒充原域名以E-MAIL方式修改公司的注冊域名記錄,或將域名轉讓到其他組織,通過修改注冊信息后在所指定的DNS服務器加進該域名記錄,讓原域名指向另一IP的服務器,讓多數網民無法正確訪問,從而使得某些用戶直接訪問到了惡意用戶所指定的域名地址,其實施步驟如下:
一、獲取劫持域名注冊信息:首先攻擊者會訪問域名查詢站點,通過MAKE CHANGES功能,輸入要查詢的域名以取得該域名注冊信息。
二、控制該域名的E-MAIL帳號:此時攻擊者會利用社會工程學或暴力破解學進行該E-MAIL密碼破解,有能力的攻擊者將直接對該E-MAIL進行入侵行為,以獲取所需信息。
三、修改注冊信息:當攻擊者破獲了E-MAIL后,會利用相關的MAKE CHANGES功能修改該域名的注冊信息,包括擁有者信息,DNS服務器信息等。
四、使用E-MAIL收發確認函:此時的攻擊者會在信件帳號的真正擁有者之前,截獲網絡公司回饋的網絡確認注冊信息更改件,並進行回件確認,隨后網絡公司將再次回饋成功修改信件,此時攻擊者成功劫持域名。
缺點
它不是很穩定,在某些網絡速度快的地方,真實的IP地址返回得比竊持軟件提供的假地址要快,因為監測和返回這么巨大的數據流量也是要花費一定時間的。
在網上查詢域名的正確IP非常容易。一個是利用海外的一些在線IP地址查詢服務,可以查找到網站的真實IP地址。在Google上搜索"nslookup",會找到更多類似的服務。
實驗過程
攻擊機:Kali Linux IP地址:192.168.179.129
靶機:Windows 7 IP地址:192.168.179.130
工具:ettercap
實驗過程
網絡模式設置
首先要保證攻擊機和靶機處在同一局域網下,這里我們只需要把兩台虛擬機的網絡模式設置為相同的即可,我這里的網絡模式設置為NAT模式,如下圖所示。
地址掃描
現在我們知道了兩台機器處於同一局域網下,但是我們並不知道靶機的IP地址,所以我們需要利用netdiscover工具對同一網段下的存貨主機進行探測。
首先我們查看一下Kali攻擊機的IP地址,如下圖所示:
然后我們利用netdiscover工具進行地址掃描,命令如下:
netdiscover
發起攻擊
在成功拿到了靶機的ip地址后,我們利用ettercap工具開始對靶機發起攻擊。
掃描主機
打開errercap工具之后,點擊左上角的掃描按鈕,開始掃描局域網內的主機。然后點擊“Hosts List”按鈕,顯示掃描結果。如下圖所示,共掃描到了四台主機,其中192.168.179.130是目標靶機的IP地址。
添加目標
之后,將目標靶機的ip地址設置為target 1,將網關設置為target 2。如下圖所示:
設置監聽
然后打開右上角的mitm菜單,選擇ARP Posioning,並勾選Sniff remote connections,設置為監聽模式。如下圖所示:
添加DNS記錄
這時,我們需要設置將目標訪問的網址如何解析,這需要我們更改ettercap工具的配置文件,在/etc/ettercap/ 目錄下的etter.dns文件,添加 *.*.com A 192.168.179.129 這條記錄,,保存即可意思是只要目標靶機訪問.com結尾的網站,就會被解析到192.168.179.129這個ip地址當中去。
發起攻擊
之后在菜單中選擇Plugins->Manage Plugins,勾選上dns_spoof,然后開始攻擊。
攻擊成功
攻擊成功后,我們訪問百度,可以看到瀏覽器跳轉到了其他的頁面。