Bootstrap

剖析DNS劫持攻击原理及其防御措施

DNS劫持可导致用户访问到虚假网站,还可能使攻击者获取用户的敏感信息或利用受感染的计算机进行其他恶意活动。了解清楚DNS劫持攻击的原理有助于我们提升安全意识,避免个人信息泄露及财产损失。

1. 基础概念

DNS劫持是一种网络攻击,通过修改域名解析记录或拦截DNS请求,将用户重定向到恶意网站或虚假IP地址。这种攻击可以导致用户无法访问正确的服务,甚至访问到窃取信息或破坏原有服务的虚假网站。

有时当另一个人在原始域名过期后立即注册此域名也称为域名劫持。

要执行DNS劫持攻击,攻击者要么在用户的系统上安装恶意软件,要么通过利用已知漏洞或破解DNS通信实现路由器接管。攻击涉及破坏用户系统DNS的设置将其重定向到恶意的DNS服务器。

DNS劫持案例

2. DNS劫持原理

在介绍劫持原理前,你需要先了解典型的DNS解析流程。如果还不了解可以参阅《一文彻底了解DNS协议工作原理,恐怕没有比这更通俗易懂的了吧?》

域名解析原理

从上图可以看到,一次完整的DNS查询过程涉及客户端,本地域名服务器(递归解析器),权威域名服务器等多个节点。 在一次完整DNS查询链路的各个环节都有可能被DNS劫持。

DNS劫持原理

劫持后IP地址和域名的映射关系已经发生改变,用户发出的DNS请求将被重定向到由攻击者控制的流氓DNS服务器。这个受攻击者控制的流氓服务器会将用户的请求转换为恶意网站。

3. DNS劫持攻击分类

DNS劫持有多种实施方式,包括本地DNS劫持、路由器DNS劫持、中间人(MITM)DNS攻击和流氓DNS服务器等。

  • 本地DNS劫持攻击 :在本地DNS劫持中,用户的系统现在使用由攻击者控制的DNS服务器。攻击者控制的DNS服务器将网站域请求转换为恶意站点的IP地址,从而将用户重定向到恶意站点。

    windows本地DNS配置查看

  • 路由器DNS劫持攻击:攻击者利用路由器中存在的固件漏洞来覆盖DNS设置,从而影响连接到该路由器的所有用户。攻击者还可以通过利用路由器的默认密码来接管路由器。

    某路由器管理界面

  • 中间人DNS攻击:攻击者执行中间人(MITM)攻击以拦截用户和DNS服务器之间的通信并提供不同的目标IP地址,从而将用户重定向到恶意站点。

    MITM

  • 流氓DNS服务器:在此攻击中,攻击者可以破解DNS服务器,并更改DNS记录以将DNS请求重定向到恶意站点。所以这里建议大家配置较为知名的DNS服务器,如114或国内大厂的DNS服务器(如阿里、百度、腾讯),这样被劫持的风险会更小。

    国内优秀DNS服务器

4. 如何检测DNS劫持攻击

可以使用一些全网拨测的工具确认DNS劫持和其影响范围,如阿里的DNS域名检测工具(地址:https://zijian.aliyun.com/)
,通过配置好检测规则,可以一键排查各地域的DNS节点是否被劫持。

DNS拨测样例

5. 如何防止DNS劫持攻击

  • 及时更新安全软件和防病毒程序
  • 修补路由器中漏洞,使用复杂的密码重置路由器的默认密码
  • 建议使用公共DNS服务器,如114
  • 定期检查DNS设置是否被篡改
  • 如已被感染请删除hosts文件的内容并重新设置

;