局域网安全攻防

简介: 局域网安全攻防

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      #配置接口为信任接口
相关文章
|
消息中间件 存储 运维
Zabbix与ELK整合实现对安全日志数据的实时监控告警
Zabbix与ELK整合实现对安全日志数据的实时监控告警
Zabbix与ELK整合实现对安全日志数据的实时监控告警
|
9月前
|
运维 监控 数据可视化
容器化部署革命:Docker实战指南
容器化部署革命:Docker实战指南
|
6月前
|
自然语言处理 数据安全/隐私保护 Android开发
Oxygen Forensic Detective 18.0 发布,新增功能简介
Oxygen Forensic Detective 18.0 发布,新增功能简介
447 6
Oxygen Forensic Detective 18.0 发布,新增功能简介
|
机器学习/深度学习 算法 PyTorch
DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解
强化学习(RL)是提升大型语言模型(LLM)推理能力的重要手段,尤其在复杂推理任务中表现突出。DeepSeek团队通过群组相对策略优化(GRPO)方法,在DeepSeek-Math和DeepSeek-R1模型中取得了突破性成果,显著增强了数学推理和问题解决能力。GRPO无需价值网络,采用群组采样和相对优势估计,有效解决了传统RL应用于语言模型时的挑战,提升了训练效率和稳定性。实际应用中,DeepSeek-Math和DeepSeek-R1分别在数学推理和复杂推理任务中展现了卓越性能。未来研究将聚焦于改进优势估计、自适应超参数调整及理论分析,进一步拓展语言模型的能力边界。
2214 8
DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解
|
缓存 安全 Linux
使用macof发起MAC地址泛洪攻击
使用macof发起MAC地址泛洪攻击
437 2
|
测试技术 持续交付 开发者
《提升鸿蒙Next应用审核与上架效率之道》
为了确保应用顺利通过华为应用市场的审核并成功上架,开发者应提前熟悉审核标准和流程,优化应用质量,完善资料提交,并加强与审核团队的沟通。具体措施包括:仔细研读审核指南,确保功能完整性和稳定性,提升性能指标,规范权限申请,准确填写应用信息,准备高质量截图和视频,制定明确隐私政策,利用技术工具进行自查和自动化测试,积极参与社区交流和培训活动。
343 8
|
存储 缓存 安全
分布式系统架构7:本地缓存
这是小卷关于分布式系统架构学习的第10篇文章,主要介绍本地缓存的基础理论。文章分析了引入缓存的利弊,解释了缓存对CPU和I/O压力的缓解作用,并讨论了缓存的吞吐量、命中率、淘汰策略等属性。同时,对比了几种常见的本地缓存工具(如ConcurrentHashMap、Ehcache、Guava Cache和Caffeine),详细介绍了它们的访问控制、淘汰策略及扩展功能。
322 6
|
12月前
|
前端开发 搜索推荐
使用DeepSeek快速创建的个人网站
这是一份使用DeepSeek快速创建个人网站的10分钟指南。内容分为四个步骤:搭建基础架构(HTML框架)、设计核心内容区块(关于我、作品展示等)、快速配置样式(CSS美化页面)以及添加联系表单并部署到GitHub Pages。通过简单的代码和DeepSeek的智能辅助功能,用户可以轻松实现个性化调整,如更换主题色、增加模块或优化响应式设计。虽然整体流程简单高效,但可能因功能有限或美观度不足而需进一步扩展与改进。
927 11
|
Ubuntu Linux 编译器
用户态协议栈学习,DKDK基本用法介绍
用户态协议栈学习,DKDK基本用法介绍
1022 0
|
Java Linux 网络安全
Jetbrains idea整合远程的docker服务器
Jetbrains idea整合远程的docker服务器
1417 0

热门文章

最新文章