当前位置: 首页 > news >正文

攻击实验(ARP欺骗、MAC洪范、TCP SYN Flood攻击、DNS欺骗、DHCP饿死)

实验一 ARP欺骗

一、拓扑

二、实验准备、

1.设置终端

漏洞靶机集合

选择需要的数量和镜像

打开设备上的驱动精灵安装网卡

安装成功后查看IP地址、网关信息等。

三、实验步骤

1.实验原理

中间人(攻击者)在终端与网关之间持续发送伪造的 ARP 应答包双向欺骗终端和网关---让终端误认为攻击者是网关,让网关误认为攻击者是终端,从而使两者的通信数据均经攻击者转发(即 “中间人” 角色)。

❓如果我只欺骗网关会发生什么

假设只欺骗网关(告诉网关:“我是受害者,请把数据发给我!”):

  1. 上行流量(受害者 → 网关)

    1. 受害者正常发送数据到网关 ✅

    2. 攻击者无法截获(流量不经过攻击者) ❌

  2. 下行流量(网关 → 受害者)

    1. 网关将本应发给受害者的数据发给攻击者 ✅

    2. 但攻击者无法将数据送回受害者(受害者不认识攻击者的MAC,所以受害者不会接收攻击者发送的数据) ❌

  3. 结果
  • 受害者收不到网关返回的数据(如网页响应)→ 网络中断!
  • 攻击者只能收到单向残破数据(如下行流量),无法完成监听或篡改。

❓如果我只欺骗受害者会发生什么

攻击流程拆解

假设攻击者(192.168.1.100)只向受害者(192.168.1.10)发送欺骗报文:

1. 受害者发出的流量(上行)

  • 受害者访问百度:
    192.168.1.10 → 攻击者MAC(受害者以为攻击者是网关) → 数据包到达攻击者 ✅
    结果:攻击者可监听/篡改受害者发出的所有请求(如 HTTP 登录密码)。

2. 网关返回的流量(下行)

  • 网关处理完请求后,需将百度响应返回给 192.168.1.10
    192.168.1.1 → 受害者真实MAC,网关未被欺骗,直接发给受害者 → 数据包直达受害者 ✅
    结果:攻击者完全收不到下行流量 ❌

结果:网络为何中断

关键问题:TCP 连接断裂

当受害者发出 SYN 请求(如访问网站):

  1. SYN 包被攻击者截获 → 攻击者可选择丢弃或转发给网关

  2. 网关收到 SYN 后回复 SYN-ACK → 直接发给受害者(未经过攻击者)。

  3. 受害者收到 SYN-ACK 后回复 ACK → 再次发给攻击者(因受害者以为攻击者是网关)。

致命矛盾出现

  • 网关在等待 ACK 确认包(受害者已发出,但被攻击者截获)

  • 受害者发出的 ACK 被攻击者拿走 → 网关永远收不到 ACK

  • TCP 三次握手失败 → 连接无法建立 → 受害者无法加载任何网页!


❓为什么网关能收到受害者数据包?

受害者发送数据包中信息:

攻击方收到后动作(关键):

  • 查询 自己的路由表,将真实网关mac地址重新封装!!

2.使用Ettercap工具进行攻击

使用命令ettercap -G打开Ettercap

在Ettercap上绑定一个网口

选择一个网口

 选择完成后界面发生改变

发现局域网中的主机

扫描结果

添加欺骗目标

为了保证被欺骗的主机可以上网执行这一步

kali总是发送这样的应答型无故ARP。

欺骗成功

实验二、MAC洪范攻击

一、实验过程

1.MAC攻击的原理

泛洪攻击即是攻击者利用这种学习机制不断发送不同的MAC地址给交换机,填满整个 MAC表,此时交换机只能进行数据广播,攻击者凭此获得信息。

2.在kali终端上使用命令攻击

macof

3.攻击后交换机

实验三 TCP SYN Flood攻击

1.用hping3攻击

2.防御:

实验四 DNS欺骗 

1.原理

通过篡改 DNS 解析过程中的数据,将用户原本请求的域名指向错误的 IP 地址,从而引导用户访问恶意网站或拦截其网络流量。

2.具体操作步骤

修改/etc /ettercap/etter.dns的配置文件

添加域名与ip映射,表示主机访问任意域名都转化成10.0.0.135

开启apache服务,并测试,进入cd /etc/init.d,开启服务./apache2 start

攻击者的网页

进行ARP欺骗ettercap -G,设置欺骗的对象

双击dns_spoof,打开插件

在被欺骗主机上ping baidu.com发现是攻击者ip

访问网页发现是攻击者设置的网页

实验五 DHCP饿死

一、实验原理

由于DHCP没有什么验证机制,任何一发送过来的DHCP请求都可以请求到地址。那么就可以伪造大量的DHCP Discover报文。使得DHCP服务器的地址耗尽,不能正常工作。

二、实验过程

步骤一:打开工具yersinia -G

步骤二:使用dhcp模块,发起dhco discover报文。

http://www.xdnf.cn/news/1277479.html

相关文章:

  • Doubletrouble靶机练习
  • Leaflet地图高亮与编辑功能实现
  • Jmeter性能测试之检测服务器CPU/Memory/磁盘IO/网络IO
  • 深度学习-卷积神经网络-AlexNet
  • 【走进Docker的世界】Docker环境搭建
  • 震动马达实现库函数版(STC8)
  • 机器学习——多元线性回归
  • C++移动语义、完美转发及编译器优化零拷贝
  • [创业之路-541]:经营分析会 - 企业的经营分析会,研发负责人负责提供哪些信息?
  • 【RocketMQ 生产者和消费者】- ConsumeMessageOrderlyService 顺序消费消息
  • 不同于传统的简并模分离圆极化天线,基于耦合谐振器的圆极化天线的原理是什么?
  • 如何通过API接口实现批量获取淘宝商品数据?(官方与非官方渠道分享)
  • 代码随想录算法训练营第六十天|图论part10
  • Java 基础编程案例:从输入交互到逻辑处理
  • ATF(TF-A)安全通告 TFV-12(CVE-2024-5660)
  • JDBC的连接过程(超详细)
  • 机器学习——标准化、归一化
  • 从零开始理解百度语音识别API的Python实现
  • nginx 反向代理传递原始域名
  • 前端开发中的常见问题与实战解决方案​
  • PostgreSQL 批量COPY导入优化参数配置
  • GC如何判断对象可以被回收?
  • SpringAI报错:com.github.victools.jsonschema.generator.AnnotationHelper
  • 《设计模式》UML类图
  • Java集合框架、Collection体系的单列集合
  • Elasticsearch QueryDSL 教程
  • Android APK 使用OpenGl 绘制三角形源码
  • Spring Boot 全局异常处理与日志监控实战
  • 智能体革命:网络安全人的角色重塑与突围指南
  • 井字游戏的强化学习