从交换机安全配置看常见局域网攻击
前言
构建零信任网络,自然离不开网络准入(NAC),这就涉及到交换机的一些安全测试,于是有了此文《从交换机安全配置看常见局域网攻击》。
交换机安全配置
如本文标题所说从交换机安全配置看常见的局域网攻击,那么下面提到的各种攻击方式,自然是建立在交换机安全配置之上来说的。我们通过h3c官方提供的《H3C
交换机安全加固手册》和《安全配置指导》,从这两份手册可以看出交换机支持的安全配置非常多,基本已经覆盖了各种我们熟知局域网攻击。下面就挑几个典型的攻击方式进行演示。
arp欺骗
原理
在每台主机都有一个ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址。ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。
那么攻击者就可以发送恶意广播消息,告诉目标我是某某主机,毒化目标主机arp缓存表,这就是arp欺骗。
工具
arpspoof
Ettercap
bettercap
arp攻击主要有如下两种场景:
arp断网攻击,主要原理是:毒化目标主机arp缓存表,欺骗网关地址;
中间人嗅探,主要原理是:目标主机和网关双向欺骗,需配合路由转发功能。
攻击演示
这里,我们采用bettercap进行arp攻击演示。
攻击者:192.168.6.3
目标:192.168.6.5
1.启动bettercap,如果机器有多网卡需指定对应网卡,http-ui根据个人喜好决定是否开启。具体命令如下所示:
sudo ./bettercap -caplet http-ui -iface en0
如下显示即为成功
账号密码在http-
ui.cap里面可以找到[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VuUOe0Nb-1676903717554)(https://image.3001.net/images/20220107/1641547070_61d8053e5f82b7be34f2b.png!small)]
2.主机探测:
进入LAN选项卡,开始进行主机探测。
也可以直接在终端输入命令开启,如下[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AcuIn4er-1676903717555)(https://image.3001.net/images/20220107/1641547150_61d8058ec3c25ad976661.png!small)]
3.配置开启arp欺骗
进入Advanced选项卡开始进行arp欺骗,如下所示。
默认会欺骗整个局域网主机,我们按需进行配置,配置目标ip,把fullduplex一起打开可以欺骗还可以网关(双向)。
然后回来LAN选项卡,可以看着这个小图标即为配置成功。
最后再来看下效果
如上可以看到攻击成功的效果,目标机器arp表里面网关mac被改成了攻击者的mac。
再看看交换机的路由表也一样如此。
wireshark抓包结果如下,一目了然。
如不了解arp包的详细分析请看https://blog.csdn.net/yangshihuz/article/details/103866507
arp欺骗防御
接下来我们再来看看交换机如何防护这种攻击。
通过翻官方手册,找到如下这条:
进行简单配置后,达到了预期效果。
system-view
arp check enable
arp user-ip-conflict record enable
为了更全面的防御各种ARP攻击,最后整理出如下配置:
system-view
arp check enable
# arp spoof
arp user-ip-conflict record enable
# arp flood
arp source-suppression enable
arp source-suppression limit 100
arp resolving-route enable
arp resolving-route probe-count 5
arp resolving-route probe-interval 3
arp valid-check enable
arp active-ack enable
dns欺骗
原理
需要和ARP欺骗配合使用,当ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。
工具
Ettercap
bettercap
dns欺骗主要用途就是用来钓鱼。
攻击演示
我们还是用bettercap进行演示:
配置并启用arp欺骗。
配置dns欺骗
此处为了方便演示,我们起了一台kali当web服务器,待会儿dns欺骗会用到。
再配置dns欺骗,此处用博客进行演示,让域名解析到192.168.6.3上,也是就之前配置好的kali。
然后我们在被欺骗的主机上主动发起dns查询,可以看到符合我们的预期。
我们再用wireshark筛选一下结果如下,可以看到成功伪造了dns应答包。
Bettercap更多模块使用,请直接查看官方文档。
https://www.bettercap.org/modules/
关于arp攻击最常见的就是上面演示的两种,除此之外还有一些攻击如arp泛洪之类的,由于操作比较简单,这里不做演示。可用下面工具进行测试:
https://github.com/davidgfnet/net-tools
https://github.com/EmreOvunc/ARP-Poisoning-Tool
DHCP Flood
原理
攻击源发送大量DHCP请求报文给DHCP服务器,占用DHCP服务器大量的CPU资源并耗尽DHCP服务器上的地址空间,使合法的DHCP客户端无法获取到IP地址。
工具
这里主要采用yersinia进行演示:
https://github.com/kamorin/DHCPig
https://github.com/tomac/yersinia
yersinia介绍
yersinia是一款针对交换机二层网络的攻击工具,功能包括:
支持针对以下网络协议的攻击:
生成树协议 (STP)
思科发现协议 (CDP)
动态中继协议 (DTP)
动态主机配置协议 (DHCP)
热备路由器协议 (HSRP)
802.1q
802.1x
交换机间链路协议 (ISL)
VLAN 中继协议 (VTP)
攻击演示
1.以图形化界面方式启动
yersinia -G
2.配置并启动dhcp攻击
开始前,先看看dhcp的ip使用情况,可以看到一切正常。
回到kali开始配置,切换到DHCP选项卡,可以看到支持四种模式,我们只需要选择支持dos的就可以发起DHCP Flood攻击。
kali发起攻击后,到交换机再看ip池的使用,如下图可以看到已经使用了很多ip。这种攻击主要是把dhcp的ip池占满,那么别的客户端就不能正常获取ip了。
DHCP攻击防御
# 配置DHCP Flood攻击检测最大报文数为2,检测时间为9000毫秒
dhcp flood-protection threshold 2 9000
# 配置DHCP Flood攻击表项老化时间为90秒
dhcp flood-protection aging-time 90
# 配置DHCP Snooping
##最后
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:
相关文章:
![](https://hnxx.oss-cn-shanghai.aliyuncs.com/official/1673487401625.png?t=0.37365235739630287)
从交换机安全配置看常见局域网攻击
前言 构建零信任网络,自然离不开网络准入(NAC),这就涉及到交换机的一些安全测试,于是有了此文《从交换机安全配置看常见局域网攻击》。 交换机安全配置 如本文标题所说从交换机安全配置看常见的局域网攻击,那么下面提到的各种攻…...
![](https://img-blog.csdnimg.cn/e28cedd476b545b2b1245a7d50e255cb.png)
工具篇3.5世界热力图
一、定义 世界热力图是一种地图形式,它使用颜色的变化来显示世界各个地区的某种指标(如 GDP、人口、气候等)的分布和密度。通常,世界热力图会使用不同的颜色来表示数据的变化,例如使用蓝色表示低值,红色表…...
![](https://www.ngui.cc/images/no-images.jpg)
2023-02-20 leetcode-insertionSortList
摘要: 记录leetcode-insertionSortList的反思 要求: https://leetcode.cn/problems/insertion-sort-list/ Given the head of a singly linked list, sort the list using insertion sort, and return the sorted lists head. The steps of the insertion sort algorithm: In…...
![](https://www.ngui.cc/images/no-images.jpg)
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
环形链表排列硬币合并两个有序数组(没错,出现过一次的LeetCode合并数组又双叒叕出现了!)经典算法题java解法 目录1 环形链表题目描述解题思路与代码解法一:哈希表解法二:双指针2 排列硬币题目描述解题思路与…...
![](https://img-blog.csdnimg.cn/img_convert/d8f156ff73d90e895721ce3f8b5f0db8.png)
网络编程学习一
1、初识网络编程2、网络编程三要素3、三要素(IP)4、IPV4的一些小细节5、Inetaddress类的使用package com.leitao.demo.network;import java.net.InetAddress; import java.net.UnknownHostException;/*** Description: TODO* Author LeiTao* Date 2023/2…...
![](https://img-blog.csdnimg.cn/img_convert/f4c2b5099fb61d5e95d7a4afeb207ee5.png)
Javascript 立即执行函数
IIFE,一般称为立即执行函数。你可能会问我,*“嘿!我知道正常的函数表达式是什么样子的,但是 IIFE 到底是什么?”。*好吧,这正是我今天要在本文中回答的问题。 函数表达式 在了解立即调用函数表达式之前,让…...
![](https://img-blog.csdnimg.cn/img_convert/21181ec7bff94d2b8dd3a512e91adaf5.png)
基于Django和vue的微博用户情感分析系统
完整代码:https://download.csdn.net/download/weixin_55771290/87471350概述这里简单说明一下项目下下来直接跑起的方法。前提先搞好python环境和vue环境,保证你有一个账户密码连上数据库mysql。1、pip install requirements.txt 安装python包2、修改mysql数据库的…...
![](https://img-blog.csdnimg.cn/74b26d4ff2734ada97cf3ed04dfb911a.png)
【C++】IO流
🌈欢迎来到C专栏~~IO流 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤…...
![](https://img-community.csdnimg.cn/avatar/fcc8fa9f87404652beb9e08a0ac9652d.png?x-oss-process=image/resize,m_fixed,h_88,w_88)
【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练
【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练 【论文原文】:CLEVE: Contrastive Pre-training for Event Extraction 【作者信息】:Wang, Ziqi and Wang, Xiaozhi and Han, Xu and Lin, Yankai and Hou, Lei and Liu, Zhiyuan and Li, Peng and …...
![](https://img-blog.csdnimg.cn/aac15518b0de432fa31f67eb00e926aa.jpeg#pic_center)
《自动驾驶规划入门》专栏结语
一、 源起 2021年10月12日,化学工业出版社的金编辑根据博客中留下的微信号联系上我,问我有没有出书的想法。从小到大,书与文字在我心里是有着神圣地位的。我在“想试试”与“害怕做不好”这两种矛盾的心情中,还是先应了下来。签了…...
![](https://img-blog.csdnimg.cn/c3ce1a23bb714548802ea75ca74681fe.png)
【数据结构与算法】2.八大经典排序
文章目录简介1.分析排序算法2.插入排序2.1.直接插入排序2.2.希尔排序3.选择排序3.1.直接选择排序3.2.堆排序3.2.1.堆的数据结构3.2.2.算法实现4.交换排序4.1.冒泡排序4.2.快速排序5.归并排序6.基数排序7.八大排序算法总结简介 排序对于任何一个程序员来说,可能都不会…...
![](https://img-blog.csdnimg.cn/710c49fe4b2d435b9701e5bf9c7dfc1d.png)
Windows 免安装版mysql,快速配置教程
简单步骤 下载并解压mysql压缩包,把 “<mysql根目录>/bin” 路径添加到系统环境变量path中命令行执行 mysqld --initialize --console,初始化data目录(数据库表文件默认存放在" <mysql安装根目录>/data "目录下&#…...
![](https://img-blog.csdnimg.cn/img_convert/1dbee500d915d0230d88d74a8f2e015f.gif)
空间误差分析:统一的应用导向处理(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
![](https://img-blog.csdnimg.cn/a48ef8609a1f43e9aeb692e24ef83ab0.png#pic_center)
【C++】引用、内联函数、auto关键字、范围for、nullptr
引用什么叫引用引用的特性常引用使用场景传值、传引用效率比较引用和指针的区别内联函数auto关键字(C11)基于范围的for循环(C11)指针空值nullptr(C11)引用 什么叫引用 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内…...
![](https://img-blog.csdnimg.cn/eff1f640038f49c1a0dd6cdef6927a2f.jpeg#pic_center)
pytest数据驱动
文章目录一、数据驱动概念二、数据驱动yaml1、yaml的基本语法:2、yaml支持的数据格式:3、安装4、使用5、读取方法a、目录结构b、yaml文件c、测试方法d、测试用例e、测试结果三、数据驱动excel1、安装导入2、操作3、读取方法a、目录结构b、excel文件c、测…...
![](https://img-blog.csdnimg.cn/d5b0857e1cb74c5dbd8373fefb42def4.png)
OSI七层网络模型
应用层 定义了各种应用协议规范数据格式:HTTP协议、HTTPS协议、FTP协议、DNS协议、TFTP、SMTP等等。 表示层 翻译工作。提供一种公共语言、通信。 会话层 1、可以从校验点继续恢复数据进行重传。——大文件 2、自动收发,自动寻址的功能。 传输层 1、…...
![](https://img-blog.csdnimg.cn/img_convert/bcda52940cc9314c2ee83180b459f743.webp?x-oss-process=image/format,png)
易基因|MeRIP-seq揭示m6A RNA甲基化通过调控组蛋白泛素化来促进癌症生长和进展:Cancer Res
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2022年05月16日,《Cancer Res》杂志发表了题为“M6A RNA Methylation Regulates Histone Ubiquitination to Support Cancer Growth and Progression”的研究论文,该…...
![](https://www.ngui.cc/images/no-images.jpg)
Java 日期处理踩过的坑
前言 整理Java日期处理遇到过的问题,希望对大家有帮助 制作不易,一键三连,谢谢大家。 1.用 Calendar 设置时间的坑 反例: //提供者模式获取实例Calendar calendar Calendar.getInstance();//获取当前时间Date currentDate c…...
![](https://img-blog.csdnimg.cn/e15b88a853574cf790eab90d2fca6520.gif#pic_center)
一文吃透 Spring 中的IOC和DI(二)
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
![](https://img-blog.csdnimg.cn/img_convert/1a25aa782b666de2964550ebfbbc7594.png)
【期末指北】嵌入式系统——选择题(feat. ChatGPT)
作者|Rickyの水果摊 时间|2023年2月20日 基本信息 ☘️ 本博客摘录了一些 嵌入式系统 的 常见选择题,供有需求的同学们学习使用。 部分答案解析由 ChatGPT 生成,博主进行审核。 使用教材信息:《嵌入式系统设计与应…...
![](https://img-blog.csdnimg.cn/img_convert/00051c589ac826e7cd306bf26fc3cf45.png#pic_center)
MyBatis-Plus——代码生成器(3.5.1+版本)
文章目录配置数据源配置(DataSource)全局配置(GlobalConfig)包配置(PackageConfig)策略配置(StrategyConfig)模板引擎配置(TemplateEngine)代码生成器测试样例…...
![](https://img-blog.csdnimg.cn/img_convert/d39a93be99620fc0b98329d39a2b9570.jpeg)
宁盾上榜第五版《CCSIP 2022 中国网络安全行业全景册》
2月1日,国内网络安全行业媒体Freebuf咨询正式发布《CCSIP(China Cyber Security Panorama)2022 中国网络安全行业全景册》第五版。宁盾作为国产身份安全厂商入驻身份识别和访问管理(SSO、OTP、IDaaS)及边界访问控制&am…...
![](https://img-blog.csdnimg.cn/9b347613c5b54eb1ab026f02776e1b47.png)
【Linux系统】第七篇:Linux调试器gdb的使用
文章目录一、gdb简介二、gdb的安装三、gdb使用3.1、release和debug版本3.2、gdb基本使用命令1、启动gdb2、调试命令3、显示代码(list)4、断点命令(breakpoint)5 、变量命令(variable)6、特殊调试命令7、调用…...
![](https://www.ngui.cc/images/no-images.jpg)
Shell 特殊变量及其含义
shell是我们在linux下编写自动执行程序的常见脚本工具,通常会涉及到以下几个特殊变量,它们分别是:$#、$*、$、$?、$$。 变量含义$0当前脚本的文件名。$n(n≥1)传递给脚本或函数的参数。n 是一个数字,表示…...
![](https://www.ngui.cc/images/no-images.jpg)
LeetCode 2396. 严格回文的数字
如果一个整数 n 在 b 进制下(b 为 2 到 n - 2 之间的所有整数)对应的字符串 全部 都是 回文的 ,那么我们称这个数 n 是 严格回文 的。 给你一个整数 n ,如果 n 是 严格回文 的,请返回 true ,否则返回 fals…...
![](https://www.ngui.cc/images/no-images.jpg)
【RocketMQ】源码详解:Broker启动流程
Broker启动 入口: org.apache.rocketmq.broker.BrokerStartup#main broker的启动主要分为两部分:1.创建brokerController 2.启动brokerController。与平时进行业务开发时不同的是,这里的BrokerController相当于Broker的一个中央控制器类&…...
![](https://www.ngui.cc/images/no-images.jpg)
vue事件
1. 事件传参 <button click"clickEvt($event, 22)">点我</button>2. 事件修饰符 prevent:阻止默认事件stop:阻止事件冒泡(加到子元素)once:事件只触发一次capture:使用事件的捕获模…...
![](https://img-blog.csdnimg.cn/img_convert/d9170e1401299bd00c2459253ffcddf5.png)
研报精选230220
目录 【行业230220国信证券】银行业行业专题:经济复苏中的优质中小银行【行业230220国信证券】汽车行业周报(2023年第7周):吉利将发布新品牌“银河” ,2022年宇通纯电动客车获欧洲销量冠军【行业230220开源证券】商贸零…...
![](https://www.ngui.cc/images/no-images.jpg)
kubernetes sd configs配置详解
1.基于Kubernetes的服务发现 kubernetes_sd_config 这个是以角色(role)来定义收集的,Kubernetes SD配置允许从Kubernetes的RESTAPI中检索scrape目标,并始终与群集状态保持同步。 凡<role>必须是endpoints,service,pod&…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux查看文件的命令
目录 1、tail 2、head 3、cat 4、more 5、sed 6、less Linux查看日志的命令有多种: tail、cat、tac、head、echo等,本文只介绍几种常用的方法。 1、tail 命令格式: tail[必要参数][选择参数][文件] -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信…...
![](/images/no-images.jpg)
网站动图banner怎么做/如何优化网络环境
一、H3C 交换机密码配置一、CONSOLE口登陆在AUX用户接口视图下,可以设置CONSOLE用户登陆的口令认证。有如下三种认证方式None:不需要口令认证Password:需要简单的本地口令认证,包含明文(simple)和密文(cipher)Scheme&a…...
![](/images/no-images.jpg)
南通网站建设找哪家好/抖音优化公司
author :skatetime: 2009/02/21 最近在两台数据库的同步的时侯,经常遇到如下的错误,下面是对这个问题解决总结: ORA-02085 错误解决2008-12-04 13:30程序报错: ORA-02085: database link WD2YT_ERATING.LK connects to ESUITE.N…...
![](/images/no-images.jpg)
锦州网站建设更好/百度推广注册
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />美国思科公司(Cisco System Inc.)可谓无人不知,无人不晓。凭借它的IOS(Internet Operating System),Cisco公…...
![](https://img-blog.csdnimg.cn/img_convert/221b12285b69230c0590f9570ed10c31.png)
常州网站制作czyzj/能打开任何网站浏览器
1. Python时间类型简介 Python中常用的时间表示方法有以下几种: 时间戳格式化的时间字符串time模块的time.struct_time类datetime模块的datetime类 其中 时间戳(imestamp) 又称为Unix时间、POSIX时间。它表示从格林尼治时间1970年1月1日0时…...
![](/images/no-images.jpg)
山东网站建设报价/长春seo网站管理
在js、jquery中存在这大量的对象遍历,但是存在条件判断时传统的 break和continue 不一定能够使用。 在jQuery的 $.(selected).each({ }); 、$.each() 和 js的 obj.forEach函数体内不能使用break和continue。 所以代替方案就是在判断条件中使用 return true; 代替 c…...
![](https://img-blog.csdnimg.cn/img_convert/29517c21a7d6cee34a59b2647a64b892.gif)
可以免费做推广的网站/百度app下载安装普通下载
XD中的图层面板Adobe XD里画出来的每一个元素都是一个独立的图层,和PS一样可以通过快捷键CtrlG键进行自由组合,也可以通过CtrlShiftG取消组合。单击工具栏中的“图层”工具,或者按CtrlY键打开和关闭图层面板。在未选择任何对象的情况下&#…...