前言:
由於在局域網中,網關會不斷地發送 ARP 數據包詢問當前是否有新的客戶端上線,如果我們可以欺騙當前局域網網段下的主機,
把我們當成網關地址,並且我們把欺騙的流量轉發到真正的網關地址,這樣我們就可以嗅探到別人的信息
實驗環境:
1、虛擬機 A(kali)
2、實驗主機 B(win 10)
3、保證虛擬機和主機在同一網段,方法在上一篇有寫
實驗步驟:
1、kali 里使用 netdiscover -i eth0 [-r range...] 來獲取目標主機的 IP 地址,這里直接使用主機 B 的 IP 和網關
2、kali 終端使用 ettercap -i eth0 -Tq -M arp:remote /// /// 來進行流量欺騙,前一個 /// 為 B 的 IP,后者為網關
注:/// 的完整寫法為 MAC/IPs/IPv6/PORTs,默認為全部,MAC 為物理地址,IPs 為 IPv4,PORTs 為端口號
若 ettercap 操作失敗,需要我們對其進行提權
修改 /etc/ettercap/etter.conf 文件,將 ec_uid 和 ec_gid 的值改為 0,可以使用 leafpad、vim 等進行操作
3、打開一個新的終端,通過 driftnet -i eth0 -a -d dir 來把 B(目標主機)瀏覽的圖片保存在目錄 dir 里,也可以通過 -b 彈窗直接查看瀏覽的圖片
4、打開主機 B 的瀏覽器查看圖片(需要 http 的)
5、在 kali 里打開相應文件夾,查看里面的內容
擴展:
1、netdiscover:
a、基於 ARP 協議
b、主動或被動地發現WIFI或交換網絡的主機
c、常用參數選項:
-i :接口。選擇你監控的接口,比如eth0
-r :range 比如192.168.0.0/24(/24 表示網絡號為 24 位)
-l :從文件讀取range列表
-p :被動模式
-t :每個ARP請求之間等待時長,單位為毫秒。這個可以用來規避檢測系統的告警
-c :對每個IP發多少個探針
-P :輸出形式更適合重定向到一個文件中。
注:具體可以使用 man netdiscover 或 netdiscover -h 來查詢詳細操作
ARP 協議是將 IP 地址轉換為 MAC 地址(物理地址)地網絡協議
局域網中主機的通訊是通過 MAC 地址來實現的,區分 IPv4 里的網絡號和主機號
2、ettercap [OPTIONS] [TARGET1] [TARGET2]:
a、兩種運行方式:UNIFIED 方式是以中間人方式嗅探;BRIDGED 方式是在雙網卡情況下,嗅探兩塊網卡之間的數據包
b、常用參數:
-i :指定接口
-T :文本模式,常配合 -q 安靜模式使用,-s 表示加載腳本
-M :指定中間人模式
·ARP 欺騙:arp:remote(雙向)、arp:oneway(單向,欺騙目標一到目標二的通訊)
·ICMP 欺騙:icmp:(MAC/IP)
·DHCP 欺騙:dhcp:(ip_pool/netmask/dns)
如:-M dhcp:/255.255.255.0/192.168.0.1 不提供 IP 地址,只欺騙目標子網掩碼和 DNS 服務器
c、常見參數組合:
ARP 毒化 eth0 所在的網段,安靜模式文本顯示:ettercap -Tqi eth0 -M ARP /// ///
對 192.168.1.120 進行 DNS 欺騙,使用默認網卡 eth0,文本模式安靜顯示:ettercap -Tq -P dns_spoof -M arp:remote /192.168.1.120// ///
3、driftnet [options] [filter code]:
a、driftnet 是一款使用簡單的圖片捕獲工具,可以很方便的在網絡數據包中抓取圖片
b、參數命令:
-b :捕獲到新的圖片時發出嘟嘟聲
-i :選擇監聽接口
-f:讀取一個指定 pcap 數據包中的圖片
-p :不讓所監聽的接口使用混雜模式
-a :后台模式,將捕獲的圖片保存到目錄中(不會顯示在屏幕上)
-m :指定保存圖片數的數目
-d :指定保存圖片的路徑(目錄)
-x:指定保存圖片的前綴名