局域网安全攻防

简介: 局域网安全攻防

mac泛洪攻击与防护


mac学习机制


在最初的时候,交换机里是没有mac地址表信息的,那么交换机就要进行学习,假如交换机上连接着两个主机PC1和PC2,当PC1要与PC2进行通信时,PC1的数据帧流入交换机,交换机会把PC1的MAC地址和PC1连接的端口记录到交换机的mac表中,但是交换机的mac地址表中并没有PC2的mac地址信息和端口绑定,所以交换机会将数据帧向全网发送广播,当主机收到数据帧后会把目的mac地址和自己的进行比对,如果一样就应答,不一样就丢弃,当PC2收到与自己mac地址相同的数据帧后,会进行应答,当应答的数据帧流经交换机的时候,交换机会把应答的数据帧的mac地址信息和所进入的端口记录在交换机的mac地址表中,然后交换机会寻找与应答数据帧对应的目的mac地址,交换机发现PC1的mac地址表信息已经存在,会根据PC1绑定的端口号直接将应答数据帧发送给PC1,这样就完成了一次mac地址学习。


640.jpg


mac老化机制


若交换机与某台主机长时间未通信,交换机就会把该主机的mac地址从mac地址表里删除掉,等下次通信时重新学习地址。


mac地址泛洪攻击


通过伪造大量未知的mac地址进行通信,在交换机不断地学习之后,交换机的mac地址表被充满,正常的主机mac地址经过老化之后就无法添加到交换机的mac地址表中,这样就会强迫交换机进行广播,从而达到攻击主机可以获取两个主机之间进行的通信数据的目的


640.jpg


mac地址泛洪攻击测试


实验环境:


kali中有一款名为macof的工具可以进行mac泛洪攻击测试,本次使用macof在攻击机上进行测试,ip地址为192.168.2.130


下面的实验中交换机均采用神州数码DCRS6200设备


PC1为Windows xp主机,ip地址为192.168.2.140


PC2为神州数码设备DCFW防火墙,ip地址为192.168.2.2


开始测试


攻击之前我们先查看交换机的mac地址信息


640.png


使用macof进行mac地址泛洪攻击


640.jpg


再次查看交换机的mac地址表,可以看到mac地址表被大量伪造的mac堆满


640.jpg


现在在PC1上访问DCFW,也就是PC2,然后打开wireshark进行监听


wireshark过滤规则为ip.addr == 192.168.2.140 and http


可以在wireshark上监听到PC1传入的用户名和密码


640.jpg


mac泛洪攻击的防护


在进行mac泛洪攻击的时候,交换机的CPU利用率是偏高的


640.png


1.可以在攻击机所连接端口配置Port Security特性,阻止攻击机发起的mac泛洪攻击


CS6200-28X-EI(config-if-ethernet1/0/5)#sw port-security    #开启端口安全性

CS6200-28X-EI(config-if-ethernet1/0/5)#sw port-security maximum 5  #设置接口允许接入的最大MAC地址数量为5


CS6200-28X-EI(config-if-ethernet1/0/5)#sw port-security mac-address 00-0c-29-b0-81-4f  #绑定指定的mac地址,并添加到交换机的运行配置中,交换机的端口收到源mac数据帧与设置的mac地址进行比较,如果一致则会转发,如果不一致,则会丢弃源mac的数据帧


DCRS(config-if-ethernet1/0/5)#sw port-security mac-address sticky  #启用mac地址粘滞性,粘滞性可以将端口配置为动态获得MAC地址,然后将这些MAC地址保存到运行配置中,如果禁止Port Security特性,粘滞安全mac地址仍保留在运行配置中。


DCRS(config-if-ethernet1/0/5)#sw port-security violation restrict   #设置安全违规操作为安全违背限制模式,默认情况下是安全关闭模式,安全违背限制模式将会丢弃未授权地址发来的数据帧,创建日志消息并发送SNMP Trap消息。有关其他安全违规操作可以使用DCRS(config-if-ethernet1/0/5)#sw port-security violation ?进行查看


