安全研究 >> 安全研究详情

应急响应之 ARP 欺骗

作者: 美创科技安全实验室发布日期: 06月28日

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)


1

正常 windows 系统 192.168.5.149

  • arp -a 查看本地arp缓存


  • 查看网关


  • 正常查看baidu.com的路由


2

攻击机 192.168.5.160


执行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地址替换成自己本机。


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


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


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


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


检查并处理

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



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

解决:3.1 netsh i i show in  查看本地连接的idx

3.2 netsh -c "i i" add neighbors 11 "网关ip" "网关mac"



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





服务热线:400-711-8011
Copyright ©2005-2018 杭州美创科技有限公司. All Rights Reserved. 浙ICP备12021012号-1