前言:
ARP欺騙原理:在每臺主機上都有ARP
緩存表,緩存表中記錄了IP地址與ARP地址對應的關係,而局域網數據傳輸依靠的是MAC地址(網絡設置之間互相通信是用MAC地址而不是IP地址),同理MAC
地址在OSI模型中對應的是數據鏈路層
的,其中ARP是IP轉換爲MAC的過程
,所以ARP在也是在數據鏈路層
的。
實驗環境和工具:
這裏所有的操作環境都是在VM虛擬機下搭建的,並且網絡環境設置的是NAT模式,VM虛擬機中一共有3種模式,分別是NAT模式
,橋接模式
,和僅主機模式
,這三種模式的關係,這裏就不多介紹了。
Kali
(中間人)系統 IP地址:192.168.107.128 MAC地址:00:0c:29:a2:2d:54
Win7
系統 IP地址:192.168.107.157 MAC地址:00-0C-29-AB-F9-3F
Win2008
系統 IP地址:192.168.107.146 MAC地址:00-0C-29-CF-53-FF
arpspoof
工具:用來進行ARP(MAC)地址欺騙,Kali系統中自帶
tcpdump
工具:用來進行流量監聽,Kali系統中自帶
driftnet
工具:用來進行圖片嗅探,Kali系統中自帶
ettercap
工具:用來進行DNS欺騙,Kali系統中自帶
此時,三種機器機器都是可以在同一局域網環境下,並且都是可以ping通的。
ARP欺騙:
第一步:我們在我們的win7上搭建一個ftp(具體搭建教程,請自行百度),然後通過win2008來進行ftp的連接,由於ftp數據的傳輸是明文傳輸的,所以通過流量監聽是可以監聽到明文數據的。
在win2008上先正常訪問下win7的ftp,輸入賬號和密碼,提示successful,成功連接到。
第二步:查看win2008上的路由表,可以看到,此時win7的IP地址和MAC地址是一一對應的。
第三步:打開Kali系統,進行ARP欺騙,首先開啓流量轉發:echo 1 >> /proc/sys/net/ipv4/ip_forward
使用工具arpspoof
,執行命令:arpspoof -i eth0 -t 192.168.107.157 192.168.107.146
這條語句的意思就是告訴192.168.107.157(win7),我(Kali)現在是192.168.107.146(win2008),這樣192.168.107.157發送的數據就會發送到Kali系統上來,當然了也可以執行雙向監聽。
第四步:在Kali中執行tcpdump -i eth0 -X port 21
意思就是監聽eth0網卡上端口爲21的數據,此時就是監聽的狀態。
第五步:回到win2008(192.168.107.46)上重新連接win2007(192.168.107.157)的ftp服務,此時win2008發送請求到win2007,win2007收到請求後返回數據包,讓win2008輸入ftp的賬號和密碼,win2008輸入賬號和密碼,並且發送給win2007,那麼此時我們已經進行了ARP欺騙了win2008,所以賬號和密碼在Kali中就能被抓取到。
賬號:
密碼:
ftp連接成功信息:
圖片嗅探:
這個實驗比較簡單,當Kali和win7處於同一局域網時,直接在Kali中執行:driftnet -i eth0
即可進行圖片嗅探,嗅探是不需要進行ARP欺騙的,直接執行即可。
win7瀏覽器打開的圖片:
Kali下嗅探到的圖片:
URL嗅探
這裏就需要使用到ettercap
這個嗅探神器了,也是在Kali中自帶的,廢話不多話,看操作吧。
第一步:在Kali中執行ettercap -G
以圖形化的界面打開,打開後的界面如下:
選項需要嗅探的網卡,然後點擊勾號。
第二步:點擊掃描,掃描後,點擊左邊的按鈕,就可以列出當前局域網中存活的設備。
第三步:這是掃描後的結果,選擇需要嗅探的目標,Add to Target1 ,然後Delete host其他的主機。
第四步:選擇ARP poissoning…。
第五步:選擇Plugins加載模塊
第六步:雙擊加載remote_browser瀏覽器嗅探模塊。
第七步:點擊掃描
到此所有的準備工作都已經完成了,接下來等待被嗅探的機器win7打開瀏覽器,訪問URL等資源鏈接。
win7訪問的百度地址。
Kali中嗅探到的URL信息和界面
DNS欺騙:
首先,我們需要在Kali系統中配置欺騙的DNS,vim打開文件/etc/ettercap/etter.dns
,在文件開頭處添加,然後保存,並且我們需要在kali上開啓apache服務(這裏不多介紹)
www.baidu.com A (A記錄) 192.168.107.128(本機ip)
*.*.* A 192.168.107.128
DNS欺騙所利用到的工具也是ettercap
,前面的步驟都是一樣的,唯一不同的就是加載模塊不一樣,需要加載dns_spoof
。
最後點擊執行。
那麼這個時候192.168.107.157(win7)
訪問任何的網頁地址,都將解析到我們kali的地址:192.168.107.128上,實際的用法,大家自行腦補,這裏我就不多說了。