2.配置Access Management特性也可以阻止攻击机发起的mac泛洪攻击


AM(access management)又名访问管理,它利用收到数据报文的信息(源IP 地址

或者源IP+源MAC)与配置硬件地址池(AM pool)相比较,如果找到则转发,否则丢弃。


DCRS(config)#am enable       #在配置模式下开启认证管理
DCRS(config-if-ethernet1/0/5)#am port     #进入攻击机的接口下,配置端口使能
DCRS(config-if-ethernet1/0/5)#am mac-ip-pool 01-00-5e-00-00-16 192.168.2.22   #
配置mac-ip地址池,指定该端口上用 户的源MAC 地址和源IP 地址信息,当AM使能的时候,AM模块会拒绝所有的IP报文通过(只允许IP地址池内的成员源地址通过)


arp欺骗攻击与防护


ARP协议


ARP(地址解析协议)是在网络协议包中通过解析网络层地址来找寻数据链路层地址的一个在网络协议包中极其重要的网络传输协议。在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。


每台安装有TCP/IP协议的主机(包括网关)都有一个ARP缓存表。该表中保存这网络中各个电脑的IP地址和MAC地址的映射关系。


PC1要与PC2通信,会先查看自己的ARP缓存表,如果有PC2的IP与MAC地址的映射关系,会直接将数据帧发送给PC2,如果没有的话,会广播发送ARP请求,请求中包含着PC2的IP地址,当PC2收到PC1的ARP请求后,会把PC1的IP地址和Mac地址存放在自己的ARP缓存表中,然后会把回复ARP应答给PC1,这时候PC1收到回复,则会把pc-2的ip地址和pc-2mac地址缓存到arp表中。


640.jpg


ARP欺骗原理


假设PC3是攻击机,那么PC3会向PC1发送一个ARP请求,请求中的IP地址是PC2的IP地址,而Mac地址则是PC3的地址,同时也会向PC2发送一个,IP地址是PC1的IP地址,Mac地址是PC3的MAC地址,这样PC1和PC2的ARP缓存表中都有了PC3的Mac地址,那么PC1如果和PC2互相通信,实际上是都把数据发送给了PC3,再从PC3将数据帧转发给目标地址,PC3实际上在这里充当了一个中间人的角色,这样就完成了一次ARP欺骗


ARP攻击测试


本次测试是对局域网中的IP为192.168.179.131的主机进行测试


640.jpg


首先需要在攻击机上开启IP转发功能


640.png


查看目标主机的arp缓存表


640.jpg


开始攻击,这里使用的是命令行工具arpspoof,kali中arp欺骗的工具有很多,如果使用图形界面来操作可以选择ettercap工具


640.jpg


640.jpg


再次查看目标主机的arp缓存表,发现网关的MAC地址已经变为攻击机的MAC地址,arp欺骗成功,这时候就可以使用一些抓包工具来获取他的信息了


640.jpg


ARP欺骗防护


1.配置Access Management特性可以阻止攻击机发起的arp欺骗攻击


内容同Mac泛洪的防御方法


2.配置IP DHCP Snooping Bind特性来阻止攻击机发起的arp欺骗


DHCP Snooping会建立一张DHCP监听绑定表,对于已存在于绑定表中的mac和ip对于关系的主机,不管是dhcp获得,还是静态指定,只要符合这个表就可以了。如果表中没有就阻塞相应流量。


