广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 2429 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
upside 手机 葫芦墩家族
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 优秀管理员勋章
头衔:反病毒 反诈骗 反虐犬   反病毒 反诈骗 反虐犬  
版主
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[资讯教学] 骇客入侵方式演示(图解)
骇客入侵方式演示(图解)
FREE:
  一、简单的"骇客"入侵
  TCP/IP协议顺序号预测攻击是最简单的"骇客"入侵,也是系统安全的最大威胁。在网路上,每台电脑有惟一的IP地址,电脑把目标IP地址和一个惟一的顺序号加载于传输的每一个数据包上。在一个TCP连接中,接收机只收到具有正确IP地址和顺序号的那个包裹。许多安全设备,如路由器,只允许有一定IP地址的电脑收发传送。TCP/IP 顺序号预测入侵将使用网路给电脑赋址的方式和包裹交换的顺序来企图访问网路。一般来说,"骇客"进行TCP/IP 顺序号预测攻击分两步:
  第一,得到伺服器的IP地址。骇客一般透过网上报文嗅探,顺序测试号码,由WEB浏览器连接到结点上并在状态列中寻找结点的IP地址。因为骇客知道其他电脑有一个与伺服器IP地址部分公用的IP地址,他便尽力模拟一个能让其透过路由器和作为网路用户访问系统的IP号码。例如,如果系统的IP地址为192.0.0.15,骇客便知有近256台电脑可以连入一个C级网,并猜出所有最后位在序列中出现过的地址号码。IP地址指示了一个网路连接的电脑数,同时上述地址的高位元组中两个最重要的位设定指出了该网为C级网,图1显示了骇客是怎祥预测C级网的IP号码的。

  "骇客"用伺服器的IP地址来猜测其他网路地址
  第二,骇客在试过网上IP地址之后,便开始监视网下传送包的序列号,然后,骇客将试图推测伺服器能产生的下一个序列号,再将自己有效地插入伺服器和用户之间。因为骇客有伺服器的IP地址,就能产生有正确IP地址和顺序码的包裹以截获用户的传递,图2指明了怎样模仿IP地址及包裹序列号以愚弄伺服器,使之信任骇客为合法网路用户。

  骇客模拟一个TCP/IP通讯愚弄伺服器 
  骇客透过顺序号预测取得系统访问之后,便可访问通讯系统传给伺服器的任何资讯,包括密钥文件、日志名、机密数据,或在网上传送的任何资讯。典型地,骇客将利用顺序号预测作为一个实际入侵伺服器的准备,或者说人为入侵网上相关伺服器提供一个基础。
  技术指导:防卫顺序号预测入侵
  对您的系统来说,防卫顺序号预测入侵的最简单有效的方法是确保您的路由器、_blank">防火墙、您系统上的每个伺服器拥有全面的审计跟踪保护。利用审计跟踪功能,在一个"骇客"企图透过路由器和_blank">防火墙来访问伺服器时,您便能发现它。您的审计跟踪系统可显示下面的词条顺序,当然这要根据您的作业系统而定:
  access denied. IP address unknown
  当骇客循环不断地测试可能的顺序号时,访问被拒绝词条将一个接一个地出现。运用您作业系统上可利用的一些设备,您可以让它在审计系统出示一定数量的访问拒绝词条后指挥事件日志向您自动报警。
