首页 什么是IP欺骗攻击

什么是IP欺骗攻击

举报
开通vip

什么是IP欺骗攻击什么是IP欺骗攻击 下面我们看一下IP欺骗攻击是如何实现的, 建立信任关系 IP欺骗是利用了主机之间的正常信任关系来发动的,所以在介绍IP欺骗攻击之前,先说明一下什么是信任关系,信任关系是如何建立的。 在UNIX主机中,存在着一种特殊的信任关系。假设有两台主机hosta和hostb,上面各有一个帐户Tomy,在使用中会发现,在hosta上使时要输入在hosta上的相应帐户Tomy,在hostb上使用时必须输入用hostb的帐户Tomy,主机hosta和hostb把Tomy当做两个互不相关的用户,这显然有些不...

什么是IP欺骗攻击
什么是IP欺骗攻击 下面我们看一下IP欺骗攻击是如何实现的, 建立信任关系 IP欺骗是利用了主机之间的正常信任关系来发动的,所以在介绍IP欺骗攻击之前,先说明一下什么是信任关系,信任关系是如何建立的。 在UNIX主机中,存在着一种特殊的信任关系。假设有两台主机hosta和hostb,上面各有一个帐户Tomy,在使用中会发现,在hosta上使时要输入在hosta上的相应帐户Tomy,在hostb上使用时必须输入用hostb的帐户Tomy,主机hosta和hostb把Tomy当做两个互不相关的用户,这显然有些不便。为了减少这种不便,可以在主机hosta和hostb中建立起两个帐户的相互信任关系。 在hosta和hostb上Tomy的home目录中创建.rhosts文件。从主机hosta上,在你的home目录中用命令echo “hostb Tomy”>~/.hosts实现hosta&hostb的信任关系,这时,你从主机hostb上,你就能毫无阻碍的使用任何以r开头的远程调用命令,如:rlogin、rsh、rcp等,而无需输入口令验证就可以直接登录到hosta上。这些命令将充许以地址为基础的验证,允许或者拒绝以IP地址为基础的存取服务。这里的信任关系是基于IP的地址的。 当/etc/hosts.equiv中出现一个 “+”或者$HOME/.rhosts中出现 “++”时, 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 明任意地址的主机可以无须口令验证而直接使用r命令登陆此主机,这是十分危险的,而这偏偏又是某些管理员不重视的地方。下面我们看一下rlogin的用法。 rlogin是一个简单的/服务器程序,它的作用和telnet差不多,不同的是telnet完全依赖口令验证,而 rlogin是基于信任关系的验证,其次到才进行口令验证的,它使用了TCP 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 进行传输。当用户从一台主机登陆到另一台主机上,并且,如果目录主机信任它,rlogin将允许在不应答口令的性况下使用目标主机上的资源,安全验证完便基于源主机的IP地址。因此,根据以上所举的例子,我们能利用rlogin来从hostb远程登陆到hosta,而且不会被提示出入口令~ IP欺骗的理论根据 看到上面的说明,每一个黑客都会想到:既然hosta和hostb之间的信任关系是基于IP址而建立起来的,那么假如能够冒充hostb的IP,就可以使用rlogin登录到hosta,而不需任何口令验证。这,就是IP欺骗的最根本的理论依据。 但是,事情远没有想像中那么简单~虽然,可以通过编程的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 随意改变发出的包的IP地址,但TCP协议对IP进行了进一步的封装,它是一种相对可靠的协议,不会让黑客轻易得逞。不信,好,先来看一下一次正常的TCP/IP会话的过程。 由于TCP是面向连接的协议,所以在双方正式传输数据之前,需要用“三次握手”来建立一个稳重的连接。假设还是hosta和hostb两台主机进行通信,hostb首先发送带有SYN标志的数据段 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 hosta建立TCP连接,TCP的可靠性就是由数据包中的多位控制字来提供的,其中最重要的是数据序列SYN和数据确认标志ACK。B将TCP报头中的SYN设为自己本次 连接中的初始值(ISN)。 当hosta收到hostb的SYN包之后,会发送给hostb一个带有SYN+ACK标志的数据段,告之自己的ISN,并确认hostb发送来的第一个数据段,将ACK设置成hostb的SYN+1。 当hostb确认收到hosta的SYN+ACK数据包后,将ACK设置成hosta的SYN+1。Hosta收到hostb的ACK后,连接成功建立,双方可以正式伟输数据了。 我们就很容易想到,假如想冒充hostb对hosta进行攻击,就要先使用hostb的IP地址发送SYN标志给hosta,但是当hosta收到后,并不会把SYN+ACK发送到我们的主机上,而是发送到真正的hostb上去,这时„„嘿嘿„„露陷了吧,因为hostb根本没发送发SYN请请。所以如果要冒充hostb,首先要hostb失去工作能力。也就是所谓的拒绝服务攻击,让hostb瘫痪。 可是„„这样还是远远不够的„„,最难的就是要对hosta进行攻击,必须知道hosta使用的ISN。TCP使用的ISN是一个32位的计数器,从0到4 294 967 295。TCP为每一个连接选择一个初始序列号ISN,为了防止因为延迟、重传等扰乱三次握手,ISN不能随便选取,不同的系统有着不同的算法。理解TCP如何分配ISN以及ISN随时间的变化规律,对于成功的进行IP欺骗攻击是很重要的~ISN约每秒增加128 000,如果有连接出现,每次连接将把计数器的数值增加64 000。很显然,这使得用于表示ISN的32位计数器在没有连接的情况下每9.32小时复位一次。 这所以这样,是因为它有利于最大于度地减少“旧有”连接的信息干扰当前连接的机会。如果初始序例号是随意选择的,那么不能保证现有序例号是不同于先前的。假设有这样一种情况,在一个路由回路中的数据包最终跳出循环,回到了“旧有”的连接,显然这会对现有连接产生干扰。预测出攻击目标的序例号非常困难,而且各个系统也不想同,在Berkeley系统,最初的序列号变量由一个常数每秒加1产生,等加到这个常数的一半时,就开始一次连接。 这样,如果开始啊一个合法连接,并观察到一个ISN正在使用,便可以进行预测,而且这样做有很高的可信度。现在我们假设黑客已经使用某种方法,能预测出ISN。在这种情况下,他就可以将ACK序便号送给hosta,这时连接就建立了。 “嗯,先喝口水(哇噻,3:30了耶)„„说了这么多,明白了点吗,” “不明白„„兄弟,你在干啥呢,上数学课啊,” !@#$^^%&*&$^%^%@$^% 又眼一翻„„口吐白沫„„两腿一蹬„„站了起来„„叫了声:“接着看„„” IP欺骗攻击过程解析 IP欺骗由若干步骤组成,下面是它的详细步骤,(嘿嘿„„小心点看哦„„不明白的请 举手„„,不再重复„„我够阴的吧„„嗯嗯„„没烟了„„不说了„„大家自学吧„„)晃铛„„一只“意大利真皮”飞过来„„正中脑瓜„„唉„„俺“众”不敌“寡”,先忍着算了„„真可怜„„怎么没人用“中华”丢过来„„ 接着„首先假定信任关系已经被发现(至于如何发现,不是本章内容)。黑客为了进行IP欺骗,要进行以下工作:使被信任关系的主机失去工作能力,同时采样目标主机发出的TCP序例号,猜测出它的数据序例号。 然后,伪装成被信任的主机,同时建立起与目标主机基于地址验证的应用连接。连接成功后,黑客就可以入置backdoor以便后日使用J 。 使被信任主机失去工作能力 为了伪装成被信任主机而不露陷,需要使其完全失去工作能力。由于攻击者将要代替真正的被信任主机,他必须确保真正的被信任主机不能收到任何有效的网络数据,否则将会被揭穿。有许多方法可以达到这个目的(如SYN洪水攻击、TTN、Land等攻击)。 现假设你已经使用某种方法使得被信任的主机完全失去了工作能力。 序例号取样和猜测 前面讲到了,对目标主机进行攻击,必须知道目标主机的数据包序例号。通常如何进行预测呢,往往先与被攻击主机的一个端口(如:25)建立起正常连接。通常,这个过程被重复N次,并将目标主机最后所发送的ISN存储起来。 然后还需要进行估计他的主机与被信任主机之间的往返时间,这个时间是通过多次统计平均计算出来的。往返连接增加64 000.现在就可以估计出ISN的大小是128 000乘以往返时间的一半,如果此时目标主机刚刚建立过一个连接,那么再加上64 000。(我靠„„怎么像在上数学课啊,) 一旦估计出ISN的大小,就开始着手进行攻击,当然你的虚假TCP数据包进入目标主机时,如果刚才估计的序例号是准确的,进入的数据将被放置在目标机的缓冲区中。但是在实际攻击过程中往往没这么幸运,如果估计序例号的小于正确值,那么将被放弃。 而如果估计的序例号大于正确值,并且在缓冲区的大小之内,那么该数据被认为是一个未来的数据,TCP模块将等待其他缺少的数据。如果估计序例号大于期待的数字且不在缓冲区之内,TCP将会放弃它并返回一个期望获得的数据序例号。 你伪装成被信任的主机IP,此时,该主机仍然处在瘫痪状态,然后向目标主机的513端口(rlogin)发送连接请求。目标主机立刻对连接请求作出反应,发更新SYN+ACK确认包给被信任主机,因为此时被信任主机仍然处于瘫痪状态,它当然无法收到这个包,紧接关攻击者向目标主机发送ACK数据包,该包使用前面估计的序例号加1。 如果攻击者估计正确的话,目标主机将会接收该ACK。连接就正式建立起了,可以开始数据传输了。这是,你就可以将cat ‘++’>>~/.rhosts命令发送过去,这样完成本次攻击 后就可以不用口令直接登到目标主机上了。如果达到这一步,一次完整的IP欺骗就算完成了。你已经在目标机上得到了一个Shell 贴,接下就就是利用系统的溢出或错误配置扩大权限,当然如何搞到root已经不是本章的内容了。 总结一下IP攻击的整个步骤: 首先使被信任主机的网络暂时瘫痪,以免对攻击造成干扰。 然后连接到目标机的某个端口来猜测ISN基值和增加规律~~~(重点~难点~) 接下来把源址址伪装成被信任主机,发送带有SYN标志的数据段请求连接。 然后等待目标机发送SYN+ACK包给已经瘫痪的主机,因为你现在看不到这个包。 最后再次伪装成被信任主机向目标机发送的ACK,此时发送的数据段带有预测的目标机的ISN+1。 连接建立,发送命令请求。 擦屁股、开后门、下网、关机、睡觉。~~~zzzZZZzzz~~~ “Game Over” “~~~zzzZZZzzz~~~” “哎呀呀„„你爷爷的(韦小宝),我在上面口水都说干了,你们在下面梦周公(英语老师),走~到政教处去„„” “下课~” “唰„„老师再见~” “嘿„„睡醒了啊,每人照抄一百遍„„下许检查~” 俺今天要当足老师的瘾„„被他们训了这么久,多少也学会点了,嘿嘿„„够奸了吧, 看例子: 对于以上的理论,好多人都是将信将疑:一句话就是:这种攻击方法是不是只停留在一个理论阶段,,, 成功好像只是做梦而已吧, 不信,我也不信,但事实总是胜于雄辨~看下面这个被记录的入侵实例,看你还有什么;话说~TNND,老师的话都不信,吃米田共去„„ 下面是tcpdump------一个sniffer完全全记录下来的一次入侵全过程。也正是IP欺骗的创始人米特尼客的作品,被一个名叫TsutomuShimomura的工作师记录下来的。 说明: Server:一台运行Solaris的Sparc工作站; x-terminal:被攻击的服务器 IP欺骗攻击开始于1994年12月25日 14:09:32 米特尼客的第一轮探测来自于一台名叫toad.com的主机,这显然是他事先攻破的一台系统,用来做跳板的。 他在toad.com上运行了以下命令: toad.com#finger Cl @target toad.com#finger Cl @server toad.com#finger Cl root@server toad.com#finger Cl @x-terminal toad.com#shownoumt Ce x-terminal toad.com#rpcinfo Cp x-terminal toad.com#finger Cl root@x-terminal 这些命令的的作用显然是在探测攻击目标之间潜在的信任关系,因为只有在发现了信任关系才能进行IP欺骗。Showmount和rcpinfo的源端口探测又说明了攻击者已经得到了root权(toad.com)。 大约在六分钟之后,tcpdump 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 到一阵急风暴雨般的TCP SYN包从130.92.6.7猛烈的涌向Server 的513(rlogin)端口。很显然,这是在使用SYN洪水拒绝服务攻击server,目的当然是让他失去工作能力了。这也就是前面提到的第一步。因为513端口是以root权限运行的,所以现在server.login可以被用来作为进行IP欺骗的伪造源了。当然,这个的谓的攻击方IP130.92.6.97 也是一个伪造的IP,这样它才不会接收到server的回应包。 看记录: 14:18:22:516699 130.92.6.97.600 > server.login: S 1382726960:1382726960(0) win 4096 14:18:22:566069 130.92.6.97.600 > server.login: S 1382726961:1382726961(0) win4096 14:18:22:744477 130.92.6.97.600 > server.login: S 1382726962:1382726962(0) win 4096 14:18:22:830111 130.92.6.97.600 > server.login: S 1382726963:1382726963(0) win 4096 14:18:22:886128 130.92.6.97.600 > server.login: S 1382726964:1382726964(0) win 4096 14:18:22:943514 130.92.6.97.600 > server.login: S 1382726965:1382726965(0) win 4096 14:18:23:002715 130.92.6.97.600 > server.login: S 1382726966:1382726966(0) win 4096 14:18:23:103275 130.92.6.97.600 > server.login: S 1382726967:1382726967(0) win 4096 14:18:23:162781 130.92.6.97.600 > server.login: S 1382726968:1382726968(0) win 4096 14:18:23:225384 130.92.6.97.600 > server.login: S 1382726969:1382726969(0) win 4096 14:18:23:282625 130.92.6.97.600 > server.login: S 1382726970:1382726960(0) win 4096 14:18:23:342657 130.92.6.97.600 > server.login: S 1382726971:1382726961(0) win 4096 14:18:23:403083 130.92.6.97.600 > server.login: S 1382726972:1382726962(0) win 4096 14:18:23:903700 130.92.6.97.600 > server.login: S 1382726973:1382726963(0) win 4096 14:18:24:003252 130.92.6.97.600 > server.login: S 1382726974:1382726964(0) win 4096 14:18:24:084827 130.92.6.97.600 > server.login: S 1382726975:1382726965(0) win 4096 14:18:24:142774 130.92.6.97.600 > server.login: S 1382726976:1382726966(0) win 4096 14:18:24:203195 130.92.6.97.600 > server.login: S 1382726977:1382726967(0) win 4096 14:18:24:294773 130.92.6.97.600 > server.login: S 1382726978:1382726968(0) win 4096 14:18:24:382841 130.92.6.97.600 > server.login: S 1382726979:1382726969(0) win 4096 14:18:24:443309 130.92.6.97.600 > server.login: S 1382726980:1382726960(0) win 4096 14:18:24:643249 130.92.6.97.600 > server.login: S 1382726981:1382726961(0) win 4096 14:18:24:906546 130.92.6.97.600 > server.login: S 1382726982:1382726962(0) win 4096 14:18:24:963786 130.92.6.97.600 > server.login: S 1382726983:1382726963(0) win 4096 14:18:25:022853 130.92.6.97.600 > server.login: S 1382726984:1382726964(0) win 4096 14:18:25:153536 130.92.6.97.600 > server.login: S 1382726985:1382726965(0) win 4096 14:18:25:400869 130.92.6.97.600 > server.login: S 1382726986:1382726966(0) win 4096 14:18:25:483127 130.92.6.97.600 > server.login: S 1382726987:1382726967(0) win 4096 14:18:25:599582 130.92.6.97.600 > server.login: S 1382726988:1382726968(0) win 4096 14:18:25:653131 130.92.6.97.600 > server.login: S 1382726989:1382726969(0) win 4096 server 在连接序例被塞满之前对前八个SYN请求做出了SYN+ACK回应,一旦没有ACK包来回 应它,,erver将周期性地重发SYN+ACK包。 接下来我们看到20个从apollo.it.luc.edu发出的连接请求被送住x-terminal.shell。 这些连接请求的目的是预测server的TCP序例号生成器的行为。可以注意到每一个连接的初 始序例号的增量提示了SYN包不是通过系统的TCP执行产生的。攻击者立刻用RST包来断 开 x-terminal发来的SYN+ACK包,以使x-terminal的连接序例不至于被塞满,因为毕竟 x-terminal是黑客所要攻击的目标。 下面是这个过程: 14:18:25.906002 apollo.it.luc.edu.1000 > x-terminal.shell:S 1382726990:1382726990(0) win 4906 14:18:26.094731 x-terminal.shell > appollo.it.luc.edu.1000:S 2021824000:20218240000(0) ack 1382826991 win 4906 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ „ 现在已经是5:33了,好累„„大家体谅一下„„。 x-terminal 发出的每一个SYN+ACK包的初始序例号都比前一个增加了128 000字节。 Server.lgoin的伪造SYN请求发往了x-terminal.shell。推断x-terminal可信任server, 所所以会响应来自server 或者伪装成server的主机的所有请求。 然后就是,x-terminal用SYN+ACK包回应了server的连接请求,这时因为server仍然 处于瘫痪状态,所以它当然不会响应任何来自于x-terminal的包。 正常情况下SYN+ACK包是用来期待正确的ACK确认包的。但是攻击者能够预测出 x-terminal的TCP序例号生成器的包含SYN+ACK的序例号,所以他不用看到SYN+ACK就可以 发出回应的ACK包,如下: 14:18:36.245045 server.login > x-terminal.shell: S 1382727010(0) win 4906 14:18:36.755522 server.login >x-terminal.shell .ack 2024384001 win 4096 到目前为止,伪装成server的主机已经通过 IP欺骗与x-terminal.shell建立了一次 正常的rsh连接,这时一旦x-terminal做出任何应答,攻击者就可以维持连接并且发送出数 据,下面他发送了如下数据: 14:18:37.265404 server.login > x-terminal.shell: P 0:2(2)ack 1 win 4906 14:18:37.775872 server.login > x-terminal.shell: P 2:7(5)ack 1 win 4906 14:18:37.287404 server.login > x-terminal.shell: P 7:32(25)ack 1 win 4906 这些数据是由tcpdump记录下来的,对应的命令其实就是: server#rsh x-terminal “echo ++ >>/.rhosts” 即在x-terminal上建立起使得任何主机都可以无须口令而行访问的/.rhosts文件。然 后,其实连接断开了。 怎么样,看得心惊胆跳吧,看上去好像花了好长的时间,其实不然„„从发送第一个数 据包,到发送最后一个数据包仅仅用了16秒~~~这一过程,只不过是运行了事先写好的程序 而已。 注:文章多处用了比较搞笑的字眼为的是让读者看起来不那么紧张、放松点能更容易理 解。 如果读者发现哪有不足之处请多多来信点评。
本文档为【什么是IP欺骗攻击】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_731942
暂无简介~
格式:doc
大小:31KB
软件:Word
页数:12
分类:互联网
上传时间:2017-10-25
浏览量:23