畸形报文攻击(1)

article/2025/9/19 12:34:42

畸形报文攻击(1)


0x01 写在前面

最近在工作之余,都在看CTF东西,然后和朋友们玩狼人杀玩到昏天黑地,差点忘记要把对畸形报文攻击的研究记录下来,这篇文章的内容是畸形报文攻击中的smurf攻击,land攻击,Fraggle攻击,WinNuke攻击。当然还有其他的teardrop攻击,IP的路由记录选项控制报文等,这里就不写太多,不然篇幅太长。

0X02 攻击原理介绍

sumrf攻击

smurf攻击也称为ICMP放大攻击,这种攻击是利用广播数据包的特性来进行攻击,黑客会模仿受害者主机在网络中发送目的地址是广播地址的ICMP数据包,这里的广播地址是192.168.4.255,那么当网关接收到这个数据包时,会转发给所有当前网络下面的用户,然后所有的用户会向受害者发送ICMP数据包
在这里插入图片描述

危害

sumrf攻击会造成该网络的所有主机都对ICMP数据包向受害者进行回复,导致网络阻塞,这种比普通的ping 高出好几个数量级,
更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃。类似于攻击的放大器。

land攻击

LAND攻击方式采用了特别构造的TCP SYN数据包(通常用于开启一个新的连接),使目标机器开启一个源地址与目标地址均为自身IP地址的空连接,持续地自我应答,消耗系统资源直至崩溃。这种攻击方法与SYN洪泛攻击并不相同。

危害

LAND 攻击会使受害者不断的自我应答,消耗系统资源直到崩溃。

Fraggle攻击

攻击者可以向攻击目标所在的网络发送UDP报文,报文的源地址为被攻击主机的地址,目的地址为被攻击主机所在子网的广播地址或子网网络地址,目的端口号为7或19。子网中启用了此功能的每个系统都会向被攻击主机发送回应报文,从而产生大量的流量,占满带宽,导致受害网络的阻塞或受害主机的崩溃

危害

Fraggle攻击类似于sumrf攻击,会占用带宽,造成网络阻塞。

WinNuke攻击

winnuke是利用NetBIOS协议中一个OOB(OutofBand)的漏洞,也就是所谓的带外数据漏洞而进行的,它的原理是通过TCP/IP协议传递一个Urgent紧急数据包到计算机的137、138或139端口,当win95/NT收到这个数据包之后就会瞬间死机或蓝屏,不重新启动计算机就无法继续使用TCP/IP协议来访问网络

危害

低版本的操作系统win95/NT ,收到这种数据包之后,会瞬间死机或蓝屏,必须重新启动计算机。

0X03 攻击测试

准备: 一台kali虚拟机(攻击者),一台ubuntu 虚拟机(受害者)
工具: hping3

sumrf攻击

攻击者:
在这里插入图片描述
受害者:
在这里插入图片描述
攻击者发送sumrf攻击数据包,将数据包发送到受害者网络中

hping3 --icmp 192.168.146.255  -a 192.168.146.128 --flood
将目的地址设为广播地址
将发送地址设为受害者地址  -a  数据包发送方地址

在这里插入图片描述
Ubuntu 抓包分析
从如下抓包可知,攻击者模仿受害者想广播地址发送icmp数据包。受害者自身并没有发送icmp 数据包,
sumrf 攻击发生后,其他的设备对受害者产生icmp reply 回应数据包,当数据包达到一定数量级,将会产生网络阻塞的影响。
在这里插入图片描述

land攻击

kali攻击
land攻击就是利用自我应答的特性,对受害者发送自我应答的数据包

hping3 192.168.146.128 -p 22 -n -S -a 192.168.146.128 --flood
-p 端口    -n  静默模式  -S 发送SYN 
这里只需要将数据包的源地址和目的地址是同一个地址即可

在这里插入图片描述
Ubuntu 抓包分析,通过wireshark 抓包查看,可以看到自己给自己一直发送tcp syn数据包。
在这里插入图片描述

Fraggle攻击

kali 攻击
Fraggle攻击利用udp端口中7,19不常用的特性,另一方仿造受害者向广播地址发送udp报文。

