IP地址欺骗 IP Spoof

 1.什么是IP spoof?
是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术。

IP spoof的实现原理

   我们知道,IP是网络层的一个非面向连接的协议, IP数据包的主要内容由源IP地址,目地IP地址,所传数据构成
IP的任务就是根据每个数据报文的目的地址,路由完成报文从源地址到目的地址的传送。至于报文在传送过程中是否丢失或出现差错,IP不会考虑。
IP包只是根据数据报文中的目的地址发送,因此借助高层协议的应用程序来伪造IP地址是比较容易实现的。

与此同时,TCP作为保障两台通讯设备之间数据有保证的顺序传输的协议,是面向连接的,它需要连接双方"同意"才能进行通讯。
TCP传输双方传送的每一个字节都伴随着一个序列号(SEQ),它期待对方在接收到后产生一个应答(ACK)
应答一方面通知对方数据成功收到,另一方面告知对方希望接收的下一个字节。
同时,任何两台设备之间欲建立TCP连接都需要一个两方确认的起始过程,称三次握手,可分解如下面来表示:

第一步:请求方向服务方发送SYN,表示想发起一次TCP连接。我们假定这次的序列号是某个数值X

Trust ->Target
SYN
SEQ:X

第二步:服务方产生SYN,ACK响应,并向请求方发送ACK,
ACK的值为X+1,表示数据成功接收到,且告知下一次希望接收到字节的SEQ是X+1。同时, 服务方向请求方发送自己的SEQ,我们假定它的序列号是某个数值Y。

Target -> Trust
SYN,ACK
SEQ:Y
ACK:X+1

第三步: 请求方向服务方发送ACK,表示接收到服务方的回应。这次它的SEQ值为X+1,同时它的ACK值为Y+1,原理同上。

Trust ->Target
ACK
SEQ:X+1
ACK:Y+1

假设网上有Target, Trust, Hack三台主机, Target为我们目标主机, Trust为目标主机信任的主机,Hack为攻击者的主机。

上面是标准TCP连接建立的过程,我们来看IP Spoof状态下的三次握手会是什么一种情况。

第一步、Hack假冒Trust主机IP向服务方Target发送SYN,告诉Target 来自他所信任的Trust主机想发起一次TCP连接,序列号为数值X,这一步实现比较简单, Hack将IP包的源地址伪造为Trust主机IP地址即可。
Hack ->Target
SYN
SEQ:X

要注意的是,在攻击的整个过程中,必须使Trust主机与网络的正常连接中断。因为SYN请求中IP包源地址是Trust主机的,当Target收到SYN请求时,将根据IP包中源地址反馈ACK,SYN给Trust主机, 但事实上Trust并未向Target发送SYN请求, 所以Trust收到后会认为这是一次错误的连接,从而向Target回送RST,中断连接。这可不是我们所企求的。为了解决这个问题,在整个攻击过程中我们需要设法停止Trust主机的网络功能,这一实现很简单,用现在威力很强大的tfn2k之类的分布式拒绝服务软件攻击Trust主机,使之拒绝服务即可。

第二步、服务方Target产生SYN,ACK响应,并向请求方Trust主机(注意:是Trust,不是Hack,因为Target收到的IP包的源地址是Trust)发送ACK, ACK的值为X+1,表示数据成功接收到,且告知下一次希望接收到字节的SEQ是X+1。同时,Target向请求方Trust发送自己的SEQ,注意,这个数值对Hack是不可见的!!
Target -> Trust
SYN,ACK
SEQ:?
ACK:X+1


第三步、Hack再次向服务方发送ACK,表示接收到服务方的回应——虽然实际上他并没有收到服务方Targe的SYN,ACK响应。这次它的SEQ值为X+1,同时它必须猜出ACK的值!!并加一后回馈给Target。
Hack ->Target
ACK
SEQ:X+1
ACK:?+1


如果Hack能成功的猜出Target 的ACK值,那么TCP的三次握手就宣告成功Target会将Hack看作Trust主机,IP spoof最关键的技术部分得到解决! 但有一点要清楚, Hack 主机这种连接是“盲人”式的,Hack永远不会收到来自Target的包,因为这些反馈包都被路由到Trust主机那里了(除非黑客能将相关骨干点的路由表内容做改动,记住:IP是独立的,它只是根据源地址,目的地址在互联网上路由传送。而在Hack向Target发送的三次握手IP包中源地址是宣称为Trust主机的)

我们可以不恰当的举个简单例子, Hack在Target上执行ls -l /,在Hack的屏幕上不会看到任何反馈,尽管事实上Target列出了根目录下的所有内容——Target将ls -l /结果送到了Trust主机。

由上我们可以看出, IP spoof成功的关键在于猜出在第二步服务方所回应的SEQ值,有了这个值,TCP连接方可成功的建立。在早期,这是个令人头疼的问题,但随着IP spoof攻击手段的研究日益深入,一些专用的算法,技术得到应用,并产生了一些专用的c程序,如SEQ-scan,yaas等。当黑客得到这些c程序时, 一切问题都将迎刃而解。

参考:

IP Spoof技术_a332897696的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值