DCRS(Config)#ip dhcp snooping enable       #使能DHCP Snooping功能
DCRS(Config)#ip dhcp snooping binding enable
DCRS(Config)#ip dhcp snooping binding arp
DCRS(Config)#interface ethernet 0/0/1
DCRS(Config-Ethernet0/0/1)# ip dhcp snooping trust      #配置接口为信任接口
相关文章
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
存储 关系型数据库 数据库
深入了解 PostgreSQL:功能、特性和部署
PostgreSQL,通常简称为Postgres,是一款强大且开源的关系型数据库管理系统(RDBMS),它在数据存储和处理方面提供了广泛的功能和灵活性。本文将详细介绍 PostgreSQL 的功能、特性以及如何部署和使用它。
1252 1
深入了解 PostgreSQL:功能、特性和部署
|
Linux C语言 Windows
荔枝派Zero(全志V3S)一键镜像烧录(windows和linux下)
搞到了一块荔枝派Zero,其CPU为全志V3S, ARM Cortex-A7, 最高1.2GHz,不得不说这小东西能达到这么高的主频真是让我大为震撼,废话不多说,先让其跑起来,证明板子是好的
847 0
|
4月前
|
运维 监控 数据可视化
容器化部署革命:Docker实战指南
容器化部署革命:Docker实战指南
|
SQL 关系型数据库 MySQL
你学会如何将项目部署到Linux系统上了吗?
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。
你学会如何将项目部署到Linux系统上了吗?
|
8月前
|
机器学习/深度学习 算法 PyTorch
DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解
强化学习(RL)是提升大型语言模型(LLM)推理能力的重要手段,尤其在复杂推理任务中表现突出。DeepSeek团队通过群组相对策略优化(GRPO)方法,在DeepSeek-Math和DeepSeek-R1模型中取得了突破性成果,显著增强了数学推理和问题解决能力。GRPO无需价值网络,采用群组采样和相对优势估计,有效解决了传统RL应用于语言模型时的挑战,提升了训练效率和稳定性。实际应用中,DeepSeek-Math和DeepSeek-R1分别在数学推理和复杂推理任务中展现了卓越性能。未来研究将聚焦于改进优势估计、自适应超参数调整及理论分析,进一步拓展语言模型的能力边界。
1157 8
DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解
|
7月前
|
前端开发 搜索推荐
使用DeepSeek快速创建的个人网站
这是一份使用DeepSeek快速创建个人网站的10分钟指南。内容分为四个步骤:搭建基础架构(HTML框架)、设计核心内容区块(关于我、作品展示等)、快速配置样式(CSS美化页面)以及添加联系表单并部署到GitHub Pages。通过简单的代码和DeepSeek的智能辅助功能,用户可以轻松实现个性化调整,如更换主题色、增加模块或优化响应式设计。虽然整体流程简单高效,但可能因功能有限或美观度不足而需进一步扩展与改进。
603 11
|
存储 运维 监控
Kubernetes 集群监控与日志管理实践
【5月更文挑战第28天】在微服务架构日益普及的当下,容器编排工具如 Kubernetes 已成为运维工作的核心。有效的集群监控和日志管理是确保系统稳定性和服务可靠性的关键。本文将深入探讨 Kubernetes 集群的监控策略,以及如何利用现有的工具进行日志收集、存储和分析,以实现对集群健康状况的实时掌握和问题快速定位。
|
12月前
|
自然语言处理 搜索推荐 数据可视化
合合信息开源智能文档处理“百宝箱”:加速、提质、个性化定制的高效助手
随着AI技术的发展,合合信息在CSDN 1024程序员节上发布了智能文档处理“百宝箱”,旨在解决文档处理中的非结构化文本提取难题。该工具集包括可视化文档解析前端TextIn ParseX、高精度向量化模型acge-embedding及文档解析测评工具markdown_tester,广泛适用于知识库构建、智能文档抽取、预训练语料管理等场景,助力开发者高效精准处理复杂文档。
362 0
合合信息开源智能文档处理“百宝箱”:加速、提质、个性化定制的高效助手
|
设计模式
SpringMVC常见组件之DataBinder数据绑定器分析
SpringMVC常见组件之DataBinder数据绑定器分析
580 0