hping3 192.168.146.255 -a 192.168.146.128 -s 7 -p 19 --flood
-s 目标端口
-p 发送端口

在这里插入图片描述
Ubuntu 抓包分析,通过wireshark查看,是不是发现和sumrf攻击都很类似,只不过一个是udp协议包,一个是icmp协议的包,并且都是向广播地址。
在这里插入图片描述

WinNuke攻击

kali攻击
通过这个攻击,可以充分利用Urgent紧急协议数据包发送到计算即的137端口。

hping3 -p 137 -U 192.168.146.128

在这里插入图片描述

0X03 如何防护

1.利用防火墙对不同的攻击进行过滤,利用防火墙相关的规则,对相关的数据包进行阻截。
2.也可以利用snort IPS 对这几种攻击进行阻断
LAND攻击snort检测规则
在这里插入图片描述
Fraggle攻击snort检测规则
在这里插入图片描述
WinNuke攻击snort检测规则 在这里插入图片描述

0X04 总结

本文讲述了四种畸形报文攻击(smurf攻击、land攻击、fraggle攻击、winnuke攻击), 每种攻击都有各自的特色,针对这些攻击,再学习一些协议的过程中,可以帮助大家了解这些攻击的特性。

种一棵树最好的时间是十年前和现在,愿不负韶华


http://chatgpt.dhexx.cn/article/mtkRpqVy.shtml

相关文章

单包攻击防御

单包攻击防御 目录 单包攻击防御 畸形报文攻击防御 1.smurf攻击 处理方式 2.Land攻击 处理方式 3.Fraggle攻击 处理方式 IP分片报文攻击 (IP Fragment攻击) 定义: 处理方式 Ping of Death攻击 定义 处理方式 TCP报文标志位攻…

【计算机网络原理·实验·第八章】SYN攻击Land攻击

SYN攻击和land攻击,使用 虚拟机环境测试。 SYN攻击:发送端发送数据时截获该数据包,然后篡改发送端的源IP地址并发给服务器,服务器会返回给错误的IP地址确认数据包,而收到确认数据包计算机会忽略该请求,然而…

着陆攻击LAND Attack

2019独角兽企业重金招聘Python工程师标准>>> 着陆攻击LAND Attack 着陆攻击LAND Attack也是一种拒绝服务攻击DOS。LAND是Local Area Network Denial的缩写,意思是局域网拒绝服务攻击,翻译为着陆攻击只是一种错误的理解。攻击原理为&#xff0…

浅析GC-垃圾回收

前置知识 CLR:公共语言运行时 CLR(Common Language Runtime):CLR的核心功能包括内存管理,程序集加载,类型安全,异常处理和线程同步,而且还负责对代码实施严格的类型安全检查&#…

【JVM】垃圾回收机制详解(GC)

目录 一.GC的作用区域二.关于对象是否可回收1.可达性分析算法和引用计数算法2.四种引用类型 三.垃圾收集算法1.标记-清除算法2.复制算法3.标记-整理算法4.分代收集算法 四.轻GC(Minor GC)和重GC(Full GC) 一.GC的作用区域 可以看jvm详解之后,再来理解这篇文章更好 …

垃圾回收机制的各种疑问

目录 jvm的内存模型中,运行时数据区分为哪几个部分?JVM如何判断一个对象所占内存是可以被回收的?什么是年轻代?方法区和永久带的联系是什么?为什么要分年轻代和老年代?为什么新生代和老年代要采用不同的回收…

垃圾回收(GC) 很干,很全

说一下垃圾回收机制 垃圾回收主要针对的是JVM的堆内存,我讲一下我了解的hotspot实现的jvm, 分为新生代和老年代,按照以前的说法,还有一个永久代,永久代在方法区里(物理上跟老年代相连),保存了class信息,静态变量,常量池等, jdk1.8之后,方法区实现发生了变化,取消了永久代的概念…

浅谈垃圾回收机制

