|
|
IP欺骗与盗用原理
|
|
来源:不详 作者:未知 点击数: |
| |
个道理,使得B的TCP/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已经无法响应,
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干扰了攻击过程, 如果B本身已经down掉,
那是再好不过。
9. fakeip曾经沸沸扬扬了一下,我对之进行端口扫描,发现其tcp端口113是接收入
连接的。和IP欺骗等没有直接联系,和安全校验是有关系的。当然,这个东西并不
如其名所暗示,对IP层没有任何动作。 |
|
|
|
|
|