二、TCP协议劫持入侵
  也许对连接于Internet的伺服器的最大威胁是TCP劫持入侵(即我们所知的主功嗅探),尽管顺序号预测法入侵和TCP劫持法有许多相似之处,但TCP劫持之不同在于骇客将强迫网路接受其IP地址为一个可信网址来获得访问,而不是不停地猜IP地址直至正确。TCP劫持法的基本思想是,骇客控制了一台连接于入侵目标网的电脑,然后从网上断开以让网路伺服器误以为骇客是实际的用户端。图3显示了一个骇客怎样操作一个TCP劫持入侵。
  骇客透过断开和模仿实际用户端的连接来实施TCP劫持入侵
  成功地劫持了可信任电脑之后,骇客将用自己的IP地址更换入侵目标机的每一个包的IP地址,并模仿其顺序号。安全专家称顺序号伪装为"IP模仿",骇客用IP模仿在自己机器上模拟一个可信系统的IP地址,骇客模仿了目标电脑之后,便用灵巧的顺序号模仿法成为一个伺服器的目标。
  骇客实施一个TCP劫持入侵后更易于实施一个IP模仿入侵,而且TCP劫持让骇客透过一个一次性密码请求响应系统(如共享密码系统),再让一个拥有更高安全性的主机妥协。透过密码系统也让骇客穿过一个作业系统而不是骇客自己的系统。
  最后,TCP劫持入侵比IP模仿更具危害性,因为骇客一般在成功的TCP劫持入侵后比成功的IP模仿入侵后有更大的访问能力。骇客因为截取的是正在进行中的事务而有更大访问权限,而不是模拟成一台电脑再发起一个事务。

三、嗅探入侵
  利用嗅探者的被动入侵已在Internet上频繁出现,如被动嗅探入侵是一个骇客实施一次实际劫持或IP模仿入侵的第一步。要开始一个嗅探入侵,骇客要拥有用户IP和合法用户的密码,而用一个用户的资讯注册于一个分散式网路上。进入网之后,骇客嗅探传送的包并试图尽可能多地获取网上资料。
  骇客如何实施一个被劫嗅探入侵
  为了防止分散式网路上的嗅探入侵,系统管理员一般用一次性密码系统或票据认证系统(如 Kerberos)等识别方案。例如,一些一次性密码系统向用户提供在每次退出登录后的下次登录密码。尽管一次性密码系统和Kerberos方案能让骇客对密码的嗅探在不安全的网路上变得更加困难,但如果它们既未加密又未指明数据流时仍将面临实际的被入侵风险。图4显示了骇客如何实施被动的嗅探入侵。
  下面描述骇客将TCP流定向到自己机器上的针对TCP的实际入侵。在骇客重新定向了TCP流之后,骇客能透过无论是一次性密码系统或票据认证系统提供的保护安全线,这样TCP连接对任何一个在连接路径上拥有TCP包嗅探器和TCP包发生器的人来说都变得非常脆弱。在后面,您将了解到一个TCP包在到达目的系统之前要经过许多系统,换句话说,只要拥有一个放置好了的嗅探器和发生器,骇客能访问任何包--它们可能包括您在Internet上传送的包。
  在后面一部分里,我们详述了一些您可以用来侦测实际入侵的方案和一些您可以用来防卫入侵的方法。骇客能用这一章节中所述的最简单的方法来侵入Internet主机系统,而且,骇客可以实施一次和被动嗅探所需资源一样少的主动非同步攻击。

  四、主动的非同步入侵
  
  TCP连接需要同步数据包交换,实际上,如果由于某种原因,包的顺序号不是接收机所期望的,接收机将遗弃它,而去等待顺序号正确的数据包。骇客可以探明TCP协议对顺序号的要求以截取连接。
  
  下面将详述非同步入侵来攻击系统,骇客或骗取或迫使双方中止TCP连接并进入一个非同步状态,以使得两个系统再也不能交换任何数据。骇客再用第三方主机(换句括说,另一个连接于物理媒介并运送TCP包的电脑)来截取实际中的数据包和为最初连接的两台计算创建可接受的替代包。第三方产生数据以模仿连接中的系统本应交换的数据包。
  
  1﹒非同步后劫持入侵
  
  假设,此刻骇客可以窃听两个系统交换的用以形成TCP连接的任何数据包,而且,在截取数据包之后,骇客可以伪造其想要的任何IP包来取代原包。骇客的伪包能让骇客冒充用户机或伺服器(甚至伪包可以让骇客既冒充用户机又冒充伺服器)。如果骇客可以让这些假设变成现实,那么实际上骇客能迫使在用户机和伺服器间传送的消息改变走向,即从用户机到骇客,从伺服器到骇客。
  
  您将在下一部分了解到骇客可以用一些技术使一个TCP连接非同步。此时,假设骇客已成功地非同步了TCP部分,且骇客发送了一个包头中包含以下代码的包:
  
  SEG_SEQ = CLT_SEQ
  SEG_ACK = CLT_ACK
  
  包头域中和第一行,SEG_SEQ = CLT_SEQ,指明了包的顺序号是用户机系列的下一个顺序号(SEG代表数据段);第二行,SEG_ACK = CLT_ACK,把数据包的确认值赋给下一个确认值。因为骇客非同步了TCP 连接,用户机的包顺序号(CLT_SEQ)与前面期望顺序号不相等,伺服器不接收数据且将包放弃,骇客拷贝伺服器放弃的包(如图5)。

  骇客拷贝伺服器放弃的包
  在伺服器放弃包之后短暂延迟时间,骇客将与用户机一样发送同样的包,只是改变SEG_SEQ 和SEG_ACK命令(和包的记数值),以使包头域词条变成下面代码:
  
  SEG_SEQ = SVR_ACK
  SEG_ACK = SVR_SEQ
  
  因为包头域的顺序号是正确的(SVR_ACK等于SEG_SEQ),伺服器接受包头域部分词条同时接受包且处理数据,另外,依据用户机传送但伺服器放弃的包的数目,原用户机仍会不断传送包。
  
  如果您定义变量CLT_TO_SVR_OFFSET等于SVR_ACK减CLT_SEQ之结果(即伺服器期待的顺序号和用户机的实际的顺序号是相异数),SVR_TO_CLT_OFSET等于CLF_ACK减去SVR_SEQ,骇客一定会重写用户机送给伺服器的TCP包,以让包代表SEG_SEQ和SEG_ACK之值(如图6)。

