系列文章

ARP渗透与攻防(一)之ARP原理ARP渗透与攻防(二)之断网攻击
ARP渗透与攻防(三)之流量分析
ARP渗透与攻防(四)之WireShark截获用户数据
ARP渗透与攻防(五)之Ettercap劫持用户流量
ARP渗透与攻防(六)之限制网速攻击
ARP渗透与攻防(七)之Ettercap Dns劫持

ARP攻击防御

1.ARP防御方法简介

ARP攻击的原理是向网关和靶机不停的发送ARP欺骗报文,我们的计算机或者网关就会实时更新ARP缓存表,从而出现安全漏洞。假如对这种欺骗报文的处理是不相信或者不接受的话,就不会出现问题了。处理这种的欺骗的行为我们没办法提前在攻击端进行操作,因为敌人躲在暗处,而我们处明处。

针对这种情况我们可以从以下两方面入手:

1.让我们的电脑不接收欺骗包

2.即使接收到欺骗的包也不要相信

目前网络安全行业现有的ARP防御方案,基本都是基于上面两个方法实现的。

2.windows防御

1.安装arp的防火墙

1.安装360安全卫士 地址:https://www.360.cn/
2.选择网络安全

ARP渗透与攻防(八)之ARP攻击防御_重启

3.选择流量防火墙

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_02

4.选择局域网防护开启防火墙

ARP渗透与攻防(八)之ARP攻击防御_网络_03

5.kali开启ARP攻击
arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.24

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_04

6.查看防护效果

ARP渗透与攻防(八)之ARP攻击防御_网络_05

ARP渗透与攻防(八)之ARP攻击防御_网络_06

2.设置静态mac地址

1.临时绑定,重启后失去保护效果

1.ARP表MAC地址绑定状态

ARP表MAC地址绑定类型有动态和静态两种。

动态:有时效限制,会实时更新,不安全

静态:长久生效,不会随时间或者通知而变化,安全。

我们来看一下电脑上的ARP表。

arp -a

ARP渗透与攻防(八)之ARP攻击防御_重启_07

大部分都是动态的,动态的MAC地址他有生命周期,一定时间之后就会被替换,另外别人通知我更新的时候,也会被直接替换,也就是说无论是被动获取时发现变化了,还是主动被告知时已经变动了,arp列表都会进行更新。如果是攻击方告诉了靶机,他也会相信,从而导致被攻击。我们解决的方法就是把动态的MAC地址变成静态的。那么该如何绑定呢?

2.绑定步骤

1.Win10以管理员身份运行CMD命令提示符

2.查询网关的ip和mac地址

arp -a | findstr 192.168.110.1
网关的IP:192.168.110.1
网关的MAC地址:e4-3a-6e-35-98-00

ARP渗透与攻防(八)之ARP攻击防御_HTTP_08

3.查询本机的网卡

ipconfig

ARP渗透与攻防(八)之ARP攻击防御_网络安全_09

4.查询本地连接的网卡ID号

netsh i i show in

#netsh i i show in  是netsh  interface ipv4 show interfaces 的缩写

从图中可以找到,Idx就是网卡的ID,以 Ethernet0也就是我本机的网卡,id=6

ARP渗透与攻防(八)之ARP攻击防御_重启_10

5.临时绑定mac地址,重启失效

ARP渗透与攻防(八)之ARP攻击防御_网络_11

netsh -c i i add neighbors  6 192.168.110.1 e4-3a-6e-35-98-00 store=active

