常见网络攻击方法及原理_第1页
常见网络攻击方法及原理_第2页
常见网络攻击方法及原理_第3页
常见网络攻击方法及原理_第4页
常见网络攻击方法及原理_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11TCPSYN拒绝服务攻击

一般情况下,一个TCP连接的建立需要经过三次握手的过程,即:

1、建立发起者向目标计算机发送一个TCPSYN报文;

2、目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(曲),然后

向发起者回送一个TCPACK报文,等待发起者的回应;

3、发起者收到TCPACK报文后,再回应一个ACK报文,这详TCP连接就建立起来

了。

利用这个过程,一些恶意的攻击者可以进行所谓的TCPSYN拒绝服务攻击:

1、攻击者向目标计算机发送一个TCPSYN报文;

2、目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,

等待发起者的回应;

3、而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状

可以看出,目标计算机如果接收到大量的TCPSYN报文,而没有收到发起者的第三次

ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源

(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求.

121cMp洪水

正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响

应请求报文(ICMPECHO)才妾收计算机接收到ICMPECHO后,会回应一个ICMPECHO

Reply报文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如

处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMPECHO报文(产生ICMP

洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,

这也是一种拒绝服务攻击(DOS\

13UDP洪水

原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标

计算机忙于处理这些UDP报文而无法继续处理正常的报文。

14端口扫描

根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCPSYN)的

时候,做这样的处理:

L如果请求的TCP端口是开放的,则回应一个TCPACK报文,并建立TCP连接控

制结构(TCB);

2、如果请求的TCP端口没有开放,则回应一个TCPRST(TCP头部中的RST标志

设为1)报文,告诉发起计算机,该端口没有开放6

相应地,如果IP协议栈收到一个UDP报文,做如下处理:

L如果该报文的目标端口开放,则把该UDP报文送上层协议(UDP)处理,不回

应任何报文(上层协议根据处理结果而回应的报文例外);

2、如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,告诉

发起者计算机该UDP报文的端口不可达.

利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP

或UDP端口是开放的,过程如下;

L发出端口号从0开始依次涕增的TCPSYN或UDP报文(端口号是一个16比特

的数字,这样最大为65535,数量很有限);

2、如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可

这报文,则说明这个端口没有开放;

3、相反,如果收到了针对这个TCPSYN报文的ACK报文,或者没有接收到任何针

对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有

的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放I

这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然

后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。

15分片IP报文攻击

为了传送一个大的IP报文,】P协议栈需要根据链路接口的MTU对该IP报文进行分

片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报

文组装起来。

目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等

待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构.如果

攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机

便会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗

掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。

16SYN比特和FIN比特同时设置

在TCP报文的报头中,有几个标志字段:

1、SYN:连接建立标志,TCPSYN报文就是把这个标志设置为1,来请求建立连接;

2、ACK:回应标志,在TTCP连接中,除了第一个报文(TCPSYN)外,所有报

文都设置该字段,作为对上一个报文的相应;

3、FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,会拆

除这个TCP连接;

4、RST:复位标志,当IPt办议栈接收到一个目标端口不存在的TCP报文的时候,会

回应一个RST标志设置的报文;

5、PSH:通知协议栈尽快把TCP数据提交给上层程序处理$

正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)是不能同时出

现在一个TCP报文中的。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,

各个操作系统的协议栈在收到这样的报文后的处理方式也不同,攻击者就可以利用这个特

征,通过发送SYN和FIN同时设置的报文,来判断操作系统的类型,然后针对该操作系统,

进行进一步的攻击。

17没有设置任何标志的TCP报文攻击

正常情况下,任何TCP报文都会设置SYN,FIN,ACK,RST,PSH五个标志中的至

少一个标志,第一个TCP报文(TCP连接请求报文)设置SYN标志,后续报文都设置ACK

标志。有的协议栈基于这样的假设,没有针对不设置任何标志的TCP报文的处理过程,因

此,这样的协议栈如果收到了这样的报文,可能会崩溃。攻击者利用了这个特点,对目标

计算机进行攻击。

18设置了FIN标志却没有设置ACK标志的TCP报文攻击

正常情况下,ACK标志在除了第一个报文(SYN报文)外,所有的报文都设置,包括

TCP连接拆除报文(FIN标志设置的报文\但有的攻击者却可能向目标计算机发送设置了

FIN标志却没有设置ACK标志的TCP报文,这样可能导致目标计算机崩溃©

19死亡之PING

TCP/IP规范要求IP报文的长度在一定范围内(比如,0・64K),但有的攻击计算机

可能向目标计算机发出大于64K长度的PING报文,导致目标计算机IP协议栈崩溃。

no地址猜测攻击

跟端口扫描攻击类似,攻击者通过发送目标地址变化的大量的ICMPECHO报文,来

判断目标计算机是否存在。如果收到了对应的ECMPECHOREPLY报文,则说明目标计算

机是存在的,便可以针对该计算机进行下一步的攻击。

in泪滴攻击

对于一些大的IP包,需要对其进行分片传送,这是为了迎合链路层的MTU(最大传

输单元)的要求。比如,一个4500字节的IP包,在MTU为1500的链路上传输的时候,

就需要分成三个IP包。

在IP报头中有一个偏移字段和一个分片标志(MF),如果MF标志设置为1,则表面

这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个IP包中的位置。

例如,对一个4500字节的IP包进行分片(MTU为1500),则三个片断中偏移字段

的值依次为:0,1500,3000.这样接收端就可以根据这些信息成功的组装该IP包,

如果一个攻击者打破这种正常情况,把偏移字段设置成不正确的值,即可能出现重合

或断开的情况,就可能导致目标操作系统崩溃。比如,把上述偏移设置为0,1300,3000。

这就是所谓的泪滴攻击。

112带源路由选项的IP报文

为了实现一些附加功能』P协议规范在IP报头中增加了选项字段,这个字段可以有选

择的携带一些数据,以指明中间设备(路由器)或最终目标计算机对这些IP报文进行额外

的处理。

源路由选项便是其中一个,从名字中就可以看出,源路由选项的目的,是指导中间设

管(路由器)如何转发该数据报文的,即明确指明了报文的传输路径。比如,让一个IP报

文明确的经过三台路由器RI,R2,R3,则可以在源路由选项中明确指明这三个路由器的

接口地址,这样不论三台路由器上的路由表如何,这个IP报文就会依次经过R1,R2,R3。

而且这些带源路由选项的IP报文在传输的过程中,其源地址不断改变,目标地址也不断改

变,因此,通过合适的设置源路由选项,攻击者便可以伪造一些合法的IP地址,而蒙混进

入网络。

113带记录路由选项的IP报文

记录路由选项也是一个IP选项,携带了该选项的IP报文,每经过一台路由器,该路

日器便把自己的接口地址填在选项字段里面。这样这些报文在到达目的地的时候,选项数

据里面便记录了该报文经过的整个路径。

通过这样的报文可以很容易的判断该报文经过的路径,从而使攻击者可以很容易的寻

找其中的攻击弱点6

114未知协议字段的IP报文

在1P报文头中,有一个协议字段,这个字段指明了该IP报文承载了何种协议,比如,

如果该字段值为L则表明该IP报文承载了ICMP报文,如果为6,则是TCP,等等。目

前情况下,已经分配的该字段的值都是小于100的,因此,一个带大于100的协议字段的

IP报文,可能就是不合法的,这样的报文可能对一些计算机操作系统的协议栈进行破坏。

115IP地址欺骗

一般情况下,路由器在转发报文的时候,只根据报文的目的地址查路由表,而不管报

文的源地址是什么,因此,这样就可能面临一种危险:如果一个攻击者向一台目标计算机

发出一个报文,而把报文的源地址填写为第三方的一个IP地址,这样这个报文在到达目标

计算机后,目标计算机便可能向毫无知觉的第三方计算机回应。这便是所谓的IP地址欺骗

攻击。

比较著名的SQLServer蠕虫病毒,就是采用了这种原理。该病毒(可以理解为一个

攻击者)向一台运行SQLServer解析服务的服务器发送一个解析服务的UDP报文,该报

文的源地址填写为另外一台运行SQLServer解析程序(SQLServer2000以后版本)的

服务器,这样由于SQLServer解析服务的一个漏洞,就可能使得该UDP报文在这两台服

务器之间往复,最终导致服务器或网络瘫痪。

116WinNuke攻击

NetBIOS作为一种基本的网络资源访问接口,广泛的应用于文件共享,打印共享,进

程间通信(IPC),以及不同操作系统之间的数据交换。一般情况下,NetBIOS是运行在LLC2

链路协议之上的是一种基于组播的网络访问接口。为了在TCP/IP协议栈上实现NetBIOS,

RFC规定了一系列交互标准,以及几个常用的TCP/UDP端口:

139:NetBIOS颔服务的TCP端口;

1371NetBIOS名字服务的UDP端口;

136:NetBIOS数据报服务的UDP端口.

WINDOWS操作系统的早期版本(WIN95/98/NT)的网络服务(文件共享等)都是

建立在NetBIOS之上的,因此,这些操作系统都开放了139端口(最新版本的WINDOWS

2000/XP/2003等,为了兼容,戚现了NetBIOSoverTCP/IP功能,开放了139端口I

WinNuke攻击就是利用了WINDOWS操作系统的一个漏洞,向这个139端口发送

一些携带TCP带外(00B)数据报文,但这些攻击报文与正常携带00B数据报文不同的

是,其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS操作系统在处理

这些数据的时候,就会崩溃。

117Land攻击

LAND攻击利用了TCP连接建立的三次握手过程,通过向一个目标计算机发送一个

TCPSYN报文(连接建立请求报文)而完成对目标计算机的攻击。与正常的TCPSYN报

文不同的是,LAND攻击报文的源IP地址和目的IP地址是相同的,都是目标计算机的IP

地址。这样目标计算机接收到这个SYN报文后,就会向该报文的源地址发送一个ACK报

文,并建立一个TCP连接控制结构(TCB),而该报文的源地址就是自己,因此,这个ACK

报文就发给了自己.这样如果攻击者发送了足够多的SYN报文,则目标计算机的TCB可

能会耗尽,最终不能正常服务6这也是一种DOS攻击6

118Script/ActiveX攻击

Script是一种可执行的脚本,它一般由一些脚本语言写成,比如常见的JAVASCRIPT,

VBSCRIPT等。这些脚本在执行的时候,需要一个专门的解释器来翻译,翻译成计算机指

令后,在本地计算机上运行。这种脚本的好处是,可以通过少量睡序写作,而完成大量

的功能

这种SCRIPT的一个重要应用就是嵌入在WEB页面里面,执行一些静态WEB页面标

记语言(HTML)无法完成的功能,比如本地计算,数据库查询和修改,以及系统信息的

提取等。这些脚本在带来方便和强大功能的同时,也为攻击者提供了方便的攻击途径.如

昊攻击者写一些对系统有破坏的SCRIPT,然后嵌入在WEB页面中,一旦这些页面被下载

到本地,计算机便以当前用户的权限执行这些脚本,这样,当前用户所具有的任何权限,

SCRIPT都可以使用,可以想象这些恶意的SCRIPT的破坏程度有多强。这就是所谓的

SCRIPT攻击。

ActiveX是一种控件对象,它是建立在MICROSOFT的组件对象模型(COM)之上

的,而COM则几乎是Windows操作系统的基础结构e可以简单的理解,这些控件对象

是由方法和属性构成的,方法即一些操作,而属性则是一些特定的数据这种控件对象可

以被应用程序加载,然后访问其中的方法或属性,以完成一些特定的功能。可以说,COM

提供了一种二进制的兼容模型(所渭二进制兼容,指的是程序模块与调用的编译环境,甚

至操作系统没有关系1但需要注意的是,这种对象控件不能自己执行,因为它没有自己的

进程空间,而只能由其它进程加载,并调用其中的方法和属性,这时候,这些控件便在加

载进程的进程空间运行,类似与操作系统的可加载模块,比如DLL库。

ActiveX控件可以嵌入在WEB页面里面,当浏览器下载这些页面到本地后,相应地也

下威了嵌入在其中的ActiveX控件,这样这些控件便可以在本地浏览器进程空间中运行

(ActiveX空间没有自己的进程空间,只能由其它进程加载并调用),因此,当前用户的权

限有多大,ActiveX的破坏性便有多大。如果一个恶意的攻击者编写一个含有恶意代码的

ActiveX控件,然后嵌入在WEB页面中,被一个浏览用户下载后执行,其破坏作用是非常

天的。这便是所谓的ActiveX攻击。

119Smurf攻击

ICMPECHO请求包用来对网络进行诊断,当一台计算机接收到这样一个报文后,会

向报文的源地址回应一个ICMPECHOREPLY,一般情况下,计算矶是不检查该ECHO请

求的源地址的,因此,如果一个恶意的攻击者把ECHO的源地址设置为一个广播地址,这

样计算机在恢复R印LY的时候,就会以广播地址为目的地址,这样本地网络上所有的计算

机都必须处理这些广播报文。如果攻击者发送的ECHO请求报文足够多,产生的R印LY

广播报文就可能把整个网络淹没。这就是所渭的smu「f攻击。

除了把ECHO报文的源地址设置为广播地址外,攻击者还可能把源地址设置为一个子

网广播地址,这样,该子网所在的计算机就可能受影响。

120虚拟终端(VTY)耗尽攻击

这是一种针对网络设备的攻击,比如路由器,交换机等。这些网络设备为了便于远程

管理,一般设置了一些TELNET用户界面,即用户可以通过TELNET到该设备上,对这些

设备进行管理,

一般情况下,这些设备的TELNET用户界面个数是有限制的,比如,5个或10个等。

这样,如果一个攻击者同时同一台网络设备建立了5个或10个TELNET连接,这些设备

的远程管理界面便被占尽,这样合法用户如果再对这些设备进行远程管理,则会因为

TELNET连接资源被占用而失败。

121路由协议攻击

网络设备之间为了交换路由信息,常常运行一些动态的路由协议,这些路由协议可以

完成诸如路由表的建立,路由信息的分发等功能。常见的路由协议有RIP,OSPF,IS-IS,

BGP等6这些路由协议在方便路由信息管理和传递的同时,也存在一些缺陷,如果攻击者

利用了路由协议的这些权限,对网络进行攻击,可能造成网络设备路由表紊乱(这足可以

导致网络中断),网络设备资源大量消耗,甚至导致网络设备瘫痪。

下面列举一些常见路由协议的攻击方式及原理:

121.1针对RIP协议的攻击

RIP,即路由信息协议,是通过周期性(一般情况下为30S)的路由更新报文来维护路

日表的,一台运行RIP路由协议的路由器,如果从一个接口上接收到了一个路由更新报文,

它就会分析其中包含的路由信息,并与自己的路由表作出比较,如果该路由器认为这些路

日信息比自己所掌握的要有效,它便把这些路由信息引入自己的路由表中6

这样如果一个攻击者向一台运行RIP协议的路由器发送了人为构造的带破坏性的路由

更新报文,就很容易的把路由器的路由表搞紊乱,从而导致网络中断。

如果运行RIP路由协议的路由器启用了路由更新信息的HMAC验证则可从很大程度

上避免这种攻击。

121.2针对OSPF路由协议的攻击

OSPF,即开放最短路径优先,是一种应用广泛的链路状态路由协议。该路由协议基于

链路状态算法,具有收敛速度快,平稳,杜绝环路等优点,十分适合大型的计算机网络使

用。OSPF路由协议通过建立邻接关系,来交换路由器的本地链路信息,然后形成一个整

网的链路状态数据库,针对该数据库,路由器就可以很容易的计算出路由表。

可以看出,如果一个攻击者冒充一台合法路由器与网络中的一台路由器建立邻接关系,

并向攻击路由器输入大量的链路状态广播(LSA,组成链路状态数据库的数据单元),就会

引导路由器形成错误的网络拓扑结构,从而导致整个网络的路由表紊乱,导致整个网络瘫

痪。

当前版本的WINDOWS操作系统(WIN2K/XP等)都实现了OSPF路由协议功能,

因此一个攻击者可以很容易的利用这些操作系统自带的路由功能模块进行攻击。

跟RIP类似,如果OSPF启用了报文验证功能(HMAC验证),则可以从很大程度上

避免这种攻击.

121.3针对IS-IS路由协议的攻击

1S-IS路由协议,即中间系统到中间系统,是ISO提出来对ISO的CLNS网络服务进

行路由的一种协议,这种协议也是基于链路状态的,原理与OSPF类似。IS-IS路由协议经

过扩展,可以运行在IP网络中,对IP报文进行选路。这种路由协议也是通过建立邻居关

系,收集路由器本地链路状态的手段来完成链路状态数据库同步的°该协议的邻居关系建

立比OSPF简单,而且也省略了OSPF特有的一些特性,使该协议简单明了,伸缩性更强。

对该协议的攻击与OSPF类似,通过一种模拟软件与运行该协议的路由器建立邻居关

系,然后传颂给攻击路由器大量的链路状态数据单元(LSP),可以导致整个网络路由器的

链路状态数据库不一致(因为整个网络中所有路由器的链路状态数据库都需要同步到相同

的状态),从而导致路由表与实际情况不符,致使网络中断。

与OSPF类似,如果运行该路由协议的路由器启用了IS-IS协议单元(PDU)HMAC

验证功能,则可以从很大程度上避免这种攻击,

122针对设备转发表的攻击

为了合理有限的转发数据,网络设备上一般都建立一些寄存器表项,比如MAC地址

表,ARP表,路由表,快速转发表,以及一些基于更多报文头字段的表格,比如多层交换

表,流项目表等.这些表结构都存储在设备本地的内存中,或者芯片的片上内存中,数量

有限。如果一个攻击者通过发送合适的数据报,促使设备建立大量的此类表格,就会使设

各的存储结构消耗尽,从而不能正常的转发数据或崩溃。

下面针对几种常见的表项,介绍其攻击原理:

122.1针对MAC地址表的攻击

MAC地址表一般存在于以太网交换机上,以太网通过分析接收到的数据M的目的

MAC地址,来查本地的MAC地址表,然后作出合适的转发决定。

这些MAC地址表一般是通过学习获取的,交换机在接收到一个数据M后,有一个学

习的过程,该过程是这样的:

a)提取数据帽的源MAC地址和接收到该数据M的端口号;

b)查MAC地址表,看该MAC地址是否存在,以及对应的端口是否符合;

c)如果该MAC地址在本地MAC地址表中不存在,则创建一个MAC地址表项;

d)如果存在,但对应的出端口跟接收到该数据M的端口不符,则更新该表;

