注意:本文仅用于学习使用,切勿用于真实环境,否则,后果自负

一、ARP协议介绍

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

二、ARP欺骗的条件和局限性

1.局限性:

只能攻击同一局域网下的主机

2.攻击条件:

攻击方要知道被攻击方的IP地址,以及被攻击方的网关地址攻击方和被攻击方处于同一局域网下

三、ARP欺骗原理

ARP欺骗有两种攻击利用方式:ARP欺骗断网攻击ARP中间人攻击

3.1 ARP欺骗断网攻击

1.概念

ARP欺骗(英语:ARP spoofing),又称ARP毒化(ARP poisoning,网上上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网上特定计算机或所有计算机无法正常连线。

2.主机型欺骗:

攻击者欺骗受害主机,发送数据告诉受害主机说我是网关,然后受害主机会将攻击主机当作网关进行数据传输,这样就会导致受害主机无法正常上网。

3.网关型欺骗:

攻击者欺骗网关,发送数据告诉受网关,我是受害主机,网关将攻击主机当作受该机器进行数据传输,这样就会导致受害主机请求的数据发到攻击者主机。。

3.2 ARP中间人攻击

攻击主机欺骗受害主机,发送数据告诉受害主机说我是网关,然后受害主机会将攻击主机当作网关进行数据传输。同时发送数据告诉网关说我是受害主机,网关会将攻击主机当作受害主机进行数据传输,这样受害主机和网关之间的数据交互都会经过攻击主机,受害主机不会断网不会察觉,所以可以查看到各种通信数据。

四、测试环境介绍

攻击主机系统:kali linux:ip:192.168.61.135
受害主机系统:win10:ip:192.168.61.137

五、arpspoof介绍

1.攻击工具:

kali 中的arpspoof

2.准备工具:

打开kali,如果没安装arpspoof可以apt install 一下

1
apt install arpspoof

在这里插入图片描述

3.工具介绍:

arpspoof有四个参数:
-i 表示网卡接口
-c 表示主机信息,如果你的主机有多个IP,我的主机那个网卡上就一个IP
-t 目标IP地址
-r 目标网关地址

六、实战演示:ARP欺骗断网攻击

6.1 获取受害机器IP-fping

通过fping命令,查看当前局域网还存在那些主机,以确定要攻击的主机的ip地址

1
fping -g 192.168.61.0/24

发现三台:一台是我的kali攻击机,一台是win10受害机,一台是网关

在这里插入图片描述

6.2 获取受害机器IP-nmap

推荐使用nmap
发现只有一台机器可以当受害机器,192.168.61.138:也就是我的靶机win10

在这里插入图片描述

192.168.61.1 vm8网卡
192.168.61.2 网关
192.168.61.138 靶机
192.168.61.254 DHCP服务器
192.168.61.135 kali本机

6.3 攻击前目标机器可正常上网

在这里插入图片描述

6.4 发起攻击

1
arpspoof -i eth0 -t 192.168.61.138 192.168.61.2

在这里插入图片描述

6.5 攻击期间目标机器可正常上网

在这里插入图片描述
在这里插入图片描述

七、实战演示:ARP中间人攻击(可截获图片和数据)

7.1 概述

这种情况就不能使受害主机断网,受害主机的IP流量经过攻击主机的时候,攻击主机应该对受害主机的IP流量进行转发。

7.2 Linux限制:开启路由转发

linux系统出于安全考虑禁止了IP转发功能,所以需要手动打开,在/proc/sys/net/ipv4/ip_forward里面数值是0,改为1就允许了IP转发
使用echo 1 > /proc/sys/net/ipv4/ip_forward实现该操作

1
echo 1 > /proc/sys/net/ipv4/ip_forward

在这里插入图片描述

7.3 实验

7.3.1 中间人攻击前目标机器可正常上网

此时机器可正常上网

在这里插入图片描述

再查看物理地址,没有受到ARP欺骗攻击

1
arp -a

在这里插入图片描述

路由追踪看一下跳跃节点,直接到达网关192.168.61.2

1
tracert www.baidu.com

在这里插入图片描述

7.3.2 发起中间人攻击

1
arpspoof -i eth0 -t 192.168.61.138 192.168.61.2

在这里插入图片描述

7.3.3 中间人攻击期间目标机器可正常上网

受害主机能正常上网

在这里插入图片描述

在这里插入图片描述

再次查看物理地址,MAC发生改变受到ARP欺骗攻击

在这里插入图片描述

再次路由追踪看一下跳跃节点,发现到达一个中间节点之后才到达网关192.168.61.2

1
tracert www.baidu.com

发现一个节点,但未捕获到IP,且这个节点在本机和网关之间

在这里插入图片描述

7.3.4 driftnet工具捕获目标浏览的图片

如果没有就进行安装:

1
apt install driftnet

出现一些有的没的错误,尝试一下换源
虚拟机中利用driftnet工具,可以捕获物理机正在浏览的图片。在kali中打开driftnet,即可得到受害机目前正在浏览的图片。
注意:这里只能看到HTTP页面的图片,无法查看HTTPS页面

在这里插入图片描述

7.3.5 ettercap截取账号密码:

借助于EtterCap嗅探软件,渗透测试人员可以检测网络内明文数据通讯的安全性,及时采取措施,避免敏感的用户名/密码等数据以明文的方式进行传输。
在命令行输入:
ettercap -Tq -i eth0
-T 是 –text,文本模式;
-q 是 –quiet,安静,不显示包的内容。

在这里插入图片描述

八、ARP攻击防范方式:

8.1 防御方式

8.1.1 静态ARP绑定

不同系统可能不一样,Windows如下:

1
2
netsh  -c  "i  i" add neighbors  4  "192.168.61.2" "00-50-56-fe-9c-79"
1

8.1.2 使用防火墙

1.使用ARP防火墙
2.使用可防御ARP攻击的核心交换机,绑定端口-MAC-IP

8.2 防御实战

这是我们确认的网关192.168.61.2的MAC:00-50-56-fe-9c-79
现在正在受到ARP攻击

在这里插入图片描述

我们绑定静态arp
查看网卡:

1
netsh i  i show in

绑定静态arp

1
netsh  -c  "i  i" add neighbors  4  "192.168.61.2" "00-50-56-fe-9c-79"

在这里插入图片描述

查看arp缓存表:绑定成功

在这里插入图片描述

路由追踪直接跳到了192.168.61.2网关

在这里插入图片描述

删除静态绑定

1
netsh -c "i  i" delete neighbors 4

又跳到了欺骗状态,动态MAC

在这里插入图片描述

注意:本文仅用于学习使用,切勿用于真实环境,否则,后果自负