一、ARP
1.1、ARP介绍
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址(MAC地址)的一个TCP/IP协议.
每台主机都设有一个ARP高速缓存,里面有本局域网上的主机和路由器的IP地址到硬件地址的映射。
可以用指令arp -a查看: 刚开机时,arp是空的
1.2、ARP协议原理
查询目的主机MAC地址的步骤:
1、主机A上ARP进程在本局域网上广播发送一个ARP请求分组;
2、在本局域网上的所有主机运行的ARP进程都收到该ARP请求分组;
3、主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下ARP请求分组,并单播向主机A发送ARP响应分组;
4、主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射。
1.3、arpspoof
安装:apt-get install -y dsniff ssldump
使用man arpspoof可以查看使用手册
功能:
在交换局域网上拦截数据包。arpspoof 通过伪造ARP回复,将来自LAN上目标主机的数据包重定向到LAN上的另一台主机。
如果设置了ip_forward就会转发到网关,没有就会断网。
IP转发必须提前打开,echo 1 > /proc/sys/net/ipv4/ip_forward,攻击后靶机想正常上网需要在攻击机器上打开这个。
语法:
arpspoof[-i interface][-c own|host|both][-t target][-r]host
参数:
-i:指定要使用的接口
-c own|host|both:指定在恢复ARP配置时使用的硬件地址;当在清理时,数据包的源地址可以用自己的也可以用主机(host)的硬件地址。使用伪造的硬件地址可能导致某些配置下的交换网络、AP网络或桥接网络通信中断,然而它比起默认值—使用自己的硬件地址要工作地更为可靠。
-t target:为ARP病毒指定特定主机(如果未指定,则为LAN上的所有主机)。重复此操作以指定多个主机。就是说 -t 后面加上你要欺骗的主机ip或者是域名。
-r:毒害两个主机(主机和目标)以捕获双向流量。(仅与-t结合有效)。
host:指定要为其截获数据包的主机(通常是本地网关)。
攻击机器:
靶机:ipconfig /all
二、ARP攻击原理
ARP攻击就是通过伪造IP地址和MAC地址的对应关系,使得网络无法正常通信。
ARP攻击示例:
arpspoof -i ens160 -t 192.168.11.201 -r 192.168.11.1 # 让靶机发送到网关的数据和网关返回的数据都流经攻击机器
导致靶机不能正常上网了。ctrl+Z或ctrl+C后恢复原样,可以上网。
crtl+Z:立马停止发送包
crtl+C:不会立刻停止,会继续发送几个包,不过呢是告诉它真话,让它找对地方
三、ARP欺骗原理
3.1、伪装成网关
欺骗源把自己(或者其他非网关主机)伪装成网关,向局域网内的目标主机发送ARP应答报文,使得局域网内的主机误认为欺骗源的MAC地址就是网关MAC的地址,并将原本应该流向网关的数据都发送到欺骗源。
对靶机实施ARP欺骗:
arpspoof -i ens160 -t 192.168.11.201 192.168.11.1 # 让靶机201发送到网关的数据流经攻击机器75
在骗包发送的过程中目标主机无法上网。ctrl+Z后,网关恢复成真实网关mac。
怎样判断ARP攻击成功?
在靶机上查看arp缓存,发现网关的mac地址与攻击机器的mac相同
3.2、伪装成主机
欺骗源2把自己伪装成局域网内的另一台主机3,将主机3的IP地址对应的MAC地址替换为欺骗源2的IP地址对应的MAC地址,使得局域网内的主机1发往主机3的报文都流向主机2.
对网关实施ARP欺骗:
arpspoof -i ens160 -t 192.168.11.1 192.168.11.201 # 让网关返回给201的数据都流经攻击机器75
四、ARP防御措施
1、保证电脑不接收欺骗包
动态ARP检测:
交换机记录每个接口对应的IP地址和MAC,生成DAI检测表;
交换机检测每个接口发送过来的ARP回应包,根据DAI表判断是否违规,若违规则丢弃此数据包并对接口进行惩罚。
2、保证电脑收到欺骗包后不相信
静态ARP绑定:
防御ARP攻击和ARP欺骗最直接的方式是进行IP-MAC地址绑定。用户通过在主机和网关(路由器)上实现双向IP地址和MAC地址绑定,即可提高网络的安全性。
静态ARP绑定示例:arp -s 192.168.11.1 70:3a:a6:cd:c5:dd # 70:3a:a6:cd:c5:dd是网关的mac地址
arp指令结果中的Flags Mask从C变成了CM
解除静态ARP绑定: arp -d 192.168.11.1 # 必须指定IP地址
arp指令结果中的Flags Mask从CM变成了C
3、利用Arpspoof和Arposion等工具
原理是向网关更快的发送正确的MAC地址,只要用户给网关发送正确的ARP包的速度比攻击者发送ARP报的速度快,就不会影响与网关的通信。
4、安装ARP防火墙
大部分的安全辅助软件内置了ARP防火墙功能,这些软件通过在终端计算机上对网关进行绑定,以保证终端计算机不受网络中假网关的影响,从而保护其数据不被窃取。
五、ip_forward打开,arp欺骗目标机器为何不能上网
https://tieba.baidu.com/p/7165013466 为什么我arp攻击断网成功了,但是arp欺骗却不能成功,当欺骗时,还是被攻击的主机还是不能上网。
要求攻击机器上至少有两块网卡且打开ip转发,这两块网卡还得是不同的网段:
六、参考
(5条消息) arpspoof使用教程,Kali arp欺骗,断网攻击,充当中间人转发数据包_开始即是结束的博客-CSDN博客_arpspoof
(5条消息) arp攻击进阶版,获取受害者上网信息,局域网全部断网_开始即是结束的博客-CSDN博客_arpspoof断网整个网络
(5条消息) 使用wireshark分析ARP协议_blazer小桦桦的博客-CSDN博客
(5条消息) ARP绑定IP与MAC地址_扶我起,还能学的博客-CSDN博客_arp绑定