前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第33篇:DNS劫持攻击原理讲解及溯源分析的常规步骤

第33篇:DNS劫持攻击原理讲解及溯源分析的常规步骤

作者头像
ABC_123
发布2022-12-06 10:42:59
3.7K0
发布2022-12-06 10:42:59
举报
文章被收录于专栏:网络安全abc123网络安全abc123

Part1 前言

在世界杯举办期间,DNS劫持事件估计会和链路劫持事件一样,风险提升很多。上期分享了一篇《第32篇:某运营商链路劫持(被挂博彩页)溯源异常路由节点(上篇)》,本期就讲一下DNS劫持攻击的相关知识吧。关于DNS层面的攻击手段比较多,比如DNS劫持、DNS污染、DNS重绑定攻击、DNS反射放大攻击等等。一般认为DNS劫持攻击与DNS污染是两回事,DNS污染一般指的是DNS缓存投毒攻击,这个我们后续再讲。DNS劫持通过改变用户的域名解析记录实现攻击,即使用户访问的是正常网址,也会在不知情的情况下被引流到仿冒网站上,因此DNS劫持破坏力强,而且不易察觉。

Part2 前置基础知识

依照惯例,为了照顾一些新手朋友,首先讲一些前置的基础知识,否则始终理解不了DNS劫持的分析方法。

  • DNS解析过程

在分析DNS劫持攻击事件前,一定要先把DNS解析过程理清楚。网上对于DNS解析的流程图很多,但很多图画的不是很清晰明白,有的还有错误。ABC_123看了10几篇文章,选择了一张看起来清晰明了的示意图分享给大家。

网上的文章对于DNS解析后半程的“迭代查询”过程讲的都差不多,但是对于前期的“递归查询”部分说法不一。接下来我就重点讲讲“递归查询”部分吧。这里ABC_123给出自己的见解,欢迎大家批评指正。

大致流程应该是这样:当我们在浏览器中输入www.qq.com时,浏览器首先会检查浏览器自己的缓存记录中是否有此域名的dns解析记录;如果没有,接下来会去查找操作系统的DNS缓存记录;如果还没有,就会去本机的HOST文件去找;如果还没找到,浏览器会向我们电脑“本地连接”中的“TCP/IP参数”中设置的首选DNS服务器(本地DNS服务器)中发起域名解析请求,如果这个本地DNS服务器的本地区域文件与缓存解析的记录都没有找到,那么本地DNS服务器会替代我们的本地浏览器,将域名解析请求转发给全球13个根服务器去进行迭代查询。

后续的DNS迭代查询,网上的文章说法都比较统一,没有异议,我这里就不多讲了。其实真实的DNS解析过程比这个要复杂多的,如果细究起来,一个DNS本地缓存解析,就能写很长很长的一篇文章了。

  • 谷歌浏览器DNS缓存记录

打开chrome浏览器,输入命令chrome://net-internals/#dns,可以看到浏览器的DNS缓存记录,但是此功能默认是关闭的,需要开启相应选项才能用。

  • 操作系统DNS缓存记录

执行ipconfig /displaydns命令可以查看本地DNS缓存记录,输入ipconfig /flushdns可以刷新DNS缓存。

  • 使用指定DNS查询域名

如果在应急排查中,需要使用指定DNS服务器来查询域名的ip地址,可以用如下命令:

Windows系统:nslookup www.baidu.com 114.114.114.114

Linux系统:dig @114.114.114.114 www.baidu.com

Part3 DNS劫持排查点

前面我们弄清楚了DNS域名解析的过程,那我们也就知道攻击者可以在哪些地方去篡改用户的DNS解析记录了,接下来依次给大家讲一讲。

  • 本地HOSTS文件配置

网上传播的木马病毒,可能会修改HOSTS文件,强制将受害者电脑的百度、淘宝、银行等网站的域名解析到一个恶意IP上,实施DNS劫持攻击,HOSTS文件的位置是C:\Windows\System32\drivers\etc\HOSTS。如果一些攻击者想要盗取我们密码,他们可以做一个跟目标网站一模一样的页面,让用户登录,当用户输入完密码提交的时候就,用户名密码就被攻击者记录到了。

  • 本地连接的DNS配置

网上传播的木马病毒,可能会修改用户本地的“首选DNS服务器”配置,将用户的首选DNS服务器指向一个恶意的DNS服务器,攻击者可以操作此恶意DNS服务器,篡改用户的域名解析记录。

  • 路由器的DNS配置

如果用户将个人电脑设置了“自动获取DNS服务器地址”,那么这个DNS地址一般会从路由器上获取。打开路由器web管理界面,即可看到默认的DNS服务器地址。攻击者可以批量入侵用户的路由器,将路由器的DNS记录更改掉。读者可能会有疑问,现在的路由器一般外网访问不到,客户怎么会中招呢?举个例子,DNS重绑定攻击就可以做到外网打内网,这种攻击比较复杂,我们后续再讲。再比如说,假设酒店的总路由存在弱口令,一旦被攻击者猜解成功后,就可以将DNS地址更改掉。

  • 运营商强制DNS解析

如果前面2个步骤设置了DNS,但是本地看到的DNS和你设置的DNS完全不同,既不是电脑本机设置的DNS,也不是路由器设置的DNS,那就有可能是运营商强制指定了DNS服务器。这样运营商可以屏蔽用户对一些恶意网址的访问,当然,一旦用户欠费了,那么访问任意url,都会跳转到指定的缴费提醒界面。

本机使用的DNS服务器也可以通过这个URL可以查询:https://nstool.netease.com/

  • 域名账号被盗

域名管理员的密码设置得太过简单,被攻击者猜解到,攻击者也可能通过社工库查找到域名管理员的账号密码,从而登录后台,将域名解析记录修改掉。

  • 恶意DNS服务器或DNS被黑

用户自己设置的看起来很正常的DNS服务器也是可能出问题的,DNS服务器可能被攻击者控制,也可能是有相关权限的工作人员恶意修改了某些域名解析记录,导致了正常用户域名访问被解析到恶意ip上。

Part4 应对方案及总结

1. 本地安装杀毒软件,及时更新病毒库。

2. 加强域名账号密码的复杂度,防止密码被攻破。

3. 在客户端和递归DNS服务器通信的最后阶段中使用DNS加密技术,如DNS-over-TLS,DNS-over-HTTPS等。

4. DNS重绑定攻击及DNS缓存投毒攻击是非常巧妙的,但理解起来有一定的困难,欢迎关注本公众号,后续会继续分享相关的技术文章。

专注于网络安全技术分享,包括红队攻防、蓝队分析、渗透测试、代码审计等

每周一篇,99%原创,敬请关注

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 希潭实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part2 前置基础知识
  • Part3 DNS劫持排查点
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档