1 DNS
1.1 DNS是什麼?
域名系統(Domain Name System)是網際網路使用的命名系統,用來將主機域名轉換為 ip 地址,屬於應用層協議,使用 UDP 傳輸。
1.2 為什麼需要DNS?
DNS協議提供域名到IP地址之間的解析服務。計算機既可以被賦予IP地址,也可以被賦予主機名和域名。使用者通常使用主機名或域名來訪問對方的計算機,而不是直接透過IP地址訪問。因為與IP地址的一組純數字相比,用字母配合數字的表示形式來指定計算機名更符合人類的記憶習慣。但要讓計算機去理解名稱,相對而言就變得困難了。因為計算機更擅長處理一長串數字。
為了解決上述的問題,DNS服務應運而生。DNS協議提供透過域名查詢IP地址,或逆向從IP地址反查域名的服務。
1.3 DNS工作原理
①客戶機提出域名解析請求,並將該請求傳送給本地的域名伺服器。
②當本地的域名伺服器收到請求後,就先查詢本地的快取,如果有該紀錄項,則本地的域名伺服器就直接把查詢的結果返回。
③如果本地的快取中沒有該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根的子域) 的主域名伺服器的地址。
④本地伺服器再向上一步返回的域名伺服器傳送請求,然後接受請求的伺服器查詢自己的快取,如果沒有該紀錄,則返回相關的下級的域名伺服器的地址。
⑤重複第四步,直到找到正確的紀錄。
⑥本地域名伺服器把返回的結果儲存到快取,以備下一次使用,同時還將結果返回給客戶機。
2 網站克隆實現網站釣魚攻擊
2.1 DNS欺騙的原理及實現步驟
當客戶主機向本地DNS伺服器查詢域名的時候,如果伺服器的快取中已經有相應記錄,DNS伺服器就不會再向其他伺服器進行查詢,而是直接將這條記錄返回給使用者。
而入侵者欲實現DNS欺騙,關鍵的一個條件就是在DNS伺服器的本地Cache中快取一條偽造的解析記錄。
在上面的例子中,假如dhs.com域DNS伺服器返回的是經過駭客篡改的資訊,比如將www.dhs.com指向另一個IP地址5.6.7.8,nipc.com域DNS伺服器將會接受這個結果,並將錯誤的資訊儲存在本地Cache中。以後在這條記錄被快取的生存期內,再向nipc.com域DNS伺服器傳送的對www.dhs.com的域名解析請求,所得到的IP地址都將是被篡改過的。
2.2 網路釣魚
網路釣魚是一種電子資訊欺騙,攻擊者創造了一個完整的令人信服的Web世界,但實際上它卻是一個虛假的複製。
虛假的Web看起來十分逼真,它擁有相同的網頁和連結。然而攻擊者控制著這個虛假的Web站點,這樣受害者的瀏覽器和Web之間的所有網路通訊就完全被攻擊者截獲。
2.3 實踐
1.先檢查能不能ping通靶機
2.配置dns
vi etter.dns
:wq
3.進入var/www/html目錄,編輯index.html網頁檔案
重啟apache服務:
設定IP轉發:
開啟ettercap圖形介面,並掃描區域網內的主機,新增欺騙主機,將閘道器地址設為 Target1,要欺騙的 IP 地址設為 Target2:
選擇欺騙型別:
點選外掛,選擇 dns_spoof
點選左上角start開始攻擊:
可以看到我加的這行字:
使用ifconfig檢視攻擊機IP:
編輯/etc/ettercap/etter.dns檔案,新增偽造網站的本地DNS解析記錄:
接下來使用setoolkit偽造目標網站:
輸入命令(1),進入釣魚攻擊頁面:
(2)輸入命令2,進入web釣魚攻擊頁面
輸入命令3,進入到設定釣魚頁面選項
輸入命令2,進入到克隆網頁介面,回車繼續,設定網頁如下:
輸入要克隆的URL:
此時在靶機中的瀏覽器嘗試訪問攻擊機IP:
訪問成功,可以對靶機進行下一步的DNS欺騙操作:
啟動ettercap:
靶機ping網站地址,響應IP為攻擊機的IP,DNS欺騙成功:
靶機瀏覽器訪問攻擊機網站,並且輸入相關資訊:
點選登入之後,攻擊機的setoolkit中捕捉到輸入的資料:
在實驗換驗證碼輸入登入一次: