黑客攻击揭密----分析选定的网络攻击(2)

2008-02-23 06:37:03来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  超时消息:每个 IP 数据报头中都包含一个字段 — 称为“生存时间字段” — 它指出数据报在被丢弃之前还能在因特网上保持多久。数据报在因特网上保持的时间以跳跃点(hop)衡量,其中一个跳跃点表示数据报通向目的地节点路径上的一个网关。当数据报经过网关转发时,它就将生存时间字段中的值减一。如果处理数据报的网关测定该数据报 IP 头中的生存时间字段为 0,则丢弃该数据报并用超时消息通知源主机。

  回应请求和回应应答消息:如果主机 A 想知道主机 B 是否是活动的,则主机 A 会向主机 B 发送一条 ICMP 回应请求消息。主机 B 将用 ICMP 回应应答消息来应答,以表明自己是活动的。这条消息就是众所周知的 ping 包。

  以上这些并不是 ICMP 所使用的全部消息类型,但它们能使您大致了解 ICMP 的用途。接下来我将向您介绍两种 ICMP 攻击。

  目的地不可到达攻击

  类别:拒绝服务攻击

  描述:如上所述,ICMP 目的地不可到达消息向尝试转发消息的网关提供了一种工具,用来通知发送方:因为在数据报目的地地址中指定的主机不可到达,所以无法传递该消息。

  您可能会猜想“目的地不可到达攻击”会是什么情形。让我们假设网关 G 连接了两个网络:网络 10.1.0.0 和网络 10.2.0.0。假设主机 A 地址为 10.1.23.3(因此属于网络 10.1.0.0),它想将数据报发送到主机 B,其地址为 10.2.156.34(因此属于 10.2.0.0)。在传输过程中,数据报将被发送到网关 G,而网关 G 又会将它转发到目的地主机。

  如果入侵者获得了网络 10.1.0.0 中一台主机的访问权,那么,他可以广播一条“目的地不可到达消息”,声明网关 G 对于他所在网络的所有主机是不可到达的。这将使网关 G 和网络 10.2.0.0 暂时变得不可用,因而不可能从网络 10.1.0.0 向网络 10.2.0.0 传输任何消息。

  这种攻击背后的动机只是使网络或服务暂时瘫痪。因为攻击者不需要功能强大的机器或高速的网络连接来执行这种攻击,所以它特别危险。

  Smurf 攻击

  类别:拒绝服务攻击

  描述:Smurf 攻击是拒绝服务攻击的一种非常可怕的形式,因为它具有放大效应。Smurf 攻击利用 ICMP 回应消息。如上所述,主机 A 每次向主机 B 发送回应请求消息时,主机 B 都会返回回应应答消息以表明自己是活动的。名称“Smurf 攻击”源自一个名为 smurf 的利用程序,攻击者用该程序来执行这种攻击。

  在深入研究这种攻击的详细信息之前,我应该解释一下术语电子欺骗(spoofing)。电子欺骗可以解释成用于伪造的网络安全术语。它指的是攻击者有办法构造包含错误数据的网络数据报。例如,攻击者可以从主机 A 向主机 B 发送数据报,但在该数据报头的源地址字段使用主机 C 的 IP 地址。这样,主机 B 就会认为包是来自主机 C 而不是主机 A。实际上,主机 C“假扮”了主机 A,而主机 B 对此一无所知。

  知道了这一点,假设攻击者构造了一条 ICMP 回应消息,它的头中包含伪造的任意主机 A 的源地址,如 192.168.2.2。让我们进一步假设主机 A 位于网络 192.168.2.0,并且攻击者将该数据报发送到这个网络的网络广播地址而不是某台特定主机。通过将该数据报发送到网络广播地址,该数据报将被广播到这个网络上的每台主机,而该网络上的每台主机都会向假想的发送方(主机 A)返回回应应答消息。假设有 255 个子网,每个子网有 255 台计算机,则会有超过 65,000 台计算机向主机 A 发送回应应答消息 — 而这还只是假设攻击者仅仅广播了一条欺骗数据报(255 * 255 = 65,025)。通过增加欺骗包广播的次数或网络广播的规模,您将发现这能够成为非常严重的攻击形式。

  Smurf 攻击的动机与前一种攻击相同。容易发现,由于这种攻击的放大效应,它甚至能够使工业强度的 Web 服务器瘫痪。同样,攻击者只需要很少的资源。

  传输控制协议(TCP)

  TCP 协议在包交换计算机网络中提供面向连接的、可靠的流传递服务。这意味着 TCP 模块保证传递无重复、无传输错误,而且数据以正确顺序传输。TCP 进一步提供了端口抽取功能,这使得主机可以并行地打开多个 TCP 连接。您可以由此发现 TCP 是由源地址/端口和目的地地址/端口四部分标识的。IP 地址/端口对被称为套接字。

  TCP 与下面的 IP 层和上面的表示层及应用层协议(如 Telnet 或 SMTP)相互操作,如图 1 所述。

  在继续讨论攻击之前,我将更详细地讨论 TCP 的某些方面,这些知识对于下面讨论的攻击是必需的。尤其是 TCP 包(称为段)的结构、如何在主机之间建立 TCP 连接和如何关闭连接。

  TCP 包的结构

  与 IP 数据报类似,TCP 段包含头部分、可选(选项)部分和数据部分。现在,让我们更仔细地研究一下 TCP 头的某些重要字段:

  源端口:分配给启动连接的主机上虚连接的端口号。

  目的地端口:目的地端口号。这也由启动连接的主机分配,因为只有该主机知道自己“想”连接到哪里。例如,如果您打开到特定主机的 Telnet 连接,则目的地端口将被设置为 23。

  序列号和确认号:发送方和接收方使用两个序列号来确保包没有丢失、没有重复以及可以在目的地节点以正确顺序重新组装。

  标志:这个字段包含六个控制位:

  URG:向接收方表明一接收完数据就进行紧急处理。

  ACK:表明确认号字段是有意义的。

  PSH:表明必须迅速地将数据传递到接收方。

  RST:表明要立即复位连接。

  SYN:在需要同步序列号的情况下设置。

  FIN:表明不会再有来自发送方的数据了(也就是说,连接将要关闭)。

  以上是 TCP 头中的重要字段,下面关于 TCP 连接的建立和关闭的几节将使您更好地理解这些字段的用途。

  建立和关闭 TCP 连接

  连接建立:TCP 连接的建立由要建立连接的客户机和该客户机联系的服务器通过三步握手过程执行。要开始连接,您需要有一个在特定端口提供服务的服务器;例如,在端口 23 侦听的 Telnet 服务。当客户机想要打开与服务器的连接时,它向服务器发送一个连接请求。这意味着向服务器发送一个设置了 SYN 标志的 TCP 包。服务器以设置了 SYN 和 ACK 标志的包应答。最后,客户机通过向服务器发送设置了 ACK 标志的 TCP 包进行确认。这样,客户机和服务器之间的连接就建立起来了。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:全面抵制黑客攻击的实用技巧

下一篇:打破常规 构造特殊字符进行渗透入侵