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%原创,敬请关注

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

  1. 路由器DNS 劫持攻击情况

    路由器 DNS 劫持攻击情况4.4.2.1 简介 DNS,即 Domain Name System(域名系统),是一种将域名解析为计算机能够识别的网络地址 (IP 地址)的系统,是 Internet ...

  2. ICANN敦促业界使用DNSSEC,应对DNS劫持攻击

    HTTPS加密 可以有效帮助服务器应对DNS欺骗.DNS劫持.ARP攻击等安全威胁.DNS是什么?DNS如何被利用?HTTPS如何防止DNS欺骗? DNS如何工作? 如果您想访问www.example ...

  3. dns劫持广告原理及解决办法、dns劫持广告怎么办

    DNS 广告劫持(属于DNS污染) 其实这不是一个新概念了,在几年前,中国一些不讲道德的运营商,尤其是地方运营商就开始捕捉用户浏览器的访问记录,然后根据不同用户的访问行为,有 选择地往用户访问的网页里 ...

  4. dns隧道攻击原理及常用工具流量分析

    今天看到一个关于Lyceum组织的文章,这个组织擅长使用dns隧道攻击,这种攻击方式还是头一次听说,于是搜集了一些文章来看看. 原文https://www.cnblogs.com/HighnessDr ...

  5. android5.0协调布局CoordinatorLayout(第二篇CollapsingToolbarLayout效果实现原理讲解)原理

    上一篇中已经讲解了CoordinatorLayout.AppBarLayout.CollapsingToolbarLayout之间的关系,这一篇探索一下CollapsingToolbarLayout内 ...

  6. 第6篇 | Weblogic反序列化攻击不依赖日志溯源攻击时间

     Part1 前言  WebLogic是美国Oracle公司出品一款中间件产品,在国内使用也比较广泛.从2015年开始至今,接连爆出过10几个可直接利用的Java反序列化漏洞,相关漏洞的原理也越来越复 ...

  7. dns劫持简介 https流量数据获取原理

    一.背景描述 最近波兰CERT一篇名<Large-scale DNS redirection on home routers for financial theft>为的文章引起我们的注意 ...

  8. Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗

    文章目录 Ettercap 简介 常用指令 DNS劫持 设置kali机 攻击靶机 靶机反应 更换靶机访问页面的内容 Ettercap替换网页内容 编写过滤器 发现靶机 加载过滤器并开始攻击 靶机反应 ...

  9. CSRF攻击原理和防护措施讲解

    CSRF攻击原理讲解 CSRF(Cross Site Request Forger)跨站请求伪造 CSRF是如何攻击的 这样的,比如你在 http://wwww.aaa.com 网站里面, 你现在登录 ...

最新文章

  1. YSLOW法则中,为什么yahoo推荐用GET代替POST?
  2. SQL Server温故系列(1):SQL 数据操作 CRUD 之增删改合
  3. 简单计算器的设计java_(基于java的简易计算器的设计.doc
  4. kafka分区(partition)和和分组(group)
  5. 严格凸函数充分必要条件_「管理数学基础」3.2 凸分析:凸函数
  6. python小结_python简单小结
  7. kali linux grub 安装失败,kali linux2 安装问题总结
  8. resize和reverse的区别
  9. Android WebView Error – Uncaught TypeError: Cannot call method ‘getItem’ of null at
  10. 微信小程序侧边栏滑动特效(左右滑动)
  11. Linux常用命令大全(持续更新)
  12. UVA10978 Let's Play Magic!【模拟】
  13. 加密软件漏洞评测系统_惠州上线软件产品登记测试企业
  14. VB.NET中DataGridView控件
  15. 爆款综艺也总火不过三季?谁来背锅?
  16. java closed_Java开发网 - ZipFile closed是什么错误?
  17. SAP 标准成本、计划成本、目标成本、实际成本计算公式
  18. 2021-10-15
  19. 微信小程序开发初学者之入门步骤和体验
  20. 商务通“隐形手机”牛皮轰轰可以休矣!

热门文章

  1. 豆瓣时间“黑镜人生”的推荐书单
  2. hash路由实现微信登陆后的重定向
  3. 这里是Python爬虫的起点,抢占资源啦(Python学习教程)
  4. 打造高安全数字基础设施:中国电子云服务关键行业的宣言
  5. 使用Labelimg打标签
  6. SimpleDraweeView圆角
  7. Navicat对数据库进行简单的单表查询语句
  8. 前端基础-Node.js核心模块的使用
  9. L1_SVD方法的稀疏矩阵的DOA估计
  10. Mars3D(含Cesium)数据及服务篇:城市建筑物转为3DTiles白膜格式