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