記一次成功的arp流量轉發以及實驗過程中出現的問題

0x00    前言

之前筆者仔細學習了arp協議和arp欺騙的原理和細節,這裏通過kali linux和其他虛擬機完成一個實驗

實驗環境: kali linux 2018.2(32位)  winxp(32位) ,均爲虛擬機

實驗工具:arpspoof,driftnet(獲取靶機圖片)

0x01    實驗

首先打開kali linux 和winxp 虛擬機,xp的命令行輸入

arp -a

在kali中首先可以用fping對局域網進行掃描,這裏由於是已知目標ip,就不多做贅述了。

然後在kali命令行中使用工具arpspoof,實現arp欺騙或者流量轉發。

具體步驟如下:

1、命令行輸入

arpspoof -i (網卡) -t ip1(目標主機) ip2(網關)

在本實驗中就是

arpspoof -i eth0 -t 192.168.0.5 192.168.0.1

2、觀察目標arp緩存的變化

再次在xp機命令行中輸入

arp -a

可見,對於xp來說,已經成功受到arp欺騙,這時如果xp相要通過網關訪問互聯網是不行的

3、然後再在kali 命令行中輸入指令

表示數據包可轉發。

4、最後再利用driftnet截取通過本機網卡的圖片,語法爲

driftnet -i (interface),在此實驗中即爲

driftnet -i eth0

跳出一個框

5、最後使用xp訪問網頁,可以在kali機上看到xp上面獲得的圖片

xp百度搜索 kali 跳出下列界面

然後觀察kali中driftnet的情況

可以看到,確實已經得到了xp上面訪問的圖片

0x02   原理

上面爲操作過程,但是原理也同樣重要。

在之前的文章中,筆者寫過有關於arp相關的一些知識,有興趣的還請去看看,說得不清楚或者不正確的可以告訴我,我會及時修改。這裏對arp的原理就不多說了。

首先,arpspoof工具的原理其實就是欺騙IP1,告訴IP1自己是IP2,這裏筆者和網上一些文章所寫有所出入。

在語法   arpspoof -i interface -t ip1 ip2 中,一些文章說是告訴IP2自己是IP1,經過筆者利用arp -a測試,得出的結論是告訴ip1自己是ip2。有興趣的朋友可以試一試,對理解arp原理很有幫助,而且我也有可能寫錯了,瞭解的朋友還請指正。

另外,十分重要的一個指令

允許數據包轉發對於是十分重要的,如果沒有這一條指令,那麼你只是欺騙了內網中的一個用戶,告訴它網關是你,然後由於默認不允許轉發,你的主機也不能轉發該用戶的數據包,那麼它將處於斷網狀態,這時他會十分敏感地感受到異常,可能會及時處理異常網絡情況,導致本次攻擊失敗。而如果轉發了,經過實測,目標機的網速比起沒有攻擊時會變慢,可能是由於本機將作爲一個必經口會多出來一跳,但是我個人感覺這一跳影響不會大,具體爲什麼會慢許多,有可能是虛擬機本身自己的情況,因爲就算不實驗,我感覺虛擬機網速也挺慢。

最後說一說driftnet的原理,其實這個原理最好理解,目標機的數據包都通過你的網卡再轉發一次了,那麼它在網上乾的事情你也自然全都瞭解了。聽說還有比driftnet更好用的工具,之後幾天可能會出相關文章。

0x03 總結和本次實驗得失

說實話,本次實驗我個人走了許多誤區,總的來說歸結爲以下幾點。

1、arp協議的理解和arpspoof的利用問題

主要還是新工具的使用,arpspoof的參數順序實驗進行了一段時間纔出結論,不過也對該知識的理解透徹了不少

2、爲何要實現數據包轉發,這個光靠說很難理解它的重要性,但只要你實驗一下你立刻就可以意識到它的意義。僅僅斷網對於進一步的工作是無意義的。

3、虛擬機、實機的選用

一開始是想用kali來攻擊我的本機的,但僅僅實現了斷網這一步,關於數據包轉發這一步怎麼也沒有做到,可以確定的是那個重要參數確定是設置爲1了的,需要轉發。最後看網上說可能是因爲實機和虛擬機間的不同造成的,於是選擇了兩個虛擬機來進行實驗,之後準備做一下兩個實機間的實驗。

4、局域網的安全問題

可以看到,局域網中本身幾乎是沒有安全可言的,如果你和攻擊者處於同一局域網下,極其難以防禦,所以那些外面的網絡不能亂連,尤其是那些隨地可以見的,不要密碼的wifi。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章