中间人攻击之DNS欺骗
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中间人攻击-DNS欺骗
在前面的文章(中间人攻击-ARP毒化)中,我们讨论了黑客危险的攻击和实用的ARP中毒原理。在本文中,我将首先探讨检测和防止ARP中毒(或ARP欺骗)攻击,然后我将回顾其他的中间人攻击-DNS欺骗。
ARP缓存攻击是一项非常危险的攻击,重要的是在用户中创建安全的意识和分析有效的工具和策略。如果你操作的是小型网络,那么就很容易维护ARP。但是在大型的网络,维护ARP是很困难和费事的。在前一篇文章的最后我们讨论了工具和技术,能够被用来检测ARP缓存中毒攻击。让我们来回顾下每一步:
静态ARP
你可以在网络ARP表中手动的添加一些信息,一旦信息插入,你就有了静态ARP映射。输入数据的过程也是非常简单,在你的终端/CMS中,只需输入:“arp -s”
例子:
你现在的ARP表:
root@bt:~# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.1 ether 00:22:93:cf:eb:6d C eth0
让我们假设一下,我想添加一个新的主机在我的ARP缓存表中,我输入如下命令:
arp -s IP MAC
root@bt:~# arp -s 192.168.1.2 00:50:FC:A8:36:F5
root@bt:~# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.2 ether 00:50:fc:a8:36:f5 CM eth0
192.168.1.1 ether 00:22:93:cf:eb:6d C eth0
root@bt:~#
需要注意的是,手动添加ARP表只适用于当前的会话。当你重新启动计算机,将更新表。如果你想要使用这种方法,那么你可以创建一个批处理文件/BASH文件,并将它们添加到启动项。
ARPwatch
(ps:监听ARP记录)
这是一个不错的实用程序,已经被用来监测ARP网络,它能够探测并记录发生更改的网络,同时还发送邮箱详细说明各自的变化。安装过程也是非常简单的。
对于Ubuntu用户:
# apt-get install arpwatch
root@bt:~# arpwatch -h
Version 2.1a15
usage: arpwatch [-dN] [-f datafile] [-i interface] [-n net[/width]] [-r file] [-s
sendmail_path] [-p] [-a] [-m addr] [-u username] [-R seconds ] [-Q] [-z ignorenet/ignoremask] 如果需要快速检测就用下面这个命令:
# arpwatch -i interface
root@bt:~# arpwatch -i eth0
检查程序是否在运行:
root@bt:~# ps -ef | grep arpwatch
arpwatch 1041 1 0 14:05 ? 00:00:00 /usr/sbin/arpwatch -u arpwatch -N -p
root 2191 2165 0 14:54 pts/0 00:00:00 grep –color=auto arpwatch
接下来的步骤就是ARPwatch记录日志,这也非常简单,你只需要做得是确定目录,然后读取文件。
root@bt:~# cd /var/lib/arpwatch
root@bt:/var/lib/arpwatch# ls
arp.dat arp.dat-
root@bt:/var/lib/arpwatch# cat arp.dat
00:50:fc:a8:36:f5 192.168.1.2 1337437776 eth0
00:27:0e:21:a6:1e 192.168.1.5 1337437923 eth0
所以如果你是网络管理员,那么你应该实施一些策略来监视ARP表并且保护主机免受ARP中毒攻击。
当然我们要注意,中间人攻击并不局限于一个ARP欺骗攻击。正如前面提到的,还有许多其他的技术能够执行一个中间人攻击。一个主要的例子就是DNS欺骗,我们将分析它。
DNS欺骗攻击
DNS欺骗攻击是一种非常危险的中间人攻击,它容易被攻击者利用并且窃取用户的机密信息。虽然这篇文章可以提供一些新的见解,但重要的是DNS欺骗是一个一般概念,有无数种方法可以实现一个DNS欺骗攻击。
在一个DNS欺骗攻击中,攻击者可以利用一个漏洞来伪造网络流量。因此,要理解DNS欺骗攻击,必须理解DNS是怎样工作的。
DNS(域名系统)在互联网中是一个非常重要的协议。它属于TCP/IP,是一个分层结构的分布式模块,它包含域名的相关信息。它负责在网络上映射域名到他们各自的IP上。DNS定位主机/服务器通过查看友好域名,使用域名系统,DNS将域名和IP地址相互映射。这些设备(路由器、服务器等)连接到你的电脑不能理解一些友好的名称(),他们只了解一个IP地址,而DNS负责翻译它。
让我们来看看下面这个图来理解主机和本地DNS服务器的正常通信。
DNS服务器包含着一个主数据库,其中包括信息的IP地址,因为这涉及到相应的域名。所以在这些正常的通信中,一个主机发送请求到服务器,之后服务器响应正确的信息。如果DNS没有信息传入的请求,它将发送请求到外部DNS服务器来获取正确的响应。
那么攻击者如何使用中间人攻击来实施DNS欺骗呢?下图说明了答案:
使用DNS欺骗中间人攻击,攻击者将截取会话,然后转移到一个假网站的会话。假如:用户希望访问,并且谷歌的IP地址为173.194.35.37,攻击者就可以使用DNS欺骗技术拦截会话,并将用户重定向到假冒的网站,假网站IP可以为任意IP。
演示DNS欺骗攻击
在本系列的以前文章中我发现ettercap是一个很好用来演示ARP欺骗攻击的工具。当然ettercap包含一个DNS插件,非常容易使用哦。