阅 读 文 章

[ZT]IP欺骗与盗用原理

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(htldm) | 时间:2007-05-27 | 浏览:人次 ]


IP欺骗的技术比较复杂,不是简单地照猫画老虎就能掌握,但作为常规攻击手段,有必要理解 
其原理,至少有利于自己的安全防范,易守难攻嘛。   
      
假设B上的客户运行rlogin与A上的rlogind通信:   
假设B上的客户运行rlogin与A上的rlogind通信: 

1. B发送带有SYN标志的数据段通知A需要建立TCP连接。并将TCP报头中的sequence number设置成自己本次连接的初始值ISN。 

2. A回传给B一个带有SYS+ACK标志的数据段,告之自己的ISN,并确认B发送来的第一个数据段,将acknowledge number设置成B的ISN+1。 

3. B确认收到的A的数据段,将acknowledge number设置成A的ISN+1。 

B ---- SYN ---->; A 
B <---- SYN+ACK ---- A 
B ---- ACK ---->; A 

  TCP使用的sequence number是一个32位的计数器,从0-4294967295。 TCP为每一个连接选择一个初始序号ISN,为了防止因为延迟、重传等扰乱三次握手,ISN不能随便选取,不同系统有不同算法。理解TCP如何分配ISN以及ISN随时间变化的规律,对于成功地进行IP欺骗攻击很重要。 

  基于远程过程调用RPC的命令,比如rlogin、rcp、rsh等等,根据/etc/hosts.equiv以及$HOME/.rhosts文件进行安全校验,其实质是仅仅根据信源IP地址进行用户身份确认,以便允许或拒绝用户RPC。 

  IP欺骗攻击的描述: 

1. 假设Z企图攻击A,而A信任B,所谓信任指/etc/hosts.equiv和$HOME/.rhosts中有相关设置。注意,如何才能知道A信任B呢?没有什么确切的办法。我的建议就是平时注意搜集蛛丝马迹,厚积薄发。一次成功的攻击其实主要不是因为技术上的高明,而是因为信息搜集的广泛翔实。动用了自以为很有成就感的技术,却不比人家酒桌上的巧妙提问,攻击只以成功为终极目标,不在乎手段。 

2. 假设Z已经知道了被信任的B,应该想办法使B的网络功能暂时瘫痪,以免对攻击造成干扰。著名的SYN flood常常是一次IP欺骗攻击的前奏。请看一个并发服务器的框架: 

int initsockid, newsockid; 
if ((initsockid = socket(...)) < 0) { 
error("can't create socket"); 

if (bind(initsockid, ...) < 0) { 
error("bind error"); 

if (listen(initsockid, 5) < 0) { 
error("listen error"); 

for (;{ 
newsockid = accept(initsockid, ...); /* 阻塞 */ 
if (newsockid < 0) { 
error("accept error"); 

if (fork() == 0) { /* 子进程 */ 
close(initsockid); 
do(newsockid); /* 处理客户方请求 */ 
exit(0); 

close(newsockid); 


listen函数中第二个参数是5,意思是在initsockid上允许的最大连接请求数目。如果某个时刻initsockid上的连接请求数目已经达到5,后续到达initsockid的连接请求将被TCP丢弃。注意一旦连接通过三次握手建立完成,accept调用已经处理这个连接,则TCP连接请求队列空出一个位置。所以这个5不是指initsockid上只能接受5个连接请求。SYN flood正是一种 Denialof Service,导致B的网络功能暂时中断。 
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 原理 欺骗 攻击 连接 IP ISN 数据 发送 TCP 请求 一个

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.