admin管理员组文章数量:1530517
2024年7月17日发(作者:)
如何伪造IP地址
简介:
IP欺骗是个非常困难的事情,传说中也只有凯文米特尼克曾经成功的实现过,不过这
个一般人是可望不可即的。但是在特殊条件下,我们则可以比较简单的实现IP欺骗,并利
用这个来做一点点事情,比如入侵有IP地址限制的系统。本文主要介绍实现IP欺骗的方
法。
一、基本原理
举个例子来说,某人已经渗透进入了一个网络,并且在1.2.3.1上面通过ARP欺骗嗅
探到了1.2.3.4/admin的密码。但是这个系统对登录的源IP地址有限制,至允许来
自1.2.3.250的登录。有密码却登录不进去,该如何继续?目前来说,至少有两种办法,
最容易想到的是渗透1.2.3.250得到控制权限再登陆或者直接尝试渗透1.2.3.4。另外一种,
自然就是IP地址欺骗了。因为是在一个C类网络中,IP地址欺骗实现起来就非常的容易
了。
IP欺骗最困难的是对TCP序列号的预测,其次是禁止目标主机的响应。这两个问题在
互联网上实施IP欺骗时的解决办法是蒙和DDoS攻击。但是在同一个C类时则不需要这
么暴力,只需要温柔的ARP欺骗即可。简单的说,以下几个步骤:
1、在1.2.3.4和1.2.3.250之间实施ARP欺骗,嗅探并拦截他们之间的所有流量。
2、在1.2.3.1上面伪装成1.2.3.250向1.2.3.4发送SYN包。
3、根据嗅探得到的TCP序列号,继续伪装返回ACK包,依此完成三次握手。
4、握手完成后继续下面的POST包等操作完成登陆。
二、详细说明
从某种意义上说,如果能够制造TCP伪连接,那么D.o.S也就比较容易实现了。以前
LionD8就曾经用这个思路做出了一个新型D.o.S,而今天,我用的也是这个思路。但是,
如果直接伪造TCP三次握手而不作其他任何处理,那却是不行的。因为,当攻击的目标主
机接收到我们发过去的伪造的SYN包后会发回一个SYN+ACK包(也就是第二次握手)。而
当我们的系统收到这个SYN+ACK包后,由于系统内并没有发起真正的TCP连接,因此系
统会发回一个RST包,这个包将使目标主机重置连接。这样,这个伪连接就建立失败了。
要解决这个问题,办法有不少,而我这里要用的方法就是ARP欺骗。首先,我们要对
目标主机进行ARP欺骗,让它认为我们是同一网段中的另一台机器。然后我们就可以伪装
这台机器向目标主机发起TCP伪连接了。这样一来,即使目标主机返回一个SYN+ACK包,
这个包也不会进入到我们的系统(因为这个包的目的IP不会是我们而应该是我们伪装的那
台主机的IP),这样,我们的系统也不会向目标主机发送RST包了。
打个比方,假设我们是主机A,现在我想要攻击主机B。首先,我先伪装主机C对B
进行ARP欺骗(以C的IP地址和A的MAC地址构造ARP应答包发送到B),这样,B的
ARP缓存中就会记录下C的IP对应A的MAC地址。然后,我们再以C的IP为源IP构
造SYN数据包,向B发起TCP伪连接。当B收到这个SYN包之后,它会构造一个SYN+ACK
包发往C。但是,由于此时在B的ARP缓存中记录着:C的IP对应A的MAC地址,因
此,这个SYN+ACK包实际上被发送到了A。虽然,这个包将被A的系统所丢弃(因为这
个包的目的IP是C的IP而不是A的IP,所以A的系统将会丢弃这个包),但是,我们仍
然可以从链路层直接将这个数据帧获取下来。得到了这个SYN+ACK包之后,我们需要再
次伪装C向B发回一个ACK包完成第三次握手。这样,TCP初始化连接的三次握手都完
成了,我们的伪连接也成功建立了!
伪连接建立之后,我们还可以继续向目标主机发送数据,来保证TCP连接的存活。
这里,有几个需要注意的问题:首先,为了保证攻击过程中目标主机的ARP缓存不被
更改,我们需要持续不断的对其进行ARP欺骗;第二,为了防止在攻击过程中我们伪装的
主机向目标主机发起通信,刷新目标主机的ARP缓存,对我们的攻击造成影响,我们还可
版权声明:本文标题:伪造ip地址 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1721164519a863592.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论