IP欺骗是什么意思 ip欺骗是什么( 三 )


负载增大 。至于SYN flood,回头有机会我单独灌一瓢有关DoS
的 。如何使B的网络功能暂 碧被居 很多办法,根据具体情况而
定,不再赘述 。
3. Z必须确定A当前的ISN 。首先连向25端口(SMTP是没有安全校验
机制的),与1中类似,不过这次需要记录A的ISN,以及Z到A的
大致的RTT(round trip time) 。这个步骤要重复多次以便求出
RTT的平均值 。现在Z知道了A的ISN基值和增加规律(比如每秒增
加128000,每次连接增加64000),也知道了从Z到A需要RTT/2
的时间 。必须立即进入攻击,否则在这之间有其他主机与A连接,
ISN将比预料的多出64000 。
4. Z向A发送带有SYN标志的数据段请求连接,只是信源IP改成了
B,注意是针对TCP513端口(rlogin) 。A向B回送SYN+ACK数据段,
B已经无法响应(凭什么?按照作者在2中所说,估计还达不到
这个效果,因为Z必然要模仿B发起connect调用,connect调用
会完成全相关,自动指定本地socket地址和端口,可事实上
B很可能并没有这样一个端口等待接收数据 。除非Z模仿B发起
连接请求时打破常规,主动在客户端调用bind函数,明确完成
全相关,这样必然知道A会向B的某个端口回送,在2中也针对
这个端口攻击B 。可是如果这样,完全不用攻击B,bind的时候
指定一个B上根本不存在的端口即可 。我也是想了又想,还没来
得及看看老外的源代码,不妥之处有待商榷 。总之,觉得作者
好象在蒙我们,他自己也没有实践成功过吧 。),B的TCP层只是
简单地丢弃A的回送数据段 。
5. Z暂停一小会儿,让A有足够时间发送SYN+ACK,因为Z看不到这
个包 。然后Z再次伪装成B向A发送ACK,此时发送的数据段带有
Z预测的A的ISN+1 。如果预测准确,连接建立,数据传送开始 。
问题在于即使连接建立,A仍然会向B发送数据,而不是Z,Z
仍然无法看到A发往B的数据段,Z必须蒙着头按照rlogin协议
标准假冒B向A发送类似 "cat + + >> ~/.rhosts" 这样的命令,
于是攻击完成 。如果预测不准确,A将发送一个带有RST标志的
数据段异常终止连接,Z只有从头再来 。
Z(B) ---- SYN ----> A
B <---- SYN+ACK A
Z(B) ---- ACK ----> A
Z(B) ---- PSH ----> A
......
6. IP欺骗攻击利用了RPC服务器仅仅依赖于信源IP地址进行安全
校验的特性,建议阅读rlogind的源代码 。攻击最困难的地方
在于预测A的ISN 。作者认为攻击难度虽然大,但成功的可能性
也很大,不是很理解,似乎有点矛盾 。考虑这种情况,入侵者
控制了一台由A到B之间的路由器,假设Z就是这台路由器,
那么A回送到B的数据段,现在Z是可以看到的,显然攻击难度
骤然下降了许多 。否则Z必须精确地预见可能从A发往B的信息,
以及A期待来自B的什么应答信息,这要求攻击者对协议本身相
当熟悉 。同时需要明白,这种攻击根本不可能在交互状态下完
成,必须写程序完成 。当然在准备阶段可以用netxray之类的
工具进行协议分析 。
7. 如果Z不是路由器,能否考虑组合使用ICMP重定向以及ARP欺骗
等技术?没有仔细分析过,只是随便猜测而已 。并且与A、B、
Z之间具体的网络拓扑有密切关系,在某些情况下显然大幅度
降低了攻击难度 。注意IP欺骗攻击理论上是从广域网上发起的,
不局限于局域网,这也正是这种攻击的魅力所在 。利用IP欺骗
攻击得到一个A上的shell,对于许多高级入侵者,得到目标主
机的shell,离root权限就不远了,最容易想到的当然是接下来
进行buffer overflow攻击 。
8. 也许有人要问,为什么Z不能直接把自己的IP设置成B的?这个
问题很不好回答,要具体分析网络拓扑,当然也存在ARP冲突、
出不了网关等问题 。那么在IP欺骗攻击过程中是否存在ARP冲突
问题 。回想我前面贴过的ARP欺骗攻击,如果B的ARP Cache没有
受到影响,就不会出现ARP冲突 。如果Z向A发送数据段时,企图
解析A的MAC地址或者路由器的MAC地址,必然会发送ARP请求包,
但这个ARP请求包中源IP以及源MAC都是Z的,自然不会引起ARP冲
突 。而ARP Cache只会被ARP包改变,不受IP包的影响,所以可以
肯定地说,IP欺骗攻击过程中不存在ARP冲突 。相反,如果Z修改
了自己的IP,这种ARP冲突就有可能出现,示具体情况而言 。攻
击中连带B一起攻击了,其目的无非是防止B干扰了攻击过程,


推荐阅读