第33篇:DNS劫持攻击原理讲解及溯源分析的常规步骤
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劫持攻击原理讲解及溯源分析的常规步骤相关推荐
- 路由器DNS 劫持攻击情况
路由器 DNS 劫持攻击情况4.4.2.1 简介 DNS,即 Domain Name System(域名系统),是一种将域名解析为计算机能够识别的网络地址 (IP 地址)的系统,是 Internet ...
- ICANN敦促业界使用DNSSEC,应对DNS劫持攻击
HTTPS加密 可以有效帮助服务器应对DNS欺骗.DNS劫持.ARP攻击等安全威胁.DNS是什么?DNS如何被利用?HTTPS如何防止DNS欺骗? DNS如何工作? 如果您想访问www.example ...
- dns劫持广告原理及解决办法、dns劫持广告怎么办
DNS 广告劫持(属于DNS污染) 其实这不是一个新概念了,在几年前,中国一些不讲道德的运营商,尤其是地方运营商就开始捕捉用户浏览器的访问记录,然后根据不同用户的访问行为,有 选择地往用户访问的网页里 ...
- dns隧道攻击原理及常用工具流量分析
今天看到一个关于Lyceum组织的文章,这个组织擅长使用dns隧道攻击,这种攻击方式还是头一次听说,于是搜集了一些文章来看看. 原文https://www.cnblogs.com/HighnessDr ...
- android5.0协调布局CoordinatorLayout(第二篇CollapsingToolbarLayout效果实现原理讲解)原理
上一篇中已经讲解了CoordinatorLayout.AppBarLayout.CollapsingToolbarLayout之间的关系,这一篇探索一下CollapsingToolbarLayout内 ...
- 第6篇 | Weblogic反序列化攻击不依赖日志溯源攻击时间
Part1 前言 WebLogic是美国Oracle公司出品一款中间件产品,在国内使用也比较广泛.从2015年开始至今,接连爆出过10几个可直接利用的Java反序列化漏洞,相关漏洞的原理也越来越复 ...
- dns劫持简介 https流量数据获取原理
一.背景描述 最近波兰CERT一篇名<Large-scale DNS redirection on home routers for financial theft>为的文章引起我们的注意 ...
- Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗
文章目录 Ettercap 简介 常用指令 DNS劫持 设置kali机 攻击靶机 靶机反应 更换靶机访问页面的内容 Ettercap替换网页内容 编写过滤器 发现靶机 加载过滤器并开始攻击 靶机反应 ...
- CSRF攻击原理和防护措施讲解
CSRF攻击原理讲解 CSRF(Cross Site Request Forger)跨站请求伪造 CSRF是如何攻击的 这样的,比如你在 http://wwww.aaa.com 网站里面, 你现在登录 ...
最新文章
- YSLOW法则中,为什么yahoo推荐用GET代替POST?
- SQL Server温故系列(1):SQL 数据操作 CRUD 之增删改合
- 简单计算器的设计java_(基于java的简易计算器的设计.doc
- kafka分区(partition)和和分组(group)
- 严格凸函数充分必要条件_「管理数学基础」3.2 凸分析:凸函数
- python小结_python简单小结
- kali linux grub 安装失败,kali linux2 安装问题总结
- resize和reverse的区别
- Android WebView Error – Uncaught TypeError: Cannot call method ‘getItem’ of null at
- 微信小程序侧边栏滑动特效(左右滑动)
- Linux常用命令大全(持续更新)
- UVA10978 Let's Play Magic!【模拟】
- 加密软件漏洞评测系统_惠州上线软件产品登记测试企业
- VB.NET中DataGridView控件
- 爆款综艺也总火不过三季?谁来背锅?
- java closed_Java开发网 - ZipFile closed是什么错误?
- SAP 标准成本、计划成本、目标成本、实际成本计算公式
- 2021-10-15
- 微信小程序开发初学者之入门步骤和体验
- 商务通“隐形手机”牛皮轰轰可以休矣!