分享
 
 
 

DNSIDHacking

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一、关于DNS ID Hacking的一些描述

你可能会对DNS ID Hackingspoofing的含义有些迷惑,它与一般直接攻击一样,只不过利用的是DNS协议上的漏洞,并且可能有较大的普遍性及伤害作用――好象没什么DNS服务器能够逃过它――甚至WINNT。

1、DNS协议机制简述

首先我们来看看DNS是如何工作的,我将在这里说明这一协议中相对重要的一些部份。为了更好的叙述,我们先用一个实例来看一看一个DNS请求的信息包是如何在网络里传送的吧。

1.1 : 客户机(bla.bibi.com)发送一个请求要求解析域名"www.heike.com",bla.bibi.com的DNS是ns.bibi.com这台机器,现在我们看看下图吧:

这图是我们要分析的情况的示意,应该很清楚了,好,那就看看gethostbyname是如何工作的:

....

gethosbyname("www.heike.com");

....

[bla.bibi.com]

[ns.bibi.com]

111.1.2.123:1999 ---[?www.heike.com]------ 111.1.2.222:53

这里我们可以看到这个名字请求从bla.bibi.com的1999端口(随机选择)发送到了dns机器的53端口――DNS的绑定端口。

dns.bibi.com收到这个解析的请求后,就开始了它的工作了……

[ns.bibi.com]

[ns.internic.net]

111.1.2.222:53 --------[dns?www.heike.com]---- 198.41.0.4:53

它先问ns.internic.net哪台机器是www.heike.com的主名称服务器,如果没查到的话它就把请求发往.com域的权威服务器。在这里要先问ns.internic.net的原因是,可能这个域名在它的缓存里存在着――这可以节约时间。

[ns.internic.net]

[ns.bibi.com]

198.41.0.4:53 ------[ns for.com is 144.44.44.4]------ 111.1.2.222:53

这里ns.internic.net就回答了ns.bibi.com,.com的权威DNS的IP在144.44.44.4,我们叫它ns.for.com吧,然后ns.bibi.com会问ns.for.com关于www.heike.com的地址,仍然没有找到――于是又请求heike.com的DNS权威服务器的地址。

[ns.bibi.com]

[ns.for.com]

111.1.2.222:53 ------[?www.heike.com]----- 144.44.44.4:53

ns.for.com的应答。

[ns.for.com]

[ns.bibi.com]

144.44.44.4:53 ------[ns for heike.com is 31.33.7.4]--- 144.44.44.4:53

现在我们知道了管heike.com域的权威服务器的IP地址了,姑且称之为ns.heike.com吧,我们可以问它www.hieke.com的IP地址了;)

[ns.bibi.com]

[ns.heike.com]

111.1.2.222:53 -----[?www.heike.com]---- 31.33.7.4:53

现在我们得到了www.heike.com的IP喽!

[ns.heike.com]

[ns.bibi.com]

31.33.7.4:53 -------[www.heike.com == 31.33.7.44] ---- 111.1.2.222:53

ns.bibi.com把它转发给刚才发送请求的机器bla.bibi.com

[ns.bibi.com]

[bla.bibi.com]

111.1.2.222:53 -------[www.heike.com == 31.33.7.44]---- 111.1.2.123:1999

呵呵,现在bla.bibi.com就晓得www.heike.com的IP地址了 :)

好了,现在我们假想另一种情况吧,我们希望通过机器的IP来得到它的域名,为了做到这点,我们做的是所谓的"指针查询"。由于DNS树中名字是从底向上写的,所以我们要做如下的一个转换:

示例:

100.20.40.3将被表示为3.40.20.100.in-addr.arpa

这种方式仅用于DNS的IP解析请求。

现在来看看我们通过31.33.7.44(www.heike.com)的IP来查询它的域名的过程吧,或者说是通过44.7.33.31.in-addr.arpa来查询它的域名的过程;)

....

gethostbyaddr("31.33.7.44");

....

[bla.bibi.com]

[ns.bibi.com]

