22.ARP欺骗

# ARP欺骗原理分析
## 0x01. 什么是ARP协议
> ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。
>
> 工作在第二层 , 数据链路层
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一
个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址
解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
## 0x02. ARP是如何工作的
举个栗子:现在有两台处于同一局域网的主机A、B。
现在主机A要和主机B通信,那么根据上面的介绍可以知道,主机A仅有主机B的IP地址是不可以通信的,还要知道主机B的MAC地址,下面介绍主机A是如何通过ARP协议获取主机B的MAC地址的:
第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求
第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
了解ARP协议的工作原理后可以分析出其存在一个严重的安全问题:
在ARP回复时,发送请求包的主机A并不会验证ARP回复包的真实性,也就是不能判断回复主机A的是不是主机B。由此引出一个局域网攻击方式ARP欺骗。
## 0x03. ARP欺骗的原理及危害
### 3.1 ARP欺骗原理
> ARP欺骗的原理就是把自己的MAC地址伪造成网关的地址来欺骗其它的主机
image-20210202140449938
当主机A和主机B之间通信时,如果主机A在自己的ARP缓存表中没有找到主机B的MAC地址时,主机A将会向整个
局域网中所有计算机发送ARP广播,广播后整个局域网中的计算机都收到了该数据。这时候,主机C响应主机A,
说我是主机B,我的MAC地址是XX-XX-XX-XX-XX-XX,主机A收到地址后就会重新更新自己的缓冲表。当主机A
再次与主机B通信时,该数据将被转发到攻击主机(主机C)上,则该数据流会经过主机C转发到主机B。
### 3.2 ARP欺骗的危害
ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信,
也可以截取全网络数据包,控制带宽等。实际上他的危害还不仅仅如此,一般来说IP地址的冲突我们可以通过多种
方法和手段来避免,而ARP协议工作在数据链路层,隐蔽性更高。系统并不会判断ARP缓存的正确与否,无法像IP
地址冲突那样给出提示。一般的企业都不会在路由层面对arp欺骗做防御,在主机上做的arp防御是无法全面的防
御arp协议,想要全部防御必须在路由绑定ip,mac和端口,但企业不这样做,影响公司网络。
```
1.造成局域网中的其他主机断网 , 限制带宽速度 ( 工具 : 聚生网关 , 网络执法官)。
2.劫持局域网中其他主机或网关的流量,获取敏感信息等。
```
## 0x04.ARP欺骗的分类
### 4.1 单向欺骗
掐断 A 与 B 的通讯,实现原理:C 向 A 发送一条 Arp 数据包,内容为:B 的地址是 00:00:00:00:00:00 (一个
错误的地址),那么 A 此后向 B 发的数据包都会发到 00,而这个地址是错误的,所以通讯中断了,但是要注意
了,这里只是 A –> B 中断了,B –> A 没有中断,所以这个叫单向欺骗
### 4.2 双向欺骗
A要跟B正常通讯,C向A说我是才B。C向B说我才是A,那么这样的情况下把A跟B的ARP缓存表全部修改了。以后
通讯过程就是A把数据发送给C , C再发送给B,B把数据发送C,C在把数据发给A。这个和抓包代理的模型一样
攻击主机发送ARP应答包给被攻击主机和网关,它们分别修改其ARP缓存表, 修改的全是攻击主机的MAC地址,这
样它们之间数据都被攻击主机截获。
## 0x05. ARP命令
查看当前arp缓存表
```
arp -a
```
```
Interface: 192.168.1.104 --- 0x10003
Internet Address Physical Address Type
192.168.1.1 e4-f3-f5-5c-89-be dynamic
网关的ip地址 网关的mac地址 动态
```
我们默认上网所有的数据包都会发送给网关 , 然后网关再转发出去
清空当前arp缓存表
```
arp -d
```
## 0x06. 中间人攻击
实现中间人攻击分为两个阶段。第一是通过某种手段去攻击一台计算机;第二是欺骗主机
第一节段 :
image-20210202142150406
在该阶段主机B通过ARP注入攻击的方法以实现ARP欺骗,通过ARP欺骗的方法控制主机A与其他主机间的流量及
机密信息
第二阶段:
在第一个阶段攻击成功后,主机B就可以在这个网络中使用中间人的身份,转发或查看主机A和其他主机间的数据
流,如图4所示。
image-20210202142412596
1)在这个局域网中当主机A向主机C发送请求,此时该数据将先会发送到主机B上
2)主机A发送给主机C的数据流将会经主机B转发到主机C上。
3)主机C收到数据以为是主机A直接发送的。此时主机C将响应主机A的请求,同样的该数据流将会被主机B转发到
​ 主机A上。
4)主机A收到响应后,将登录主机C。这样主机A登录时的用户名及密码,将会被主机B查看到。
## 0x07. ARP攻防实战
> 工具 : arp攻击测试软件
### 7.1 禁止上网
首先扫描一下局域网中有哪些主机 , 注意使用网卡一定是当前网段的网卡
image-20210202144050335
win2k8的ip为192.168.1.110 , 是可以打开百度的
image-20210202145209156
选中ip点击禁止上网
image-20210202145309282
image-20210202145423439
上不了网络了 , 通过查看arp缓存表可以看到网关的mac地址被改成了别的
image-20210202145946817
### 7.2 踢出局域网
直接把当前主机的arp表中的网关清除
image-20210202150907714
### 7.3 主机ip冲突
都是傻瓜式的操作 , 就不展示了
image-20210202151553202
110主机
image-20210202171954117
### 7.4 单向欺骗(劫取数据)
> 工具 : arpsniffer.exe , 需要安装WinPcap.exe
cmd下执行命令 :
```
arpsniffer.exe 192.168.1.1 192.168.1.104 80,3389 log.txt
```
参数说明 :
```
arpsniffer的第一个参数为网关地址, 我这儿为:192.168.1.1,
第二个参数为要欺骗的IP地址, IP为:192.168.1.104
第三个参数为要截取数据的端口号:80,3389
第四个参数是要把捕获的数据保存到指定的文件:当前路径下的log.txt
```
只要 192.168.1.104 通过80端口访问数据那么数据包就会保存到攻击者的log.txt 文件中
### 7.4 用户密码盗取
攻击者 :
首先安装WinPcap_4_1_beta.exe
image-20210202152248186
打开劫持工具svchost.exe ,
### 7.5 DNS欺骗
设置欺骗的主机
image-20210202162008503
设置arp-dns
image-20210202162132528
在被欺骗的主机上ping qq.com
image-20210202162226017
你可以在192.168.1.147上搭建一个和qq.com一样的网站 , 不就可以内网钓鱼了吗
## 0x08. ARP安全防范
1、不要随意登录免费的WIFI,没人知道免费的WIFI是不是有恶意的攻击者在搞鬼;
2、使用ARP绑定, 避免被ARP欺骗;
```
编写一个批处理文件命名为xx.bat,将批处理文件放到“Windows→开始→程序→启动”中,如果需要立即生效,请运行此文件。批处理文件内容如下:
@echo off
arp -d
arp -s 192.168.1.1 e4-f3-f5-5c-89-be //ip与MAC地址根据具体情况修改。
```
但是这也是一个鸡肋的方法 , 虽然修改不了arp缓存表 , 但是可以新增arp缓存表的记录 , 虽然网关欺骗不了
但是任然可以进行dns欺骗
3、开启电脑管家或者360安全卫士的ARP防火墙或金山贝壳或彩影ARP防火墙;
4、使用https协议或者其他有保密协议的连接访问外网,避免被坑。
posted @ 2021-12-22 22:51  Mn猿  阅读(100)  评论(0编辑  收藏  举报