介绍
一.ARP欺骗的概念
ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。
二.ARP欺骗的运作原理
1.ARP协议
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。——摘自百度
2.具体原理
在这里插入图片描述
第一步:假设主机A访问某网站,那么要告知某网站我的IP和MAC地址,但这是以广播的方式告知的;
第二步,由于是广播方式告知,猥琐的B主机也知道了A的IP和Mac地址,于是猥琐的B主机把自己伪装成某网站,给A发送回复,A误以为B就是某网站,因此更新了自己本机的ARP缓存;
第三步,两者建立连接,A不断将自己的请求发给B,可怜的某网站被挂在一边了。如果B又把自己伪装成主机A,从而转发A的请求给某网站,然后网站C再回复给"A"(实为主机B)转发给A,那相当于A的流量都从B经过,这就是步骤4,因此B可以实现会话劫持;如果B给A的是一个假地址,那么A就永远上不了网了。
准备
攻击机与靶机
主机 | IP | 网关 | 角色 |
kali 2023 | 192.168.129.133 | eth1 | 攻击机 |
window10 | 192.168.129.147 | 192.168.129.2 | 靶机 |
扫描攻击目标
在kali终端输入:fping -asg 192.168.129.0/24
192.168.129.2是靶机的网关,192.168.129.133是攻击机的IP
这里显示扫描的结果表示扫描IP数量为254,正在使用的IP只有2个,252个IP没有使用,正在使用的IP就是192.168.129.133和192.168.129.2
fping和ping的区别
ping命令只能判断单台主机的IP是否存在,而fping却可以判断某一段IP的主机是否存在
查看靶机IP
实践
arpspoof -i 网卡 -t 靶机IP地址 网关
在kali终端输入:
arpspoof -i eth1 -t 192.168.129.147 192.168.129.2
Kali中持续不断地发送arp应答包,进行ARP欺骗
在window10的终端输入:
arp -a
在kali终端输入:
ifconfig
两张图对比发现,window10的接口出现了攻击机的IP 192.168.129.133 和物理地址 00:0c:29:70:21:8c,网关192.168.129.2对应的物理地址为00:0c:29:70:21:8c,和攻击机的一致
停止攻击:Ctrl+c
再次查看window10
网关的物理地址已经变回来了,因为ARP欺骗停止了,也证明了我们刚才的ARP欺骗成功了