被截获的连接
  SEG_SEG =(SEG_SEQ+CLT_TO_SVR_OFFSET)
  SEG_ACP =(SEG_ACK_SVR_TO_CLT_OFFSET)
  
  因为所有的传送都经过骇客,它便可以在传送流中加任何数据或删任何数据。例如,如果连接是一个远端登录使用的 Telnet,骇客能代表用户添加任何命令(Unix命令 echo jamsa.com,它将产生一个所有连接于jamsa.com伺服器的网路的主机清单,就是一个骇客发出命令的范例(如图7)。

骇客往传送包中加命令
  在伺服器接收到包之后,伺服器对骇客请求的数据和用户端请求的数据予以响应。在伺服器对用户端响应之前,骇客可以漏掉或删除伺服器对骇客命令的响应,如此,用户便不再觉察到任何骇客入侵(如图8)。

  骇客从伺服器的传送包中删除其请求的资讯
  以下部分您将了解 TCP ACK风暴,它在骇客继续伪装时,在非同步后劫持入侵中将发作。
  
  2﹒TCP ACK风暴
  
  前面部分详述的后期非同步劫持入侵有一个基本的不足,即它将大量地产生 TCP ACK包,网路专家称这些大量的 ACK包为 TCP ACK风暴。当一个主机(无论用户机或伺服器)收到一个不能接受的包时,主机将向产生的主机发送期待的顺序号来认证这个不能接收的包。在以前详述的主动的 TCP入侵的情况下,第一个 TCP ACK包将包含伺服器的顺序号,用户机因为没有送出请求修改的包,所以将不接受这个认证包。因此,用户机产生自己的认证包,它反过来迫使伺服器产生另一个认证包,这些反覆循环,理论上对传送每个数据包是一个无止尽循环(如图9)。

  入侵产生的风暴循环
  因为认证包不传送数据,如果接收者丢失了这个包,ACK包的发送者将不再传递。换句话说,如果一个机器在ACK风暴循环中丢掉一个包,循环便终止。幸运的是,正如您以前所知,TCP将IP用在不可靠的网路层上,以一个非空的包损失,网路设计者将迅速结束循环。而且,网上丢掉的包越多,ACK风暴持续期越短。再加之,ACK循环是自规的--换句话说,骇客产生的循环越多,用户机和伺服器接到的交通数量也越多,它反过来增加拥挤度。这样便丢掉包,有更多的循环结束。
  
  TCP 连接在每次用户机或伺服器发送数据时创建一个循环。如果既不是用户机又不是伺服器发送数据,TCP连接便产生不了循环。如果用户机和伺服器都未发送数据也没有骇客认证数据,发送者将再传这个数据。在再传之后,TCP连接将为每一个再传送创建一个风暴,最后连接的双方放弃连接,因为用户机和伺服器都未发送ACK包。如果骇客认证了数据传送,TCP连接将仅产生一个风暴。实际上,由于网上的负荷,骇客经常错过数据包,因此骇客将认证再传送的第一个包--意味着每次在骇客传输时入侵将至少产生一个ACK风暴。
  在伺服器接收到包之后,伺服器对骇客请求的数据和用户端请求的数据予以响应。在伺服器对用户端响应之前,骇客可以漏掉或删除伺服器对骇客命令的响应,如此,用户便不再觉察到任何骇客入侵。
  骇客从伺服器的传送包中删除其请求的资讯
  以下部分您将了解 TCP ACK风暴,它在骇客继续伪装时,在非同步后劫持入侵中将发作。
  3﹒前期非同步入侵
  在前面,您了解到非同步后TCP劫持入侵(即在用户机和伺服器连接之后发生的入侵)。不像非同步后劫持入侵,前期非同步入侵在用户机和伺服器的早期连接建立时破坏其连接,而不是在连接已设立或完成之后。前期非同步入侵在伺服器端破坏连接,在破坏连接之后,骇客创建一个具有不同顺序号的新连接,前期非同步的入侵工作如下。
  (1)在连接创建阶段2,骇客窃听伺服器发送到用户机SYN/ACK包(如图10)。
 伺服器给用户机发送一个ACK包

  (2)当骇客侦测到SYN/ACK包时,骇客发送一个RST复位请求包,接着发送一个与伺服器的SYN/ACK包有相同参数SYN包。然而,骇客的请求带着一个不同的顺序号。您可以把这个看作入侵者确认包(ATK_ACK_0)(如图11)。

 骇客发送两个数据包给伺服器
  (3)伺服器将收到RST包时关闭第一个连接,且将在同一端重开一个新的连接,但当收到SYN包时,便具有不同顺序号,伺服器将向原用户回送一个SYN/ACK包。
  (4)骇客截取SYN/ACK包,向伺服器发送它自己的ACK包,伺服器开关掷向同步连接以创建状态(如图12)。

  骇客截获包并建立同步
  当用户端从伺服器收第一个SYN/ACK包时便把开关掷向ESTABLISHED(已创建)状态,骇客的成功依赖于为CLT_TO_SVR_OFFSET造取了正确的数值,选取错误的数值将使用户端的包和骇客的包不能被接受,而且这样可能产生意想不到的结果,包括连接的终止。
  4﹒空数据非同步入侵
  在前面部分里,您已了解了骇客如何利用在连接的早期阶段截获一个TCP连接来实施一次前期非同步入侵,非同步一个TCP连接后,骇客能实施一次空数据非同步入侵。空数据指不会影晌伺服器的任何东西,不会改变TCP 认证号,骇客透过同时向伺服器和用户端发送大量数据来实施一次空数据入侵。
  骇客发送的数据对用户端来说是不可见的。相反,空数据迫使TCP会话中连接的两台电脑切换到非同步状态,因为纯粹的空数据干预到了电脑维护TCP连接的能力。
 5﹒Telnet会话入侵
  前面部分已详述了骇客能在一个已存在的或新运行的TCP连接上实施的各种入侵。然而,骇客也可以干预到几乎任何网路通讯。例如,骇客可以用TELNET会话实施以下截获方案:
  (1)在入侵之前,骇客通常先观察网上的传送,而不进行任何干预。
  (2)适当时候,骇客向伺服器发送一大批空数据。在被截获的TELNET会话上,骇客发送一个含扩展字号IAC NOP LAC NOP 的ATK_SVR_OFFSET字。TELNET协议将NOP命令定义为"空操作",换句话说,不做任何操作且忽视这一对中的字。由于此空操作,伺服器的TELNET的后台驻留程式将把每个字都解释为空数值,因为这一点,后台驻留程式将数据流中的每个对删掉。然而,伺服器对扩展空传送的接收将扰乱正进行工作的TELNET会话,在此步之后,伺服器接收以下命令:
SVR_ACK = CLT_SEQ+ATK_SVR_OFFSET
  (3)伺服器对骇客命令的接收将创建一个非同步TELNET的连接。
  (4)为了迫使用户机转换到非同步状态,骇客向用户端实施一个与伺服器相同的步骤(如图13)。

 骇客如何向用户端和服务发送空数据
  (5)为完成TELNET会话入侵,骇客实施前面详述的步骤,直到骇客成为TELNET会话连接的中间人(如图14)。

  如果Telnet 会话可以传送空数据的话,骇客只能利用前面详述的五个步骤的TELNET截获方式。纵使如此,骇客对于选择合适时间发送空数据仍有困难。如果时间不正确,入侵将很容易破坏Telnet会话,或者会引起会话干扰,而不能让骇客控制会话。当您参与TELNET会话,预料不到的结果将表明骇客正在截获会话。
  6﹒对ACK风暴的了解
  在TCP连接内,几乎所有含ACK设定标识而不带数据的包都是未接收包的确认资讯。在任何网上,特别是在INTERNET通讯中,将发生大量的转送。在一个遭受了前面详述的各种入侵的网上,会发生更多的转送。转送的号码将依据网上的负荷和引起风暴的骇客主机而定,一个伺服器登录能包含多达300多个空包。特别地,在一个实际入侵中传送的数据包可能产生10至30个ACK空包。
  7﹒侦测及其副作用
  您可以利用ACK入侵的各种缺陷来侦测入侵,这部分将描述三种侦测方式,但记住仍有其他方法。
  非同步状态侦测。您可以利用TCP包来观察连接双方的顺序号。根据顺序号。您可以判断出连接是否处于非同步状态。然而,仅当假定您在连接上传送顺序号时没有骇客改变它,您才可以在连接的双方阅读包--这是一个一般的安全假定。
  ACK风暴侦测:些局域以太网的TCP交通在入侵前的统计表明,总的TELNET包的无数据包率为三分之一,而当一个骇客入侵时,为1/300。
  包百分率记数:您可以透过对包的百分率记数来监视连接的状态。透过对有入侵时的包百分率和普通数据包百分率的对比,可以提醒您存在非同步入侵。表1显示了通常连接中数据包和ACK包每分钟的数目。
          表1 普通传送中,ACK包每分钟传送的数目
           包的类型 本地 以太网传输
           Total TCPs 80-100 1400
           Total ACK 25-75 500
           Total Telnet 10-20 1400
           Total Telnet ACK 5-10 45
  TCP包和 ACK包的数目在本地以太网上变化很大。一个常规连接上的ACK TELNET包的百分率一般稳定在45%左右,Telnet会话是一种互动式会话,伺服器必须对用户敲入的每一个字母进行响应和认证。事实上这正是Telnet包计数稳定性的原因所在。在TELNET会话中,基于降低包丢失率的考虑,每个包通常仅含一个字母或一行正文,所以数据交换量较小。正如TELNET数据流,流向远端以太网的数据与其是一致的。因为它的高数据负荷,接收主机可能丢失一些包。
  相对地,当骇客入侵时,真正的包与ACK包的比值会发生改变。表2显示了骇客入侵时包的计数。
           表2 遭入侵时,ACK包的计数情况
           包的类型 本地连接
           Total Telnet 80-400
           Total Telnet ACK 75-400
  在表2中,本地连接是指只有少数来自用户端的IP跳跃的一个主机的通讯会话。通讯会话的往返延迟(RTD)大约在3毫秒。例如,通讯会话可能跨越用户机与主机间的4个局域伺服器。正如您所知,在骇客入侵时包计数器的改变很明显。就算它变化较为轻微,ACK计数与总包计数几乎是一致的,则交通量基本都是指认证包,意味着几乎不包括数据包


 五、另一种嗅探--冒充入侵 
  您已了解到实际的嗅探入侵的基础,包括一些组成部分。本部分详述的冒充入侵中,骇客用用户机IP地址作为源址向伺服器发送一个SYN包以初始化通话。骇客传送的地址必须是冒充成可信任主机地址。伺服器将用一个SYN/ACK包来确认SYN包,它包含以下行:
  SEG_SEQ = SVR_SEQ_O
  骇客因此可以用自己的包来确认伺服器的SYN/ACK包。骇客数据包中包含了骇客所猜的SVR_SEQ_O的值即顺序号。如果成功,那么骇客不必嗅探用户包,因为骇客能预测SVR_SEQ_O且确认它。
  1﹒冒充入侵的两个主要缺点
  (1)骇客冒充的用户机将收到来自伺服器的SYN/ACK包,而向伺服器回发一个RST(复位)包,因为在用户机看来,通话不存在。而骇客可能阻止用户机的复位包产生,或当用户机未按入网路时入侵,或使用户机的TCP伫列溢出,如此,用户机将在往伺服器上发送数据中丢失包。
  (2)骇客不能从伺服器上得到数据,然而骇客可以发送一些足以危害主机的数据。
  2﹒冒充入侵和非同步后劫持入侵的不同点
  冒充入侵和您以前了解到的非同步后劫持入侵的四个不同之处在于:
  (1)非同步后劫持入侵让骇客实行并控制连接的鉴别阶段,而冒充入侵依靠于可信任主机的鉴别方案。
  (2)非同步后劫持入侵让骇客对于TCP流有很大的访问权。换句话说,骇客可以同时收发数据,而不是像冒充入侵那样仅能发送数据。
  (3)非同步后劫持入侵利用以太网嗅探来预测或得到SVR-SEQ-O。
  (4)骇客可以用非同步后劫持入侵法攻击任何类型主机。因为冒充入侵时要倚赖于UNIX可信任主机的模式,所以它仅能对UNIX主机进行攻击。
  然而,如果用户机脱线了或是不能收发RST复位包,骇客可以用冒充入侵来与伺服器建立一个全面的TCP连结。骇客将可代表用户机发送数据。当然,骇客必须透过认证障碍。如果系统采用的是基于可信任主机的认证,那么骇客将对主机的服务有全权访问。
  尽管当骇客进行非同步后劫持入侵进攻区域网路时,系统分析员易于核查到入侵,但在远端低带宽和低延迟网上进行非同步持劫持入侵是很有效果的。而且,正如您所知,骇客可使用与进行被动嗅探入侵(它经常发生在INTERNET)时相同的资源来实施非同步后劫持入侵。两种入侵对骇客来说其优点在于它对用户都是不可的。用户不可见很重要,INTERNET上入侵主机越来越频繁,网路安全变得令人关注,骇客的秘密行动是骇客入侵的一个重要因素。



爸爸 你一路好走
献花 x0 回到顶端 [楼 主] From:台湾 | Posted:2006-12-17 14:57 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.058345 second(s),query:15 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言