
DNS劫持攻击是一种常见的网络攻击手段,攻击者通过篡改目标网络的DNS服务器,使得用户访问特定网站时被重定向到恶意网站,从而实现域名解析欺骗。这种攻击方式可以用于窃取用户隐私信息,植入恶意软件等。
攻击者通常会利用DNS缓存投毒、ARP欺骗、路由器漏洞等手段来劫持DNS服务器,从而控制目标网络的域名解析行为。一旦成功劫持,攻击者就可以将用户重定向到自己的恶意网站,对用户造成严重的信息泄露和财产损失。
除DNS劫持攻击,用户也可以主动选择使用公共DNS服务商进行域名解析。常见的公共DNS服务商包括谷歌DNS、Cloudflare DNS、OpenDNS等。这些服务商提供快速可靠的DNS解析服务,并且在隐私保护和安全性方面也有较好的表现。
相比于使用ISP提供的默认DNS服务,公共DNS服务商通常能够提供更快的解析速度,降低DNS污染和劫持的风险,也能够有效阻挡一些恶意网站和垃圾广告。对于注重上网隐私和安全的用户来说,使用公共DNS服务是一个不错的选择。
DNS作为互联网基础设施中的关键组件,一直是网络安全领域的重点关注对象。DNS劫持攻击是一种常见的域名解析欺骗手段,攻击者通过篡改DNS服务器的设置,将用户重定向至恶意网站,造成严重的信息泄露和财产损失。相比之下,使用公共DNS服务商不仅能够提高域名解析的速度和稳定性,还能增强用户的上网隐私和安全性。选择合适的DNS服务商对于保护个人上网安全至关重要。
DNS欺骗主要欺骗形式
DNS欺骗是网络中常见的一种攻击手段,它通过修改Hosts文件和DNS服务器的配置,实施欺骗行为。以下是两种主要的欺骗形式:
1. Hosts文件篡改:Hosts文件就像一个本地的DNS缓存,存储着域名与IP的映射关系。 恶意网站可能会在用户不知情的情况下,将它们的域名映射到错误的IP,比如127.0.0.1(本地计算机IP)或0.0.0.0(无效IP),以阻止用户访问。 通过在Hosts文件中添加如下的规则:
127.0.0.1 A网站
0.0.0.0 B网站
可以实现屏蔽特定网站。
2. 本机DNS劫持:这是一种更为高级的欺骗,劫持者拦截域名解析请求,将正常请求指向虚假IP或不响应,导致用户无法访问特定网站。 域名解析是将域名转换为IP地址的过程,高级用户可以通过设置DNS服务器指向正常来源来抵抗这种攻击。 如果知道目标网站的真实IP,可以直接使用该IP访问。 例如,使用网络的IP(202.108.22.5)代替域名。
此外,DNS欺骗还可能通过拒绝服务攻击(DoS)和偷取服务(ToS)来达到目的。 例如,通过修改DNS记录,使用户无法访问特定网站,或误导用户访问恶意网站。 然而,这些攻击也受到一些限制,如DNS缓存的存在和刷新时间,以及一些记录类型的累加性。
为了限制DNS欺骗,防御措施包括检查缓存中的记录,以及利用DNS服务器的TTL(Time To Live)来控制虚假记录的传播。 理解这些原理可以帮助我们更好地保护网络环境。
扩展资料定义: DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。 原理:如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。 DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。
浅析DNS劫持及应对方案
DNS劫持是网络攻击的重点目标,这种攻击方式通过篡改域名解析记录,将域名指向错误的IP地址,导致用户访问虚假网站,以窃取用户信息或破坏正常服务。 DNS劫持具有危害性、广泛性和深远性,对用户和企业机构均构成严重威胁。 本文将从DNS劫持的原理、危害、案例和应对方案四个方面进行简要分析。 ### DNS劫持原理DNS劫持的实现方式多样,关键在于篡改域名解析记录。 这一过程涉及DNS查询流程的各个环节,包括客户端缓存、DNS服务器缓存、DNS请求转发、DNS请求复制、DNS请求代答、DNS缓存感染等技术手段。 攻击者通过这些手段控制DNS解析结果,将用户引导至恶意站点。 ### DNS劫持的危害DNS劫持对用户和企业机构的危害双向多面。 对用户而言,可能导致个人信息泄露、财产损失;对机构而言,则可能丧失对域名的控制权,影响网站访问,导致业务中断,损害品牌形象和经济利益。 案例显示,DNS劫持事件频发,影响范围广泛,破坏性深远。 ### DNS劫持案例案例包括巴西银行、网络、日本银行系统等遭受的DNS劫持事件。 这些事件不仅影响了用户的安全和企业业务,还对网络信任度造成冲击,凸显了DNS劫持的严重性。 ### DNS劫持应对方案应对DNS劫持的策略包括:- 安装杀毒软件,定期更新密码,增强客户端安全。 - 企业端设置更短TTL值,定期刷新DNS缓存,减少DNS缓存被污染的风险。 - 加强域名账户安全,使用高强度密码并定期更换。 - 定期监控域名账户信息和解析状态,及时发现异常。 - 选择信誉良好的域名注册商,防止域名数据被篡改。 - 在客户端与DNS服务器通信中使用DNS加密技术,如DNS-over-TLS、DNS-over-HTTPS,增强数据传输安全性。 综上所述,DNS劫持是网络攻击中的一种严重威胁,需要从多个维度采取措施进行预防和应对,以保护网络环境的安全性和稳定性。
什么是DNS欺骗
DNS欺骗是指攻击者冒充域名服务器的一种欺骗行为。 攻击者通过入侵DNS服务器、控制路由器等方法把受害者要访问的目标机器域名对应的IP解析为攻击者所控制的机器,这样受害者原本要发送给目标机器的数据就发到了攻击者的机器上,这时攻击者就可以监听甚至修改数据,从而收集到大量的信息。 如果攻击者只是想监听双方会话的数据,他会转发所有的数据到真正的目标机器上,让目标机器进行处理,再把处理结果发回到原来的受害者机器;如果攻击者要进行彻底的破坏,他会伪装目标机器返回数据,这样受害者接收处理的就不再是原来期望的数据,而是攻击者所期望的了。 例如让DNS服务器解析银行网站的IP为自己机器IP,同时在自己机器上伪造银行登录页面,那么受害者的真实账号和密码就暴露给入侵者了。 DNS欺骗原理尽管DNS在互联网中扮演着如此重要的角色,但是在设计DNS协议时,设计者没有考虑到一些安全问题,导致了DNS的安全隐患与缺陷。 DNS欺骗就是利用了DNS协议设计时的一个非常严重的安全缺陷。 首先欺骗者向目标机器发送构造好的ARP应答数据包,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。 假设嗅探到目标靶机发出的DNS请求包有以下内容:Source address: 192.168.1.57Destination address: port: 1234Destination port: 53 (DNS port)Data: 我们伪造的DNS应答包如下:Source address: address: 192.168.1.57Source port: 53 (DNS port)Destination port: 1234Data: 192.168.1.59目标靶机收到应答包后把域名以及对应IP保存在了DNS缓存表中,这样的地址就被指向到了192.168.1.59上。 DNS欺骗的主要形式hosts文件篡改Hosts文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能,它可以由计算机的用户进行控制。 Hosts文件的存储位置在不同的操作系统中并不相同,甚至不同Windows版本的位置也不大一样:Windows NT/2000/XP/2003/Vista/win7:默认位置为%SystemRoot%system32driversetc,但也可以改变。 有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒。 对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样就不用访问了。 在WINDOWSX系统中,约定127.0.0.1为本地计算机的IP地址, 0.0.0.0是错误的IP地址。 如果,我们在Hosts中,写入以下内容:127.0.0.1 # 要屏蔽的网站 A0.0.0.0 # 要屏蔽的网站 B这样,计算机解析域名 A和 B时,就解析到本机IP或错误的IP,达到了屏蔽网站A 和B的目的。 本机DNS劫持DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。 由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。 所以域名劫持通常相伴的措施——封锁正常DNS的IP。 如果知道该域名的真实IP地址,则可以直接用此IP代替域名后进行访问。 比如访问网络,你可以直接用网络IP(202.108.22.5)访问。 简单的说就是把你要去的地址拦截下来,给你一个错误的地址,或者告诉你你要去的地方去不了,人为的导致你无法到达目的地,一般用于对一些不良网站的封杀或是一些黑客行为。 1、DNS欺骗在DNS的缓存还没有过期之前,如果在DNS的缓存中已经存在的记录,一旦有客户查询,DNS服务器将会直接返回缓存中的记录.下面我们来看一个例子:一台运行着unix的Internet主机,并且提供rlogin服务,它的IP地址为123.45.67.89,它使用的DNS服务器(即/etc/中指向的DNS服务器)的IP地址为98.76.54.32,某个客户端(IP地址为38.222.74.2)试图连接到unix主机的rlogin端口,假设unix主机的/etc/文件中使用的是dns名称来允许目标主机的访问,那么unix主机会向IP为98.76.54.32的DNS服务器发出一个PTR记录的查询:123.45.67.89 -> 98.76.54.32 NQY: 1 NAN: 0 NNS: 0 NAD: 0QY: PTRIP为98.76.54.32的DNS服务器中没有这个反向查询域的信息,经过一番查询,这个DNS服务器找到38.222.74.2和38.222.74.10为.的权威DNS服务器,所以它会向38.222.74.2发出PTR查询:98.76.54.32 -> 38.222.74.2 NQY: 1 NAN: 0 NNS: 0 NAD: 0QY: PTR请注意,38.222.74.2是我们的客户端IP,也就是说这台机子是完全掌握在我们手中的.我们可以更改它的DNS记录,让它返回我们所需要的结果:38.222.74.2 -> 98.76.54.32 NQY: 1 NAN: 2 NNS: 2 NAD: 2QY: PTRAN: PTR : A 38.222.74.2NS: NS : NS : A 38.222.74.2AD: A 38.222.74.10当98.76.54.32的DNS服务器收到这个应答后,会把结果转发给123.45.67.98,就是那台有rlogin服务的unix主机(也是我们的目标:) ),并且98.76.54.32这台DNS服务器会把这次的查询结果缓存起来.这时unix主机就认为IP地址为38.222.74.2的主机名为,然后unix主机查询本地的/etc/文件,看这台主机是否被允许使用rlogin服务,很显然,我们的欺骗达到了.在unix的环境中,有另外一种技术来防止这种欺骗的发生,就是查询PTR记录后,也查询PTR返回的主机名的A记录,然后比较两个IP地址是否相同:123.45.67.89 -> 98.76.54.32 NQY: (1) NAN: 0 NNS: 0 NAD: 0QY: A很不幸,在98.76.54.32的DNS服务器不会去查询这个记录,而会直接返回在查询(2)时得到的并且存在缓存中的信息:98.76.54.32 -> 123.45.67.89 NQY: 1 NAN: 1 NNS: 2 NAD: 2QY: AAN: A 38.222.74.2NS: NS : NS : A 38.222.74.2AD: A 38.222.74.10那么unix主机就认为38.222.74.2就是真正的了,我们的目的达到了!这种IP欺骗的条件是:你必须有一台Internet上的授权的DNS服务器,并且你能控制这台服务器,至少要能修改这台服务器的DNS记录,我们的欺骗才能进行.2、拒绝服务攻击 Denial of service还是上面的例子,如果我们更改位于38.222.74.2的记录,然后对位于98.76.54.32的DNS服务器发出的查询,并使得查询结果如下:因为完全由我们控制,所以我们能很方便的修改这些信息来实现我们的目的.38.222.74.2 -> 98.76.54.32 NQY: 1 NAN: 2 NNS: 2 NAD: 2QY: PTRAN: PTR : A 0.0.0.1NS: NS : NS : A 38.222.74.2AD: A 38.222.74.10这样一来,使用98.76.54.32这台DNS服务器的用户就不能访问了,因为这个IP根本就不存在!3、偷取服务 Theft of services还是上面的例子,只是更改的查询结果如下:38.222.74.2 -> 98.76.54.32 NQY: 1 NAN: 3 NNS: 2 NAD: 2QY: PTRAN: PTR : CNAME : MX 0 : NS : NS : A 38.222.74.2AD: A 38.222.74.10这样一来,一个本想访问的用户会被带到另外一个地方,甚至是敌对的公司的主页(想想把华为和北电联起来是什么样的感觉.:) ).并且发给的邮件会被发送给.(越来越觉得在网络上的日子不踏实! xxbin这样想).4、限制对这些攻击,也有一定的限制.首先,攻击者不能替换缓存中已经存在的记录.比如说,如果在98.76.54.32这个DNS服务器上已经有一条的CNAME记录,那么攻击者试图替换为将不会成功.然而,一些记录可以累加,比如A记录,如果在DNS的缓存中已经存在一条的A记录为1.2.3.4,而攻击者却欺骗DNS服务器说的A记录为4.3.2.1,那么将会有两个A记录,客户端查询时会随机返回其中一个.(呵呵,这不是loading balance么?)其次,DNS服务器有个缓存刷新时间问题,如果的TTL为7200,那么DNS服务器仅仅会把的信息缓存7200秒或者说两个小时.如果攻击者放入一条TLL为的A记录,那么这条记录将会在缓存中保存一周时间,过了默认的两天后,这个DNS服务器就会到处分发攻击者假造的记录.下面是常用的几种可以累加和不能累加的记录:A can addNS can addMX can addPTR cannot addDNS欺骗的防范DNS欺骗攻击是很难防御的,因为这种攻击大多数本质都是被动的。 通常情况下,除非发生欺骗攻击,否则你不可能知道你的DNS已经被欺骗,只是你打开的网页与你想要看到的网页有所不同。 在很多针对性的攻击中,用户都无法知道自己已经将网上银行帐号信息输入到错误的网址,直到接到银行的电话告知其帐号已购买某某高价商品时用户才会知道。 这就是说,在抵御这种类型攻击方面还是有迹可循。 保护内部设备:像这样的攻击大多数都是从网络内部执行攻击的,如果你的网络设备很安全,那么那些感染的主机就很难向你的设备发动欺骗攻击。 不要依赖DNS:在高度敏感和安全的系统,你通常不会在这些系统上浏览网页,最后不要使用DNS。 如果你有软件依赖于主机名来运行,那么可以在设备主机文件里手动指定。 使用入侵检测系统:只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。 使用DNSSEC: DNSSEC是替代DNS的更好选择,它使用的是数字前面DNS记录来确保查询响应的有效性,DNSSEC还没有广泛运用,但是已被公认为是DNS的未来方向,也正是如此,美国国防部已经要求所有MIL和GOV域名都必须开始使用DNSSEC。