目录 前言: 1.标记清除(主要) 2.引用计数(次要) 3.一些注意的点 前言: JavaScript的垃圾回收机制是为了防止内存泄漏的,所谓的内存泄漏是指当已经不需要某块内存时这块内存还存在着&#xff…

通过图文给你讲明白java GC的垃圾回收机制

本文原链接 http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html 1. JAVA GC 概述 JAVA GC采用了分代思想,将java堆分成新生代,年老代,永久代。GC算法主要有标记-清除,标记-压缩,复制算法。 新生代…

jvm垃圾回收是什么时候触发的? 垃圾回收算法? 都有哪些垃圾回收器

1.1。那究竟GC为我们做了什么操作呢? 1 ,哪些内存需要回收? 2 ,什么时候回收? 3 ,如何回收? 这时候有人就会疑惑了,既然GC 已经为我们解决了这个矛盾,我们还需…

Java回收垃圾的基本过程与常用算法

目录 一、基本概述 二、垃圾分类 基本背景 举例说明各种引用类型的作用 强引用(Strong Reference) 软引用(Soft Reference) 弱引用(Weak Reference) 虚引用(Phantom Reference&#xff…

java面试-GC垃圾回收机制

原理: GC是垃圾收集的意思(Garbage Collection),Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。 简而言之,GC是将java的无用的堆对象进行清理,释放内存,以免发生内存泄露。…

JVM垃圾回收算法、GC和分代回收、三色标记并发漏标、垃圾回收器

一.标记清除 标记速度与存活对象线性关系 清除速度与内存大小线性关系 标记清除法分为标记阶段和清除阶段,标记阶段首先找到一些GC Root对象(根对象),根对象是那些一定不能被回收的对象。清除阶段比较简单,加标记的对…

垃圾回收的主要区域是堆,那方法区会回收吗?

有些人认为方法区(如HotSpot虚拟机中的元空间或者永久代)是没有垃圾收集行为的,《Java虚拟机规范》中提到过可以不要求虚拟机在方法区中实现垃圾收集,事实上也确实有未实现或未能完整实现方法区类型卸载的收集器存在(如…

GC(垃圾回收)详解

JVM 1.年轻代:年轻代主要存放新创建的对象,垃圾回收会比较频繁。(稍微讲细一点就是即可,年轻代分成Eden Space和Suvivor Space。当对象在堆创建时,将进入年轻代的Eden Space。垃圾回收器进行垃圾回收时,扫描Eden Spac…

java---垃圾回收算法(GC)

目录 一、如何判断一个对象是否存活 1.引用计数法 2.可达性分析法 二、垃圾回收算法 1.标记清除法 2.复制算法 3.标记整理法 4.分代算法 具体流程 注意事项 空间分配担保原则 总结 一、如何判断一个对象是否存活 Java 堆中存放着几乎所有的对象实例,垃圾…

Java - GC 垃圾回收

JVM中一个垃圾回收线程,它的优先级较低,正常情况下不会执行。JVM空闲或者当前内存不足时,才会触发垃圾回收线程执行,扫描内没有被引用的对象,将这些对象添加到要回收的集合中进行回收。 GC介绍 Garbage Collection 垃圾收集,监测对象是否可…

GC是如何判断一个对象为垃圾的?被GC判断为垃圾的对象一定会被回收吗?

一.GC如何判断一个对象为”垃圾”的 java堆内存中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。那么GC具体通过什么手段来判断一个对象已经”死去”的? 1.引用计数算法(…

基于28181协议的视频与平台的对接

问题描述 将IPC摄像头接入平台进行观看,或使用28181/rtsp/rtmp/flv等协议将视频流分发到其他平台。 解决方案 WVP-PRO(基于GB/T 28181-2016标准实现的流媒体平台),依托优秀的开源流媒体服务ZLMediaKit,提供完善丰富…

GB28181协议实现系列之----SDK Demo发布(7)

GB28181在终端的应用越来越广,但是一般很多做终端的厂家要加入到互联互通的GB28181网络协议栈中都必须招聘一些专业做GB28181的开发人员,并且需要对接各厂家的兼容性开发及对接调试工作,或是修改一些定制功能。安防市场一年有千亿以上的产值&…