111.1.2.123:2600 -----[?44.7.33.31.in-addr.arpa]----- 111.1.2.222:53

我们发送请求到ns.bibi.com

[ns.bibi.com]

[ns.internic.net]

111.1.2.222:53 -----[?44.7.33.31.in-addr.arpa]------ 198.41.0.4:53

ns.internic.net将会把认证该IP的地址'31.in-addr.arpa'返回给请求者

[ns.internic.net]

[ns.bibi.com]

198.41.0.4:53 -- [DNS for 31.in-addr.arpa is 144.44.44.4] - 111.1.2.222:53

现在ns.bibi.com向144.44.44.4问同样的问题

[ns.bibi.com]

[ns.for.com]

111.1.2.222:53 -----[?44.7.33.31.in-addr.arpa]------ 144.44.44.4:53

如此循环,其实这种方式与gethostbyname没有什么两样……

我希望你能理解上述的DNS对话,现在我们开始进一步了解DNS报文的格式吧。

1.2 :

DNS报文

这里是DNS报文的大致格式 :

1.3 : DNS报文结构

标识(id)

这是用来鉴证每个DNS报文的印记,由客户端设置,由服务器返回,它可以让客户匹配请求与响应。后面我们将更详细地提到……

参数(flags)

参数域被分成好几个部份 :

QR

= 如果QR位设为0表示报为是查询,如果1则是响应

opcode = 通常是0,指标准查询,1是反向查询,2是服务器状态查询。

AA

= 如果此位为1,表示服务器对问题部份的回答是权威性的。

TC

= 截断,如果UDP包超过512字节将被截流

RD

= 表示希望递归,如果它设为1的话,表示递归查询。

RA

= 如果设为1,表示递归可用。

Zero

= 如它的名称一样,总是0

rcode

= 就象errno一样,0表示没有错误,3表示名字错误。

DNS查询报文:

下面是DNS报文查询的格式 :

一个报文查询的结构是下面这样的

示例:

www.heike.com是[3│w│w│w│5│h│e│i│k│e│3│c│o│m│0]

对IP地址来说,也是同样的;)

44.33.88.123.in-addr.arpa是:

[2│4│4│2│3│3│2│8│8│3│1│2│3│7│i│n│-│a│d│d│r│4│a│r│p│a│0]

还有一种压缩格式,但我们不需要用到,就略过了。

查询类型:

这里是一些我们最经常用到的查询类型――这些类型大约有20种不同的类型,我可懒得全部列出来了;)

名称

A

1

│ IP地址

(将域名解析为IP)

PTR

12

│ 指针

(将IP解析为域名)

DNS响应报文:

响应报文有个共同的格式,我们称之为资源记录――RR

下面是响应报文的格式(RR)

域名 :

域名是与下面的资源数据对应的名字,它的格式同前面讲到的查询名一样,比如还是www.heike.com吧,它的域名是用下面方式表现的:[3│w│w│w│5│h│e│i│k│e│3│c│o│m│0]

类型 :

类型标识了RR类型代码号,它同前面讲到的查询类值一样。

类 :

通常为1,表示因特网数据。

生存时间:

表示客户方将RR放在高速缓存里的时间,RRs的TTL通常为2天。

资源数据长度 :

标识资源数据的大小。

下面我们将用一个简单的例子来帮助大家理解:

这个例子展示了当ns.bibi.com向ns.heike.com询问www.heike.com地址时,这些数据报文的模样。

ns.bibi.com:53 --- [?www.heike.com] ---- ns.heike.com:53 (Phear Heike ;)

上面是查询报文

现在我们来看看ns.heike.com的回答

ns.heike.com:53 --[IP of www.heike.com is 31.33.7.44] -- ns.bibi.com:53

OK,就这么多了;)

分析 :

在应答中QR = 1 是因为它是应答;)

AA = 1 因为名称服务器是权威服务器

RA = 1 是因为递归是可用的

好了,我希望你能理解上面所说的一切,下面要进行的攻击里要用到上面的理论的。

二、DNS ID的攻击及欺骗

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有