ARP欺骗攻击安全防护详解
我们用GNS3模拟
实验拓扑
winpcap 底层的网络数据包捕获工具yongbucaos
1 2 3 4 5 6 7 | R1
R1(config)
路由器开局优化指令:
R1(config - line)
R1(config - line)
R1(config)
0x603cc038
|
交换机的基本配置
关闭路由功能,使其变成二层交换机
配置管理地址
1 2 3 4 | Core - SN(config)
Core - SN(config - if )
Core - SN(config - if )
Core - SN
|
把kali接入到现有的网络结构中
安装arpspoof
1 2 3 4 5 6 7 8 9 10 11 | apt - cache
search - 根据整则表带式搜索软件包列表
apt - file 可以根据命令搜索软件包
apt - get intall apt - file
apt - file update
apt - get install dsniff
root@rocky:~
|
把kali接入到gns3环境中
1 2 3 4 5 6 7 | 更改网卡为vm2
临时配置IP
ifconfig eth0 192.168 . 100.6 netmask 255.255 . 255.0
配置临时网关
验证
ping 路由
ping 交换
|
把centos靶机接入网络(外网)
进入root用户
配置IP地址 192.168.194.10/24
1 | ifconfig ens33 192.168 . 194.10 netmask 255.255 . 255.0
|
在路由器上配置NAT(三步曲)
先为kali配置临时网关
1 | route add default gw 192.168 . 100.254
|
配置NAT
1 2 3 4 5 6 7 8 9 10 11 12 | 1. 配置感兴趣的流(即允许上网的流量)
R1(config)
2 、定义接口的NAT方向
R1(config)
R1(config - if )
R1(config - if )
interface FastEthernet0 / 0
R1(config - if )
R1(config - if )
R1(config - if )
3. 定义PAT转换(NAT转换方式的一种,是最常用的共享单个IP地址上外网的方式,基于端口的复用)
R1(config)
|
4.验证:
1 2 3 | show ip nat translations
GW
GW
|
ping 通 123.1.1.2
配置一个外网的服务器
1.搭建一个ftp服务
打开抓包工具
在交换网络中实施sniffer (网络嗅探--抓包)
(1)xp---->访问外网的FTP服务
(2)嗅探者--kali(工具,wireshark)
结果:没有抓到
原因:
(1)HUB和交换机的区别,hub会将数据向所有的端口转发,而交换机则根据MAC地址表有选择地固定端口转发数据,所以,没有做相应的配置,连接交换机端口的sniffer并不能抓到网络上的数据包。
(2)HUB--工作在物理层,交换机--工作在数据链路层
(3)HUB--所有端口都在一个冲突域,共享带宽
交换机---每个端口都是一个冲突域,独占带宽
1 | show mac - address 查看MAC地址表
|
通过 实施ARP spoof(ARP欺骗) 来劫持流量
ARP spoof 又称为 ARP poisoning (ARP毒化)
ARP欺骗本质上时一种中间人攻击方式(Man-in-the-Middle (MITM))
作为攻击者通过向受害者(victim)和网关主动发送ARP的应答报文去毒化对方的ARP缓存表
(1)去告诉受害者(victim)我是网关
(2)去告诉网关,我是受害者
从而达到劫持流量的目的
1 | systemctl stop firewalld.servicev
|
ARP欺骗工具
1.arpspoof
2.Ethercap
ARP欺骗的实施
(1)扫描所在网络,确定受害者
nmap -sP 192.168.100.0/24
(2) 打开路由转发功能
1 2 3 4 5 | 编辑 / etc / sysctl.conf (内核参数配置文件)
vi + 28 / etc / sysctl.conf
net.ipv4.ip_forward = 1
|
sysctl -p 使修改生效
中间人攻击
(3)使用arpspoof实施欺骗
0x01 去告诉受害者(victim)我是网关(254)
0x02 去告诉网关,我是受害者
通过arpspoof实施双向欺骗
1 2 | arpspoof - i eth0 - t 192.168 . 100.99 - r 192.168 . 100.254
- r 实施双向欺骗
|
使用wireshark嗅探
结果:kali嗅探到用户名和密码
进一步探究
在win(受害者)查看arp缓存
在被攻击者端查看缓存可以看到经过kali
我们可以根据缓存找出攻击者
如何有效的防范ARP欺骗
加密
FTP--明文
FTP over TLS==FTPS
我们来开启Telnet服务,由于ftp配置麻烦,我们的思路使用telnet代替ftp模拟
思科设备上配置SSH
在路由器上配置远程登录,可以支持对设备的远程管理
step01 配置vty线路,并设置认证为用户认证
1 2 | R1(config)
R1(config - line)
|
添加一个本地用户
1 2 | R1(config)
用户名为xzz 权限为 15 级 密码为cisco
|
实施欺骗(抓取telnet)
在windows端telnet登录 路由器
1 | C:\Users\Administrator> telnet 192.168 . 100.254
|
kali端实施arp欺骗,使用wirshark抓取流量。
1 2 | arpspoof - i eth0 - t 192.168 . 100.99 - r 192.168 . 100.254
|
选择TCP流
可以看到我们抓取到了telnet的用户名与密码
可能有人问怎么有用户名为什么有两个
很简单因为telnet协议是有回显字符的
step1:为设备配置主机名和域名后缀
step2:创建密钥对
配置VTY允许SSH协议
1 2 | R1(config)
R1(config - line)
|
现在只能使用ssh访问了,我们知道ssh是较为可靠的安全协议,利用 SSH协议可以有效防止远程管理过程中的信息泄露问题。
静态绑定
IP地址和MAC地址做静态绑定
注意:静态绑定要在这两步的前提下
1 2 | R1(config)
R1(config - line)
|
添加一个本地用户
1 2 | R1(config)
用户名为xzz 权限为 15 级 密码为cisco
|
windows 设备上 绑定
我们首先在windows设备上看一下绑定类型
绑定的网关是动态的,那么它就可以实施欺骗,让不法分子有机可乘
方法一:win xp绑定
(windows 7 设备后可能失效) "此方法个人认为不靠谱"
1 2 | arp - s ip地址 MAC地址
arp - s 192.168 . 100.1 cc - 01 - 85 - 45 - 54
|
绑定后类型将会变成静态的,静态的ARP表项不会受到冲击的
重启会丢失,可以写成批处理文件,放到启动项中
方法二:工具:netsh
首先要先查看网卡的编号
使用工具添加MAC地址绑定
1 2 | netsh - c "i i" add neighbors 11 192.168 . 100.254 cc - 01 - 29 - a0 - 00 - 00
|
删除绑定
1 | netsh - c "i i" delete neighbors 11 192.168 . 100.254
|
查看ARP缓存
可以看到绑定后为静态类型
重启后arp表不会丢失,一直存在。
(推荐使用方法二)
思科设备上绑定
首先查看arp缓存表
1 2 | arp ip 地址 MAC 地址 arpa 接口
R1(config)
|
可以看到没有了age老化时间
加固后进行arp欺骗攻击
并未获取到任何流量
ARP防火墙
常见于一些个人防护工具(如360安全卫士)
开源的ARP防火墙工具:arptables
下载:http://sourceforge.net/projects/ebtables/files/arptables/
用法类似于iptables
由于实验环境原因就不跟大家介绍了,大家可以自行了解一下
如何在交换网络中抓取报文
技术:端口镜像
相当于被检测端口的流量复制一份到观测口(连接了一台装有抓包工具的工作站)
当启用端口镜像后,观测口的流量只能收不能发。
交换机配置:
1 2 3 4 | monitor session 1 source int fa0 / 0 both
monitor session 1 destination int fa0 / 1
show monitor session 1
|
随后你就发现kali上不了网了,原因是kali称为了观测口(观测口不能上网)
登录一下ftp
我们抓包看一下
抓取到了流量
扩展基础命令学习
ARP协议的工作原理
(2)内网的主机访问外网的流程
ping 192.168.194.10
0x01查主路由表
1 2 3 | ip r s
kali > arp - a
arp - d 192.168 . 100.254
|
1 2 3 | R1(config)
do show ip arp
write
|
思科的三种模式
1 2 | show ip translations
show ip aceess
|
arp协议的作用:把IP地址解析成MAC地址
ps:在局域网中通信用到的地址其实是MAC地址
1 | 网络层使用的是IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址。
|
ARP把已经得到的地址映射保存在高速缓存中,这样就使得该主机下次再和具有同样目的地址的主机通信时,可以直接从高速缓存中找到所需的硬件地址而不必再用广播方式发送ARP请求分组。
当收到ARP应答报文,不会去验证,只会用最新的跳目替换旧的条目,更新ARP缓存
二层帧
思科设备修改系统时间
Ettercap工具的使用
arp欺骗工具Ettercap
图形化攻击可能麻烦些(并不能像命令行那样方便“我个人认为”),所以在这里给大家讲的精细一些
1 2 3 | ettercap - i eth0 - G
- i 指定接口
- G 进入图形界面
|
点击对勾
- [ ] 而后添加主机,我是直接就扫描出来了,可以在hosts list 中精细操作。
删除无关IP
将IP添加到目标1与目标二
开始欺骗攻击
受害者访问ftp
抓取到了受害者的用户名和口令
动态ARP检测
交换机中可以部署
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-12-25 14:58
被安全小蜘蛛编辑
,原因: 为使文章更易懂