如何利用“IP地址欺骗”

所属分类: 实用技巧 / 网络冲浪 阅读数: 1877
收藏 0 赞 0 分享
    一般的访问控制主要在防火墙中进行设置,制定一些安全策略:如内部局域网的资源不允许外部网上的用户使用;不设防区(又称非军事区)可以为内部或外部局域网,其中的资源允许外部网的用户有限度地使用;可以使外部用户访问非军事区(DMZ区)的WEB服务器等等。深入分析研究防火墙技术,利用防火墙配置和实现 的漏洞,可以对它实施攻击。通常情况下,有效的攻击都是从相关的子网进行的,因为这些网址得到了防火墙的信赖,虽说成功与否尚取决于机遇等其他因素,但对攻击者而言很值得一试。
  
    突破防火墙系统最常用的方法是IP地址欺骗,它同时也是其他一系列攻击方法的基础。之所以使用这个方法,是因为IP自身的缺点。IP协议依据IP头中的目的地址项来发送IP数据包。如果目的地址是本地网络内的地址,该IP包就被直接发送到目的地。如果目的地址不在本地网络内,该IP包就会被发送到网关,再由网关决定将其发送到何处。这是IP路由IP包的方法。IP路由IP包时对IP头中提供的IP源地址不做任何检查,并且认为IP头中的IP源地址即为发送该包的机器的IP地址。当接收到该包的目的主机要与源主机进行通讯时,它以接收到的IP包的IP头中IP源地址作为其发送的IP包的目的地址,来与源主机进行数据通讯。IP的这种数据通讯方式虽然非常简单和高效,但它同时也是IP的一个安全隐患,很多网络安全事故都是因为IP这个的缺点而引发的。
  
  黑客或入侵者利用伪造的IP发送地址产生虚假的数据分组,乔装成来自内部站的分组过滤器,这种类型的攻击是非常危险的。关于涉及到的分组真正是内部的还是外部的分组被包装得看起来象内部的种种迹象都已丧失殆尽。只要系统发现发送地址在其自己的范围之内,则它就把该分组按内部通信对待并让其通过。
  
  通常主机A与主机B的TCP连接(中间有或无防火墙)是通过主机A向主机B提出请求建立起来的,而其间A和B的确认仅仅根据由主机A产生并经主机B验证的初始序列号ISN。具体分三个步骤:
  
  主机A产生它的ISN,传送给主机B,请求建立连接;B接收到来自A的带有SYN标志的ISN后,将自己本身的ISN连同应答信息ACK一同返回给A;A再将B传送来ISN及应答信息ACK返回给B。至此,正常情况,主机A与B的TCP连接就建立起来了。
  
  B ---- SYN ----> A
  B <---- SYN+ACK ---- A
  B ---- ACK ----> A
  
  假设C企图攻击A,因为A和B是相互信任的,如果C已经知道了被A信任的B,那么就要相办法使得B的网络功能瘫痪,防止别的东西干扰自己的攻击。在这里普遍使用的是SYN flood。攻击者向被攻击主机发送许多TCP- SYN包。这些TCP-SYN包的源地址并不是攻击者所在主机的IP地址,而是攻击者自己填入的IP地址。当被攻击主机接收到攻击者发送来的TCP-SYN包后,会为一个TCP连接分配一定的资源,并且会以接收到的数据包中的源地址(即攻击者自己伪造的IP地址)为目的地址向目的主机发送TCP-(SYN+ACK)应答包。由于攻击者自己伪造的IP地址一定是精心选择的不存在的地址,所以被攻击主机永远也不可能收到它发送出去的TCP-(SYN+ACK)包的应答包,因而被攻击主机的TCP状态机会处于等待状态。如果被攻击主机的TCP状态机有超时控制的话,直到超时,为该连接分配的资源才会被回收。因此如果攻击者向被攻击主机发送足够多的TCP-SYN包,并且足够快,被攻击主机的TCP模块肯定会因为无法为新的TCP连接分配到系统资源而处于服务拒绝状态。并且即使被攻击主机所在网络的管理员监听到了攻击者的数据包也无法依据IP头的源地址信息判定攻击者是谁。

  当B的网络功能暂时瘫痪,现在C必须想方设法确定A当前的ISN。首先连向25端口,因为SMTP是没有安全校验机制的,与前面类似,不过这次需要记录A的ISN,以及C到A的大致的RTT(round trip time)。这个步骤要重复多次以便求出RTT的平均值。一旦C知道了A的ISN基值和增加规律,就可以计算出从C到A需要RTT/2 的时间。然后立即进入攻击,否则在这之间有其他主机与A连接,ISN将比预料的多。
  
  C向A发送带有SYN标志的数据段请求连接,只是信源IP改成了B。A向B回送SYN+ACK数据段,B已经无法响应,B的TCP层只是简单地丢弃A的回送数据段。这个时候C需要暂停一小会儿,让A有足够时间发送SYN+ACK,因为C看不到这个包。然后C再次伪装成B向A发送ACK,此时发送的数据段带有Z预测的A的ISN+1。如果预测准确,连接建立,数据传送开始。问题在于即使连接建立,A仍然会向B发送数据,而不是C,C仍然无法看到A发往B的数据段,C必须蒙着头按照协议标准假冒B向A发送命令,于是攻击完成。如果预测不准确,A将发送一个带有RST标志的数据段异常终止连接,C只有从头再来。随着不断地纠正预测的ISN,攻击者最终会与目标主机建立一个会晤。通过这种方式,攻击者以合法用户的身份登录到目标主机而不需进一步的确认。如果反复试验使得目标主机能够接收对网络的ROOT登录,那么就可以完全控制整个网络。
  
  C(B) ---- SYN ----> A
  B <---- SYN+ACK ---- A
  C(B) ---- ACK ----> A
  C(B) ---- PSH ----> A
  
  IP欺骗攻击利用了RPC服务器仅仅依赖于信源IP地址进行安全校验的特性,攻击最困难的地方在于预测A的ISN。攻击难度比较大,但成功的可能性也很大。C必须精确地预见可能从A发往B的信息,以及A期待来自B的什么应答信息,这要求攻击者对协议本身相当熟悉。同时需要明白,这种攻击根本不可能在交互状态下完成,必须写程序完成。当然在准备阶段可以用netxray之类的工具进行协议分析。
  
  虽然IP欺骗攻击有着相当难度,但我们应该清醒地意识到,这种攻击非常广泛,入侵往往由这里开始。预防这种攻击还是比较容易的。IP本身的缺陷造成的安全隐患目前是无法从根本上消除的。我们只能采取一些弥补措施来使其造成的危害减少到最小的程度。防御这种攻击的最理想的方法是:每一个连接局域网的网关或路由器在决定是否允许外部的IP数据包进入局域网之前,先对来自外部的IP数据包进行检验。如果该IP包的IP源地址是其要进入的局域网内的IP地址,该IP包就被网关或路由器拒绝,不允许进入该局域网。这种方法虽然能够很好的解决问题,但是考虑到一些以太网卡接收它们自己发出的数据包,并且在实际应用中局域网与局域网之间也常常需要有相互的信任关系以共享资源,这种方案不具备较好的实际价值。另外一种防御这种攻击的较为理想的方法是当IP数据包出局域网时检验其IP源地址。即每一个连接局域网的网关或路由器在决定是否允许本局域网内部的IP数据包发出局域网之前,先对来自该IP数据包的IP源地址进行检验。如果该IP包的IP源地址不是其所在局域网内部的IP地址,该IP包就被网关或路由器拒绝,不允许该包离开局域网。这样一来,攻击者至少需要使用其所在局域网内的IP地址才能通过连接该局域网的网关或路由器。如果攻击者要进行攻击,根据其发出的IP数据包的IP源地址就会很容易找到谁实施了攻击。因此建议每一个ISP或局域网的网关路由器都对出去的IP数据包进行IP源地址的检验和过滤。如果每一个网关路由器都做到了这一点,IP源地址欺骗将基本上无法奏效。在当前并不是每一网关及路由器都能做到这一点的情况下,网络系统员只能将自己管理的网络至于尽可能严密的监视之下,以防备可能到来的攻击。

