应急响应之ARP欺骗

一:ARP概述

ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化为物理地址的协议。具体来说就是将网络层地址(IP)解析为数据链路层的物理地址(一般为mac地址)。在局域网中,数据本质是根据mac地址进行传输投放。而ARP欺骗本质是利用arp协议本身机制的不完善进行攻击。

二:ARP欺骗原理

比如机器A向机器B发送消息,首先查询本地的ARP缓存表,若缓存表中存在机器B的IP和mac地址的对应表,则按缓存表的mac地址进行传送数据。若没有,则向局域网中广播请求机器B这个IP的mac地址,若机器C收到这个请求,将自己的mac的地址回复给机器A的请求,此时机器A的arp缓存表中就对应机器B的IP和机器C的mac地址。此时所有本应传送给机器B的数据均为被机器C收到。同样,机器C也可以主动恶意广播,使机器A的ARP缓存表主动更新。ARP欺骗可以导致局域网的敏感信息泄露以及网络中断,常用于黑客在内网渗透。

三:ARP欺骗攻击演示

攻击机:kali(192.168.5.160)

被攻击机:Windows(192.168.5.149)

3.1 正常windows系统 192.168.5.149

arp -a 查看本地arp缓存

image.png

查看网关

image.png

正常查看baidu.com的路由

image.png

3.2 攻击机 192.168.5.160

image.png

执行echo 1 > /proc/sys/net/ipv4/ip_forward 进行IP转发,防止arp欺骗时,中招机器断网

执行arpspoof -i eth0 -t 192.168.5.149 192.168.5.2,对5.149进行欺骗,将5.2的mac地址替换成自己本机

image.png

这里可以看到攻击机5.160和被欺骗的网关的mac地址是相同的,此时查看baidu.com的路由

image.png

可以看到路由先经过5.160,再转发到5.2

image.png

此时由5.149机器发出的流量均会经过5.160的转发至网关,因此通过arp欺骗可以获取5.149上的发出的敏感信息,如登录信息等

例如这里在5.149上访问图片,在5.160上就可以实时显示该图片的信息

image.png

四:检查并处理

  1. Windows 下 arp -a ,Linux下arp -n   查看是否存在一个mac地址匹配多个IP的情况,若有,则被ARP欺骗攻击
  2. Windows 下 tracert baidu.com ,Linux 下traceroute baidu.com ,查看路由的第一个地址是否为网关地址,若不是,第一个地址就是攻击机
  3. 在主机绑定网关mac与ip地址为静态。 arp -s网关ip 网关mac

image.png

注意:使用arp -s的时候可能存在arp 项添加失败:拒绝访问

解决:
3.1 netsh i i show in 查看本地连接的idx
3.2 netsh -c "i i" add neighbors 11 "网关ip" "网关mac"
image.png

4.在网关维护主机mac和ip地址的绑定表

原文地址:https://www.cnblogs.com/sojrs/p/11167908.html