e)如果存在,且端口符合,则进行下一步处理。

分析这个过程可以看出,如果一个攻击者向一台交换机发送大量源MAC地址不同的

数据M,则该交换机就可能把自己本地的MAC地址表学满。一旦MAC地址表溢出,则

交换机就不能继续学习正确的MAC表项,结果是可能产生大量的网络冗余数据,甚至可

能使交换机崩溃.而构造一些源MAC地址不同的数据帽,是非常容易的事情.

122.2针对ARP表的攻击

ARP表是IP地址和MAC地址的映射关系表,任何实现了IP协议栈的设备,一般情

况下都通过该表维护IP地址和MAC地址的对应关系,这是为了避免ARP解析而造成的

广播数据报文对网络造成冲击。ARP表的建立一般情况下是通过二个途径:

1、主动解析,如果一台计算机想与另外一台不知道MAC地址的计算机通信,则该

计算机主动发ARP请求通过ARP协议建立(前提是这两台计算机位于同一个IP子网上);

2、被动请求,如果一台计算机接收到了一台计算机的ARP请求,则首先在本地建立

请求计算机的1P地址和MAC地址的对应表。

因此,如果一个攻击者通过变换不同的IP地址和MAC地址,向同一台设备,比如三

层交换机发送大量的ARP请求,则被攻击设备可能会因为ARP缓存溢出而崩溃。

针对ARP表项,还有一个可能的攻击就是误导计算机建立正确的ARP表。根据A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论