解析中间人攻击之二――DNS欺骗
2010-06-21 00:00:00 来源:WEB开发网核心提示: 图1: DNS查询和响应DNS函数是属于查询/响应类型的格式,当客户端希望解析DNS域名为IP地址时,解析中间人攻击之二――DNS欺骗(2),就会向DNS服务器发送一个查询,然后服务器会将对应的作为回复,然后我们就能够发送欺骗性的数据包,这样做的目的是为了让目标网络的用户访问我们制造的恶意网址而
图1: DNS查询和响应
DNS函数是属于查询/响应类型的格式,当客户端希望解析DNS域名为IP地址时,就会向DNS服务器发送一个查询,然后服务器会将对应的作为回复。从客户端的角度来看,看到的只有两个数据包:查询和响应。
图2: DNS查询和响应数据包
而当我们进一步考虑DNS递归问题时,这种情况就会变得更加复杂。由于互联网DNS结构的层次性,DNS服务器需要能够互相通信以便获取客户端发送的查询所对应的答案。我们的内部DNS服务器可能知道本地局域网络服务器的IP地址映射,但是我们不能指望内部DNS服务器知道全世界网络的IP地址映射。这也就是递归发挥作用的地方,就是当一台DNS服务器代表客户端的名义向另一台DNS服务器发送查询请求,也就是说,这种情况下,DNS服务器变成了客户端,如图3所示。
图3: DNS通过递归的查询和响应
欺骗DNS
执行DNS欺骗攻击的方法有很多,在这里我们将使用一种称为DNS ID欺骗的技术。
每个通过互联网发送的DNS请求都包含一个独特的识别码,其目的在于辨识查询和响应,并将对应的查询和响应配对在一起。这就意味着,如果我们的攻击计算机可以拦截目标设备发送的DNS查询,我们就只需要做一个包含该识别码的假数据包,这样目标计算机就会根据识别码而接受我们发送的查询结果。
我们将使用一个简单的工具分两个步骤来完成整个操作。首先,我们对目标设备进行ARP缓存中毒攻击以重新路由通过攻击主机的目标设备的通信,这样我们就能够拦截DNS查询请求,然后我们就能够发送欺骗性的数据包。这样做的目的是为了让目标网络的用户访问我们制造的恶意网址而不是他们试图访问的网址,如图4所示。
更多精彩
赞助商链接