当前位置: 代码迷 >> 综合 >> SeedLab4: IP/ICMP Attacks Lab
  详细解决方案

SeedLab4: IP/ICMP Attacks Lab

热度:9   发布时间:2023-12-06 12:11:17.0

这个Lab的步骤写得非常清晰了,点赞~

  • IP分片机制 & 攻击
  • ICMP重定向攻击
  • 反向路径过滤 & 保护

Task 1
Task 1A

没啥花样,先抄代码发三个IP分片
在这里插入图片描述

后两个改偏移即可
在这里插入图片描述
最后一个flag要设置为0
在这里插入图片描述

目的主机抓包,可以看到收到一个数据包的全部分片后,就会拼接成完整的UDP数据包啦
在这里插入图片描述

Task 1B

以前课上教过的,IP分片攻击(Teardrop
不过现在系统都优化了,已经比较少了

1

先要求前两个分片部分重叠,这里K=8
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
具体原理就是当 IP 分片的偏移量发生重叠时,系统会计算重叠的字节数 K,并将第 2 个 分片的指针向后移动 K 字节,再将其剩余内容拼接到第 1 个分片之后,即忽略 了第 2 个分片的重叠部分
贴代码:
在这里插入图片描述
抓包也发现B重叠的部分直接被忽略:
在这里插入图片描述

2

然后就直接第二个分片包含在第一个分片里
(这就是Teardrop的原理
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

一样的,第二个分片直接被吞掉
在这里插入图片描述

关于先发1后发2 & 先发2后发1,我试下来妹有什么区别…
因为 IP 协议 中即使 IP 分片乱序到达,也会在缓存中保留而不会丢弃,故拼接后能得到同样 的结果

Task 1C

emm就整个超大包
在这里插入图片描述
注意ip.len和udp.len要随便瞎整一个数,不然长度超过就报错

抓包康康,因为有MTU限制,一共分成了45个片
在这里插入图片描述

Task 1D

一看就是老DoS攻击了
在这里插入图片描述
第二个偏移直接开大点,目的主机接收到第 2 个分片后,会为其分配 64k 的内存缓冲区、启动计时器 并等待其他分片;后续分片到达时,数据被复制到缓冲区中进行拼接。如果在计 时器有效时间内收到大量这类数据包,将很快耗尽主机的内存空间,形成 DoS 攻击
在这里插入图片描述

(然而,现在系统优化了,应该是不会成功的…

Task 2

先乖乖一步步配环境
构造ICMP重定向数据包时,ip的src是网关(伪装成默认网关),dst是victim主机
icml.gw是攻击主机
ip2的src是victim主机,dst是B主机

在这里插入图片描述

抓包康康 大写的Redirect
在这里插入图片描述
检验一下,确实用攻击主机路由了
在这里插入图片描述

Q1

用远程主机(非子网内主机)试试
在这里插入图片描述
当然不行啦,发现不对劲还是变回了默认网关
在这里插入图片描述

Q2

再用子网内不存在的主机试试
在这里插入图片描述

一样的,不对劲还是用默认网关
在这里插入图片描述

Task 3

乖乖跟着配环境~

Task 3B

A里加一条B的路由信息
在这里插入图片描述
B里加一条A的路由信息
在这里插入图片描述

A ping/telnet B能通,没毛病
在这里插入图片描述

B也行
在这里插入图片描述

Task 3B

然后就是反向路径过滤辽

1

spoof同一子网的原地址
在这里插入图片描述
没问题的,主机 A 到主机 B 的路由在 Task 3B 中被设置为 192.168.60.1,而主机 A 的默 认网关也为 192.168.60.1,发向外网地址 10.0.2.6 的数据包将由同一个地址路由, 数据包不会被丢弃

B抓到啦
在这里插入图片描述

R也能抓到(俩网卡都能,一进一出)
在这里插入图片描述
在这里插入图片描述

2

spoof同一子网的原地址
在这里插入图片描述
这就不能够了,主机 A 到主机 B 的路由在 Task 3B 中被设置为 192.168.60.1,而 192.168.60.3 与主机 B 在同一子网,其发送的数据包不会被发送到默认网关,由反向路径过 滤检测出接收和发送数据包的接口不同,数据包会被丢弃

所以B抓不到,R只有进没有转发
在这里插入图片描述

3

spoof外网的原地址
在这里插入图片描述
也没毛病,主机 A 到主机 B 的路由在 Task 3B 中被设置为 192.168.60.1,而主机 A 的默 认网关也为 192.168.60.1,发向外网地址 1.2.3.4 的数据包将由同一个地址路由, 数据包不会被丢弃

B抓得到在这里插入图片描述

R也是俩都能(一进一出)
在这里插入图片描述
在这里插入图片描述


没有大佬可以感谢,就感谢SeedLab教程叭,真的清晰
?.(?▽`)?

参考了一个资料:
https://www.cnblogs.com/rookieDanny/p/13224619.html

  相关解决方案