Kali Linux学习之arp地址欺骗
arp地址欺騙詳解
簡介:由于局域網的網絡流通不是根據IP地址進行,而是按照MAC地址進行傳輸。所以,那個偽造出來的MAC地址在A上被改變成一個不存在的MAC地址,這樣就會造成網絡不通,導致A不能Ping通C,這就是一個簡單的ARP欺騙。在局域網中,黑客經過收到ARP Request廣播包,能夠偷聽到其它節點的 (IP, MAC) 地址, 黑客就偽裝為A,告訴B (受害者) 一個假地址,使得B在發送給A 的數據包都被黑客截取,而A, B 渾然不知。ARP欺騙是黑客常用的攻擊手段之一,ARP欺騙分為二種,一種是對路由器ARP表的欺騙;另一種是對內網PC的網關欺騙。
arp欺騙限制:必須是在同一局域網內才可以
arp欺騙原理:
網絡上的解釋大多都是千篇一律,我在這里說說我的解釋
所謂arp欺騙就是利用了arp協議(地址解析協議的漏洞)由于在同一局域網內的主機通信依靠arp地址而不是ip,所以當兩臺主機通信時(A 和 B)主機A 向 主機B 發送一個arp廣播(內有主機B的IP地址),這是局域網內的所有主機都會收到這個arp包,然后與在自己的ip地址進行比較,如果符合就回復給主機 A 一個帶有自己的arp地址的arp包,同時將主機 A 的arp地址記錄下來。接著使用這個MAC地址發送數據(由網卡附加MAC地址)。因此,本地高速緩存的這個ARP表是本地網絡流通的基礎,而且這個緩存是動態的
(這里注意一點:主機的每次通信都需要從新發送arp廣播包得到主機 B 的arp地址(動態性) )
以上是正常通信過程
ARP緩存表
在每臺裝有tcp/ip協議的電腦里都有一個ARP緩存表,表里的ip地址與mac地址是一一對應的,以主機A(192.168.1.5)向主機B(192.168.1.1)發送數據為例。當發送數據時,主機A會在自己的ARP緩存表中尋找是否有目標IP地址。如果找到了,也就知道了目標的mac地址,直接把目標的mac地址寫入幀里面發送就可以了;如果在ARP緩存表里面沒有目標的IP地址,主機A就會在網絡上發送一個廣播,目標mac地址是“ff-ff-ff-ff-ff-ff”,這表示向同一網段的所有主機發出這樣的詢問:“192.168.1.1的mac地址是什么呀?”網絡上的其他主機并不回應這一詢問,只有主機B接受到這個幀時才向A作出回應:“192.168.1.1的mac地址是00-aa-0-62-c6-09。(如上表)”這樣,主機A就知道了主機B的mac地址,就可以向主機B發送信息了。同時,它還更新了自己的ARP緩存表,下次再向B發送數據時,直接在ARP緩存表找就可以了。ARP緩存表采用老化的機制,在一段時間里表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢的速度。
查看ARP緩存表
ARP緩存表示可以查看的,也可以添加和修改。在命令提示符下,輸入“arp -a”就可以查看arp緩存表的內容了。
用“arp -d”可以刪除arp緩存表里的所有內容。
用“arp -s“可以手動在arp表中制定ip地址與mac地址的對應關系。
ARP欺騙:
如果這時有一臺主機C? 當主機想要獲取兩臺主機的通信過程時,主機C 可以主動向主機A 發送 arp應答包 主機A接收到這個應答包后更新自己的arp緩存表 當然還是B的ip但mac地址已經改變 ,這時主機C再正常連接主機B,這樣就可以監聽雙方的通信過程并且不被發現 ,這是一種最典型的arp欺騙(當然主機B也可以是路由器的ip地址,稍微改動一下就可以造成 對方上不了網 嘿嘿嘿你懂得)
ARP欺騙是黑客常用的攻擊手段之一,ARP欺騙分為二種,一種是對路由器ARP表的欺騙;另一種是對內網PC的網關欺騙。
截獲網關數據
第一種ARP欺騙的原理是——截獲網關數據。它通知路由器一系列錯誤的內網MAC地址,并按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結果路由器的所有數據只能發送給錯誤的MAC地址,造成正常PC無法收到信息。
第二種ARP欺騙的原理是——偽造網關。它的原理是建立假網關,讓被它欺騙的PC向假網關發數據,而不是通過正常的路由器途徑上網。在PC看來,就是上不了網了,“網絡掉線了”。
一般來說,ARP欺騙攻擊的后果非常嚴重,大多數情況下會造成大面積掉線。有些網管員對此不甚了解,出現故障時,認為PC沒有問題,交換機沒掉線的“本事”,電信也不承認寬帶故障。而且如果第一種ARP欺騙發生時,只要重啟路由器,網絡就能全面恢復,那問題一定是在路由器了。為此,寬帶路由器背了不少“黑鍋”。
網絡執法官
在網絡執法官中,要想限制某臺機器上網,只要點擊"網卡"菜單中的"權限",選擇指定的網卡號或在用戶列表中點擊該網卡所在行,從右鍵菜單中選擇"權限",在彈出的對話框中即可限制該用戶的權限。對于未登記網卡,可以這樣限定其上線:只要設定好所有已知用戶(登記)后,將網卡的默認權限改為禁止上線即可阻止所有未知的網卡上線。使用這兩個功能就可限制用戶上網。其原理是通過ARP欺騙發給被攻擊的電腦一個假的網關IP地址對應的MAC,使其找不到網關真正的MAC地址,這樣就可以禁止其上網。
騙過網絡執法官
也就是修改MAC地址突破網絡執法官的封鎖,根據上面的分析,我們不難得出結論:只要修改MAC地址,就可以騙過網絡執法官的掃描,從而達到突破封鎖的目的。下面是修改網卡MAC地址的方法:
h3c助您全面防御arp欺騙攻擊在"開始"菜單的"運行"中輸入regedit,打開注冊表編輯器,展開注冊表到:HKEY_LOCAL_ MACHINE/System/CurrentControl Set/Control/Class/子鍵,在子鍵下的0000,0001,0002等分支中查找DriverDesc(如果你有一塊以上的網卡,就有0001,0002......在這里保存了有關你的網卡的信息,其中的DriverDesc內容就是網卡的信息描述,比如我的網卡是Intel 21041 based Ethernet Controller),在這里假設你的網卡在0000子鍵。在0000子鍵下添加一個字符串,命名為"NetworkAddress",鍵值為修改后的MAC地址,要求為連續的12個16進制數。然后在"0000"子鍵下的NDI/params中新建一項名為NetworkAddress的子鍵,在該子鍵下添加名為"default"的字符串,鍵值為修改后的MAC地址。 在NetworkAddress的子鍵下繼續建立名為"ParamDesc"的字符串,其作用為指定Network Address的描述,其值可為"MAC Address"。這樣以后打開網絡鄰居的"屬性",雙擊相應的網卡就會發現有一個"高級"設置,其下存在MAC Address的選項,它就是你在注冊表中加入的新項"NetworkAddress",以后只要在此修改MAC地址就可以了。你的網卡地址已改。關閉注冊表,重新啟動,你的網卡地址已改。打開網絡鄰居的屬性,雙擊相應網卡項會發現有一個MAC Address的高級設置項,用于直接修改MAC地址。
MAC地址也叫物理地址、硬件地址或鏈路地址,由網絡設備制造商生產時寫在硬件內部。這個地址與網絡無關,即無論將帶有這個地址的硬件(如網卡、集線器、路由器等)接入到網絡的何處,它都有相同的MAC地址,MAC地址一般不可改變,不能由用戶自己設定。MAC地址通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數,08:00:20代表網絡硬件制造商的編號,它由IEEE分配,而后3位16進制數0A:8C:6D代表該制造商所制造的某個網絡產品(如網卡)的系列號。每個網絡制造商必須確保它所制造的每個以太網設備都具有相同的前三字節以及不同的后三個字節。這樣就可保證世界上每個以太網設備都具有唯一的MAC地址。
另外,網絡執法官的原理是通過ARP欺騙發給某臺電腦有關假的網關IP地址所對應的MAC地址,使其找不到網關真正的MAC地址。因此,只要我們修改IP到MAC的映射就可使網絡執法官的ARP欺騙失效,就隔開突破它的限制。你可以事先Ping一下網關,然后再用ARP -a命令得到網關的MAC地址,最后用ARP -s IP 網卡MAC地址命令把網關的IP地址和它的MAC地址映射起來就可以了。
搗亂元兇
解除了網絡執法官的封鎖后,我們可以利用Arpkiller的"Sniffer殺手"掃描整個局域網IP段,然后查找處在"混雜"模式下的計算機,就可以發現對方了。具體方法是:運行Arpkiller,然后點擊"Sniffer監測工具",在出現的"Sniffer殺手"窗口中輸入檢測的起始和終止IP,單擊"開始檢測"就可以了。
檢測完成后,如果相應的IP是綠帽子圖標,說明這個IP處于正常模式,如果是紅帽子則說明該網卡處于混雜模式。它就是我們的目標,就是這個家伙在用網絡執法官在搗亂。
arp欺騙的兩種情況
ARP欺騙存在兩種情況:一種是欺騙主機作為“中間人”,被欺騙主機的數據都經過它中轉一次,這樣欺騙主機可以竊取到被它欺騙的主機之間的通訊數據;另一種讓被欺騙主機直接斷網。
第一種:竊取數據(嗅探)
通訊模式:
應答 -> 應答 -> 應答 -> 應答 -> 應答 -> 請求 -> 應答 -> 應答 ->請求->應答...
描述:
這種情況就屬于我們上面所說的典型的ARP欺騙,欺騙主機向被欺騙主機發送大量偽造的ARP應答包進行欺騙,當通訊雙方被欺騙成功后,自己作為了一個“中間人“的身份。此時被欺騙的主機雙方還能正常通訊,只不過在通訊過程中被欺騙者“竊聽”了。
出現原因(可能):
木馬病毒
嗅探
人為欺騙
第二種:導致斷網
通訊模式:
應答 -> 應答 -> 應答 -> 應答 -> 應答 -> 應答 -> 請求
描述:
這類情況就是在ARP欺騙過程中,欺騙者只欺騙了其中一方,如B欺騙了A,但是同時B沒有對C進行欺騙,這樣A實質上是在和B通訊,所以A就不能和C通訊了,另外一種情況還可能就是欺騙者偽造一個不存在地址進行欺騙。
對于偽造地址進行的欺騙,在排查上比較有難度,這里最好是借用TAP設備(這個東東好像有點貴勒),分別捕獲單向數據流進行分析!
kali Linux實現arp欺騙的工具
1、arpspoof
用法:
arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
選項:
-i interface? ? ? ? ? ? ? ? 指定要使用的接口。
-c own|host|both? ? ? 指定范圍own|host|both(自己|主機|兩者)。
-t target? ? ? ? ? ? ? ? ? ? 指定一臺特定主機為ARP中毒(如果未指定,則為LAN上的所有主機)。
host? ? ? ? ? ? ? ? ? ? ? ? ? ?指定您希望攔截數據包的主機(通常是本地網關)。
常用方法:arpspoof -i eth0 -t 192.168.x.x 192.168.1.1(網關)? ?這樣會使目標主機斷網
arpspoof實戰(同一局域網斷網實戰)
輸入命令后觀察目標機器 使用ping 命令? ping 一下www.baidu.com
發現已經上不了網了??
實戰結束
以上的方法是使路由器和指定目標機器之間斷網?
arpspoof還有一個進行流量傳輸的功能? 即不截斷 目標主機可以正常上網 但是網絡流量會經過我的主機進行轉發
這樣就可以監控傳輸的流量
使用方法:
先開啟kali liunx的路由轉發功能
?
echo 1 > /proc/sys/net/ipv4/ip_forward
注意:這個路由轉發只是臨時生效 如果開機重啟后還需要從新打開
然后執行arpspoof命令 arpspoof -i eth0 -t 192.168.80.x(目標主機ip) 目標主機的路由ip地址
這時目標機器還可以正常上網 但流量已經被我們監控
利用流量轉發實戰:arpspoof和driftnet 進行圖片抓取?
先來介紹一下driftnet命令??
driftnet是一款簡單而使用的圖片捕獲工具,可以很方便的在網絡數據包中抓取圖片。該工具可以實時和離線捕獲指定數據包中是圖片,當然在kali里是有的。
具體命令參數:
語法 : driftnet [options] [filter code]
主要參數:
-b 捕獲到新的圖片時發出嘟嘟聲
-i interface 選擇監聽接口
-f file 讀取一個指定pcap數據包中的圖片
-p 不讓所監聽的接口使用混雜模式
-a 后臺模式:將捕獲的圖片保存到目錄中(不會顯示在屏幕上)
-m number 指定保存圖片數的數目
-d directory 指定保存圖片的路徑
-x prefix 指定保存圖片的前綴名
使用舉例:
1.實時監聽: driftnet -i wlan0
2.讀取一個指定pcap數據包中的圖片: driftnet -f /home/linger/backup/ap.pcapng -a -d /root/drifnet/
使用以上兩個命令搭配使用
1、先打開三個窗口 分別輸入命令
然后運行 觀察目標主機
先在目標主機上ping一下www.baidu.com 發現可以ping通 所以可以正常上網
然后隨便打開幾個網頁看看會不會捕捉到圖片
可以發現在kali liunx上就會捕捉到 (但是有的時候不是全部能捕捉到)
實戰結束
總結
以上是生活随笔為你收集整理的Kali Linux学习之arp地址欺骗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面向对象程序设计概念
- 下一篇: linux php漏洞扫描工具,TPSc