更多精彩内容其他人还在看

网上搜索超级技巧集合第1/2页

经常上网查找资料的朋友需要学的搜索小技巧
收藏 0 赞 0 分享

卸载OICQ造成网上银行不能连接的故障的解决方法

企业网上银行的一用户打来电话,说他的网上银行不能连接,提示为“WINDOWS找不到TBrowser.exe。该程序用于打开HTML Document类型的文件”。
收藏 0 赞 0 分享

获取免费的Camtasia Studio 2使用授权

我们知道Camtasia Studio是TechSmith旗下一款优秀的屏幕录像软件,最近TechSmith与德国的Chip Foto-Video Digital电脑杂志合作,分发免费的Camtasia Studio 2软件。
收藏 0 赞 0 分享

qq防止别人登陆如何禁止别人登陆qq

不让别人在你电脑上登陆QQ的几个办法图文教程即时通讯软件QQ拥有越来越多的用户,而QQ号也成为人们继手机号之后又一主要联系方式。但如果你不想让你同事、同学、亲戚和朋友利用你机器中的QQ神聊瞎侃和传输不良信息
收藏 0 赞 0 分享

给IE加个参数 永远不怕IE主页被修改

众所周知,修改IE默认主页地址是恶意网页常用的一招。IE被修改后,会自动连接到恶意网页的地址。大家常用的方法是修改注册表,其实,只要简单给IE加个参数,就再也不怕IE主页地址被修改了。下面是具体的步骤。
收藏 0 赞 0 分享

按右键另存图片只能存BMP

今天公司的同事更新图片内容时,发现图片只能另存为bmp格式的,而点图片属性可知是gif图片,可另存为里面只有bmp格式图片,经搜索发现原来的与网页缓存文件夹有关,下面附解决方法
收藏 0 赞 0 分享

让普通QQ号也能克隆QQ好友

相信大家手头都有几个备用的QQ号吧,一般都是在当初QQ免费注册的时候弄来的,但是有时候因为某些原因,突然要把一个QQ上的好友完全克隆到另外一个QQ上面,这个“庞大工程”我想一般人是没有时间,也没有精力去完成它的。您先不用着急羡慕QQ会员的克隆好友功能,我们自己动手,照样可以完成这
收藏 0 赞 0 分享

非主流Q-zOne代码代码搜集第1/2页

比较实用的q-zong代码,实际上是利用些另类js代码执行得到的效果,喜欢js的朋友可以用,喜欢装饰个人qq空间,也可以
收藏 0 赞 0 分享

菜鸟网赚高级技巧

各位互联网的菜鸟朋友们,你们是否觉的互联上赚钱不可能?哪赚钱需要哪些条件呢?有人说,必须得要网站,有人说得会编程序,但实际赚钱真的很简单,找一 个好方法比这些都来的快, 最近呢 我发现一个联盟是比较不错的,这个联盟里赚钱呢,是不需要网站,不需要会编程,哪要什么呢?
收藏 0 赞 0 分享

对于技术人员的出现了运行时间错误,是否要进行调试的解决方法

我们经常访问网页时出现以下错误提示出现了运行时间错误,是否要进行调试,有两种解决方法
收藏 0 赞 0 分享
查看更多