ARP攻击与欺骗

发布时间 2023-08-08 00:40:00作者: ashashash

广播与广播域:

广播:将广播地址作为目的地址的数据帧。

广播域:网络中能接收到同一个广播所有节点的集合。

MAC广播地址:FF-FF-FF-FF-FF-FF

IP广播地址:255.255.255.255   广播IP地址为IP网段地址网段的广播地址:如192.168.0.255/24(当主机位全为1时,就是网段的广播地址)

路由器不会转发广播请求,只能在局域网内广播

ARP协议:

address resolution protocol:地址解析协议  作用:将一个已知的IP地址解析成MAC地址

windows arp相关命令:
  arp -a:查看arp缓存表

  arp -d:消除arp缓存

  arp -s:ARP绑定

ARP原理:
1)发送ARP广播请求

2)接收ARP单播回应

ARP攻击或欺骗原理:

通过发送伪造的ARP报文(单播或广播)来实现的攻击或欺骗。

如果虚假报文中MAC是伪造的,实现ARP攻击,结果是中断通信

如果虚假报文中MAC是攻击者的MAC,实现ARP欺骗,结果是监听,窃取,篡改,控制流量,但不中断通信

ARP攻击者通过发送虚假伪造的ARP报文对受害者进行ARP缓存投毒

ARP协议没有验证机制。

路由器工作原理:

1)一个帧到达路由,路由器首先检查目标MAC地址是否自己。如果不是,则丢弃,如果是就解封装,并将IP包送到路由器内部。

2)路由器检查IP包头中的目标IP,并匹配路由表。如果匹配失败,则丢弃,并向原IP回馈错误信息,如果匹配成功,则将IP包路由到出接口。

3)封装帧,首先将出接口的MAC地址作为源MAC地址。然后检查ARP缓存,检查是否有下一跳的MAC地址,如有,则将下一跳的MAC地址作为目的MAC封装。如无,则发送ARP广播请求下一跳的MAC地址,获取下一跳的MAC地址,并记入缓存,再封装帧。最后将帧发送。

ARP攻击与欺骗:

用到的工具:nmap,arpspoof,driftnet

在kali系统使用nmap查找可攻击主机

nmap -sP 192.168.0.0/24

192.168.0.5为物理机,准备攻击物理机

arpspoof命令使用,来源:ARP欺骗工具arpspoof的用法_who_im_i的博客-CSDN博客

arpspoof -i eth0 -t 受害者IP 想伪造的主机的IP

  如:arpspoof -i eth0 -t 192.168.0.5 192.168.0.1

运行前192.168.0.5的ARP缓存表如下

运行后192.168.0.5的ARP缓存表如下

在192.168.0.5的ARP缓存表中,192.168.0.1(网关)的物理地址已经改变了,这是一个伪造的MAC地址,192.168.0.5无法将信息传到网关,因此无法上网,这就是ARP攻击。

 

echo 1 > /proc/sys/net/ipv4/ip_forward

将kali系统中的数据包转发打开(不打开只能实现ARP攻击,打开可以实现ARP欺骗)

arpspoof -i eth0 192.168.0.1 192.168.0.103    

 #告诉192.168.0.1(网关)受害机(192.168.0.103)的MAC地址为攻击机的MAC地址,当网关给受害机回包时,网关会把数据包发给攻击机,攻击机再转发给受害机,实现数据窃取 

driftnet是一款图片捕获工具,它可以将流经你网卡的图片流量抓取出来

实现arp诈骗后,网关给受害机回复的流量会经过攻击机的网卡,可以利用driftnet将图片捕获。

driftnet -i eth0 -a -d /home/ddd  #将捕获的图片保存在ddd中

这是受害机在浏览猫图片时被抓捕的图片

ARP攻击防御:

1.静态绑定:

  手工绑定(手动配置ARP表),双向绑定(配置PC的ARP表且配置网关的ARP表)

windows客户机上绑定:
arp -s 网关ip 网关mac地址

2.ARP防火墙:

  自动绑定静态ARP,主动防御。

  工作原理:一直发出ARP广播,告知对方准确的MAC地址。(与ARP欺骗类似)

  在大型局域网中不使用,大量的广播容易造成链路拥塞。

3.硬件级防御:

  要求:交换机支持“端口”做动态ARP绑定(配合DHCP服务器)或做静态ARP绑定。

  原理:把ip与MAC地址在端口号绑定,当发送ARP报文的时候先对内容判断,如果IP或MAC地址与事先绑定的不同,不允许发送。