-c Context 指定上下文
i: interface 更改到 `netsh interface' 上下文。
i:ipv4
add: 在项目列表上添加一个配置项目
neighbors: 添加邻居地址
store=active:设置为临时绑定
查询帮助命令:netsh -c /?

6.发起ARP攻击

arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.24

ARP渗透与攻防(八)之ARP攻击防御_重启_12

7.查询靶机ARP表

arp -a

ARP渗透与攻防(八)之ARP攻击防御_网络安全_13

8.停止ARP攻击

ctrl+c

9.重启靶机,查看arp表

arp -a

ARP渗透与攻防(八)之ARP攻击防御_网络_14

10.重新发起ARP攻击

arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.12

11.查看靶机arp

arp -a

ARP渗透与攻防(八)之ARP攻击防御_网络_15

12.停止攻击

ctrl+c

2.永久绑定,重启后不失效

1.绑定命令

netsh -c i i add neighbors  6 192.168.110.1 e4-3a-6e-35-98-00 store=persistent
store=persistent:永久绑定

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_16

2.查看ARP表

arp -a

ARP渗透与攻防(八)之ARP攻击防御_HTTP_17

3.发起ARP攻击

arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.24

ARP渗透与攻防(八)之ARP攻击防御_HTTP_18

4.查看arp缓存表

arp -a

ARP渗透与攻防(八)之ARP攻击防御_HTTP_19

5.重启电脑,查看ARP表

arp -a

ARP渗透与攻防(八)之ARP攻击防御_重启_20

6.删除静态配置

arp -d ip #不推荐使用,下次设置时,出现错误
netsh -c i i delete ne 6  #推荐使用

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_21

7.查看靶机arp表

arp -a

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_22

8.停止攻击

ctrl+c

3.linux防御

1.查询arp表命令

arp -a
ip n 
ip neigh
 
192.168.110.1 dev ens33 lladdr e4:3a:6e:35:98:00 STALE #不新鲜的
192.168.110.1 dev ens33 lladdr e4:3a:6e:35:98:00 REACHABLE #可到达的

ARP渗透与攻防(八)之ARP攻击防御_网络安全_23


ARP渗透与攻防(八)之ARP攻击防御_网络_24

2.临时添加静态地址,重启后失效

arp -s 192.168.110.1 e4:3a:6e:35:98:00

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_25

3.查询arp表

ip n
192.168.110.1 dev ens33 lladdr e4:3a:6e:35:98:00 PERMANENT #永久的

ARP渗透与攻防(八)之ARP攻击防御_网络_26

4.发起ARP攻击

ettercap -T -i eth0  -M arp:remote /192.168.110.1// /192.168.110.26//

ARP渗透与攻防(八)之ARP攻击防御_HTTP_27

5.查看靶机arp表

ip n

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_28

6.重启靶机

reboot

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_29

7.查看靶机arp表

ip n

ARP渗透与攻防(八)之ARP攻击防御_HTTP_30


可以看到重启后绑定失效了,mac地址又被替换成了kali的,于是又被arp攻击成功了。

8.将其添加到 rc.local里边 开启自动执行

vi  /etc/rc.local
chmod +x /etc/rc.d/rc.local
添加:
arp -s 192.168.110.1 e4:3a:6e:35:98:00
wq保存

ARP渗透与攻防(八)之ARP攻击防御_HTTPS_31


ARP渗透与攻防(八)之ARP攻击防御_网络安全_32

9.重启centos7

reboot

10.查看arp表

ip n

ARP渗透与攻防(八)之ARP攻击防御_HTTP_33


可以看到,设置自动执行后,重启系统arp绑定也没失效。

4.路由/网关防护设置

1.打开路由器配置网站

一般是http://网关ip

2.点击更多功能

ARP渗透与攻防(八)之ARP攻击防御_重启_34

3.选择网络设置–局域网

ARP渗透与攻防(八)之ARP攻击防御_重启_35

4.添加静态ip地址绑定列表

ARP渗透与攻防(八)之ARP攻击防御_网络_36

5.手动添加绑定

ARP渗透与攻防(八)之ARP攻击防御_重启_37

5.WEB服务防御ARP攻击

web服务防御明文传输泄露用户信息的手段:使用加密协议:https

1.什么是HTTP

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。使用明文传输,容易被劫持。

2.什么是HTTPS

《图解HTTP》这本书中曾提过HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。使用加密传输,不容易被拦截,更加安全。

TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。

3.HTTPS加密通讯工作原理

ARP渗透与攻防(八)之ARP攻击防御_HTTP_38