DNS(域名系统)的作用是把网络地址(域名,以一个字符串的形式)对应到真实的计算机能够识别的网络地址(IP地址),以便计算机能够进一步通信,传递网址和内容等。由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。所以域名劫持通常相伴的措施——封锁正常DNS的IP。
如果知道该域名的真实IP地址,则可以直接用此IP代替域名后进行访问。比如访问百度域名,可以把访问改为202.108.22.5,从而绕开域名劫持 。
应对方法:
DNS劫持(DNS钓鱼攻击)十分凶猛且不容易被用户感知,曾导致巴西最大银行巴西银行近1%客户受到攻击而导致账户被盗。黑客利用宽带路由器的缺陷对用户DNS进行篡改——用户只要浏览一下黑客所掌控的WEB页面,其宽带路由器的DNS就会被黑客篡改,因为该WEB页面设有特别的恶意代码,所以可以成功躲过安全软件检测,导致大量用户被DNS钓鱼诈骗。
由于一些未知原因,在极少数情况下自动修复不成功,建议您手动修改。同时,为了避免再次被攻击,即使修复成功,用户也可按照360或腾讯电脑管家提示的方法修改路由器的登录用户名和密码。下面以用户常用的TP-link路由器为例来说明修改方法(其他品牌路由器与该方法类似)。
手动修改DNS
1.在地址栏中输入:http://192.168.1.1 (如果页面不能显示可尝试输入:http://192.168.0.1)
2.填写您路由器的用户名和密码,点击“确定”
3.在“DHCP服务器—DHCP”服务中,填写主DNS服务器为百度提供的公共DNS服务IP地址:180.76.76.76,备用DNS服务器为DNSpond提供服务IP为119.29.29.29,点击保存即可。
修改路由器密码
1.在地址栏中输入:http://192.168.1.1 (如果页面不能显示可尝试输入:http://192.168.0.1)
2.填写您路由器的用户名和密码,路由器初始用户名为admin,密码也是admin,如果您修改过,则填写修改后的用户名和密码,点击“确定”
3.填写正确后,会进入路由器密码修改页面,在系统工具——修改登录口令页面即可完成修改(原用户名和口令和2中填写的一致)
预防DNS劫持
其实,DNS劫持并不是什么新鲜事物,也并非无法预防,百度被黑事件的发生再次揭示了全球DNS体系的脆弱性,并说明互联网厂商如果仅有针对自身信息系统的安全预案,就不足以快速应对全面而复杂的威胁。因此,互联网公司应采取以下措施:
1、互联网公司准备两个以上的域名,一旦黑客进行DNS攻击,用户还可以访问另一个域名。
2、互联网应该对应急预案进行进一步修正,强化对域名服务商的协调流程。
3、域名注册商和代理机构特定时期可能成为集中攻击目标,需要加以防范。
4、国内有关机构之间应该快速建立与境外有关机构的协调和沟通,协助国内企业实现对此事件的快速及时的处理。
DNS劫持变种
上周百度搜索上线了一个非常重要的策略,如果发现有网站被植入恶意篡改用户路由DNS的代码时,就会拦截页面,打出提示!据安全联盟的统计发现过万的网站被黑,植入了路由DNS劫持代码,这个数量非常之大。
  过去一段时间,知道创宇安全研究团队就捕获了至少5个变种。这类攻击的模式一般是:
1.攻击者黑下一批网站;
2.攻击者往这批网站里植入路由DNS劫持代码(各种变形);
3.攻击者传播或坐等目标用户访问这批网站;
4.用户访问这些网站后,浏览器就会执行“路由DNS劫持代码”;
5.用户的家庭/公司路由器如果存在漏洞就会中招;
6.用户上网流量被“假DNS服务器”劫持,并出现奇怪的广告等现象;

虽然这次攻击主要针对Tp-Link路由器,不过中招的路由不仅TP-Link!对此安全联盟推出DNS劫持专题[1] ,为网民及站长提供详细解决方案。

以上来自百度百科:

那么了解DNS劫持,相信很多做WEBq前端与JAVA后端,以及运维的中都碰见过DNS劫持,那么有哪些方法以及那么工具,我一一为你们解答!

第一种:

运行nslookup
如果你当前的DNS服务器正常工作,返回的结果应该是你自己的DNS服务器。随便解析一个网站,比如www.microsoft.com
应该返回的是正常的地址然后再解析一个不存在的网站,比如
adfasdf.fljalfjsd.com.cn如果返回的结果是DNS request timed out.timeout was 2 seconds.
那么证明你的DNS没有被劫持如果返回的结果是一个IP地址,比如说网通的返回地址是123.xxx.xxx.xxx,那么证明你的DNS被劫持了。
请检查以下设置:
1. 右键点击我的电脑,点击属性
2. 点击计算机名
3. 点击其他
4. 检查“此计算机的主DNS后缀”设置,默认情况下这一设置应该是您的域名(比如Microsoft.com)
5. 打开网络链接
6. 右键点击网络链接并点击属性
7. 双击TCP/IP
8. 点击高级,并点击DNS属性页
9. 检查“附加主要的连接特定的DNS后缀”选项,默认“附加主DNS后缀的父后缀”是被选中的
10.检查此连接的DNS后缀内是否设置了内容,默认为空
11.HOSTS文件被修改也会这样,你可以在C:\Windows\System32\drivers\etc用记事本打开hosts文件看是否被添加了相关的网址和IP信息,默认的应该只有一个127.0.0.1
修复:
由于DNS被强制修改,kaspersky不能访问,可以尝试其它厂商的在线杀毒。DNS上清理缓存,并执行 ipconfig/flushdns,客户端上也执行该命令,在测试看看。
另:有的时候可以在浏览器中直接输入IP地址,而不是域名。请尝试!如果IP段被劫持,可以更换IP来解决。或者用360或者电脑管家进行修复,或者电脑急救箱。

第二种:

这篇文章把Dns分为两种,一种是主机或嵌入式设备dns,一种是网站域名dns,来讲述dns沦陷之后带来的危害。

你本地的网络连接的dns是通过路由器获取的,假如有一天你家里的路由被黑客入侵了,入侵者修改了你家里路由器的dns,那么他可以对你访问记录非常清楚,如系在文件,流量记录。既然解析都通过dns,我们完全可以自建dns,来进行攻击。

    1.路由器怎么样沦陷

攻击手法:csrf  路由器漏洞

CSRF

IE 出了一个安全补丁,禁止了Http Authentication Url, 使用此方法在IE下攻击是无效的 完美兼容FF chrome。 https://support.microsoft.com/zh-cn/kb/834489

<img src=http://192.168.1.1/userRpm/LanDhcpServerRpm.htm?dhcpserver=1&ip1=192.168.1.100&ip2=192.168.1.199&Lease=120&gateway=0.0.0.0&domain=&dnsserver=恶意的dns地址&dnsserver2=0.0.0.0&Save=%B1%A3+%B4%E6></img>

设备漏洞

烽火通信某款路由器被爆存在漏洞-可远程修改DNS

http://www.exploit-db.com/exploits/28450/

    2.自建dns(window)

在这里我使用微软自家产,(完全可以用其他产品代替,个人习惯问题)

        配置劫持域名

myhack58.com

转发器配置

转发器解决这台服务器没有应答的dns查询请求, 如这台主机只有myhack58.com, baidu.com等是不存在的,这种情况把会把baidu.com请求转发到你配置的dns去解析。我配置解析的dns是8.8.8.8

配置劫持域名A记录

刚才dns填写是跟域,这时候需要对A记录进行解析,比如我劫持www.myhack58.com到本地127.0.0.1。

我这解析是vps的IP,测试可以写127.0.0.1。但要用起来你解析写公网ip地址,不然别人解析是127.0.0.1,127.0.0.1是你本地,找不到的地址,没办法跟反向代理代理配合。

测试dns是否配置成功

可以使用dnslookup ping 等去测试

Dns已配置成功,虽然现在解析本地了,我本地难道就只能挂个黑页?当然不是,我的目的是要求是替换页面的内容.比如插入js,修改某个文字等。

客户端的配置

由于我在公司没有路由器,直接使用客户端做测试,客户端的dns获取来源还是路由器。

这时候配置成功,你可以打开baidu.com来测试,是否可以解析,正常打开。

3.反向代理搭建

反向代理来这里启到作用是,把dns解析www.myhack58.com的vps的这个请求代理到真实的解析。

我们要做的事情 要给页面插入一段js。

Openresty介绍

在这里我们使用Openresty,Openresty是基于nginx,它打包了标准的 Nginx 核心,很多的常用的第三方模块,nginx第三方模块都需要编译,在window下比较恶心 我直接找了一个Openresty_For_Windows,已打包我想要的是第三方模块http_sub_module。

下载地址:

https://github.com/LomoX-Offical/nginx-openresty-windows

使用nginx  -V 查看已支持的第三方模块

http_sub_module缺点

1.只能使用一条规则

2.不支持中文

反向代理配置

监听端口vps的公网IP的80端口.当dns查询请求解析到本地80的时候,80正好监听vps公网ip,反向代理是myhack58.com。实际上vps公网ip是myhack58.com

打开/conf/nginx.conf文件进行配置

使用了http_sub_module,替换了内容把

</head>换成</head><script sec=safe.js></script>,我故意写错 写成sec=

测试是否成功

先前已经把dns设置过去了,现在也可以ping通,那我们就查看源码 是否替换了页面内容。

配置其他功能

现在dns加反向代理配置已经完成了,你可以替换他的页面了

Openresty配置反向代理,你要是需要其他的配置还可以设置很多参数,如proxy_cache proxy_header  proxy_send_timeout  proxy_read_timeout。取决于自己用途。

二:网站域名dns劫持

当你通过社工拿到了某个域名权限, 但是你的目的是getshell,这时候你可以做反向代理,可以从两方面下手去做。

A记录劫持演示

直接修改域名劫持到A记录的你的恶意反向代理,但是这时候反向代理必须有配置upstream,在upstream指定原域名解析的ip地址,路由器劫持dns没有配置upstream 是因为上层的dns还可以解析到劫持域名的真实ip,而你这时候意见把A记录解析修改到了你的恶意反向代理机器,不去指定解析的地址, 上层找到解析的地址还是恶意的反向代理,形成一个死循环,永远打不开网站。

域名A记录劫持

www.sanr.org  192.168.182.128

反向代理      192.168.182.129

为什么要劫持A记录

如你通过社工之类拿到了域名的控制权限,这时候你想获取他的后台地址,或者cookie等你就需要这样做。

目前我已经控制sanr.org的域名解析权限,现在我们要做的是把www.sanr.org的A记录解析到192.168.182.129。让反向代理去访问真实的ip(也就是192.168.182.128),在反向代理的时候我们动手脚,插个js代码进去。

没修改A记录之前

修改域名A记录

修改域名到反向代理服务器 192.168.182.129

反向代理服务器搭建(192.168.182.129)

绑定域名为www.sanr.org 端口80,并指定上游(upstream)地址是192.168.182.128,必须指定上游地址(upstream),只有proxy_pass无upstream他会自动请求解析A记录。

路由器dns劫持那块没有用upstream是因为域名的A记录的iP地址你可以通过proxy_pass获取到。

而现在域名A记录解析是反向代理机器也就是本机(192.168.182.129),如不使用upstrema去指定真实的IP地址,proxy_pass直接去解析到的是本地IP,那么就会造成死循环,一直解析的都是本机。

下面是反向代理配置文件。

劫持成功

成功的给sanr.org的植入safe.js代码

dns劫持

跟路由器劫持dns一样,自建dns,之后把域名的dns解析配置的A记录解析到恶意的反向代理,反向代理中还是要指定upstream,跟a记录劫持一样,不然造成死循环。

Dns服务 反向代理软件有很多,完全取决于自己的习惯,用自己最喜欢的。

Dns win

WinMyDNS

微软自家

Dns linux

dnschef   “msfconsole  auxiliary/server/fakedns”

Powerdns bind 等 linux开源项目太多

反向代理

Squid  Varnish nginx 或者nginx 衍生版(Tengine  Openresty)

攻击手法不仅仅是替换网页内容 插入js,如劫持你路由器的dns, 连接3389也是输入域名也是通过dns解析的,我完全可以把A记录劫持我本地,连接3389是我本机的机器,之后安装WinlogonHack,来记录密码,WinlogonHack需要改成即使是错误密码也要记录,不然记录不到。

把www.baidu.com解析到我vps主机的ip

    Dns已生效,解析baidu.com也返回是vps主机的ip

连接3389(其实这时候是我vps的IP)

只要涉及到域名解析的 本地host  本地客户端dns  路由器dns,都可以这样去劫持,攻击手法变化多样,看你出自于什么目地去做。

第三种:

1.Cain进行DNS劫持、ARP欺骗。

2.小凡顶尖劫持插件程序。

3.浪花DNS域名劫持。

4.netfuke劫持工具

5.修复DNS劫持,使用OpenDNS解决DNS域名劫持。

6.一次利用社会工程学完成的域名劫持攻击。

7.入侵DNS解析服务器。

8.以IP冲突的方法来劫持域名。

9.openresty+lua在反向代理服务

10.Squid和Nginx是非常优秀的反向代理。

(以下来自红客联盟)

11.假扮域名注册人和域名注册商通信。

这类域名盗窃包括使用伪造的传真,邮件等来修改域名注册信息,有时候,受害者公司的标识之类的也会用上。增加可信度。
hushmail.com被盗窃就是一次典型的例子。当时一名域名劫持者使得注册服务提供商相信了他的身份,然后修改了该公司的域名管理员邮件信息。然后攻击者使用管理员邮件提交了密码重设请求。最后。攻击者登录域名服务商。修改密码。更改DNS记录,然后指向自己的服务器。
12.是伪造域名注册人在注册商处的账户信息。
攻击者伪造域名注册人的邮件和注册商联系。然后卖掉域名或者是让买家相信自己就是域名管理员。然后可以获利
13.是伪造域名注册人的域名转移请求。
这类攻击通常是攻击者提交一个伪造的域名转让请求,来控制域名信息。
在2001年,攻击者向服务商提交了一封信。谎称原注册人已经被公司解雇,须将域名转移给自己,结果他成功地控制了sex.com域名。最后被判了6500万美元罚款。
14. 是直接进行一次域名转移请求。
这类攻击有可能改dns,也有可能不改,如果不改的话。是很隐蔽的。但最终盗窃者的目的就是卖掉域名,当时blogtemplate4u.com 和 dhetemplate.com
两个域名是由美国一家公司通过godaddy注册管理的。结果某一天,一个盗窃者使用该公司管理员的帐号密码登录到域名管理商,执行了转移请求。注意。他没有更改dns记录。域名在转移期间。一切服务都没有受到影响。
15.是修改域名的DNS记录。
未经授权的DNS配置更改导致DNS欺骗攻击。(也称作DNS缓存投毒攻击)。这里。数据被存入域名服务器的缓存数据库里,域名会被解析成一个错误的ip,或是解析到另一个ip,典型的一次攻击是1997年Eugene Kashpureff黑阔通过该方法重定向了InterNIC网站。

DNS劫持原理与操作相关推荐

  1. DNS劫持原理、dns劫持有什么办法解决、DNS劫持原理与操作

    DNS(域名系统)的作用是把网络地址(域名,以一个字符串的形式)对应到真实的计算机能够识别的网络地址(IP地址),以便计算机能够进一步通信,传递网址和内容等.由于域名劫持往往只能在特定的被劫持的网络范 ...

  2. dns劫持解决办法、dns劫持是什么、dns劫持原理

    一.什么是DNS 在网络中,机器之间只认识IP地址,机器之间最终都要通过IP来互相访问.但是为了方便记忆,可以为IP地址设置一个对应的域名,通过访问域名,就可以找到对应IP地址的网站. 比如,我们访问 ...

  3. dns 劫持什么意思、dns 劫持原理及几种解决方法

    定义 DNS劫持就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则直接返回假的IP地址或者什么也不做使得请求失去响应,其效果就是对特定的网址不能访问或访问的是假网 ...

  4. DNS劫持详细过程及原理

    DNS劫持详细过程及原理 一.DNS劫持原理 1: DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求 2: 局域网劫持, 攻击者通过伪装成网关, 劫持受害者的网络请求, 将网络请求拦截 ...

  5. 深入理解Http请求、DNS劫持与解析

    背景 前段时间在处理iOS端的HTTPDNS相关SDK,在接入和测试环节发现大家对HTTP的整体请求流程包括HTTP劫持原理以及HTTPDNS的工作原理并不是太清楚,所以写下这边文章帮助大家深入web ...

  6. DNS劫持是什么意思?百度dns有什么坏处?DNS被劫持会造成哪些后果?

    DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假 ...

  7. 浅析DNS劫持及应对方案

    DNS是网络连接中的重要一环,它与路由系统共同组成互联网上的寻址系统,如果DNS遭遇故障,"导航系统"失效,网络连接就会出现无法触达或到达错误地址的情况.由于的DNS重要作用及天生 ...

  8. 浅谈DNS劫持相关概念及原理

    目录 一.前言 二.什么是DNS? 三.DNS原理 1.DNS工作原理 2.DNS服务器 3.本地DNS 4.域名的层级 5.根域名服务器 四.DNS劫持 1.什么是DNS劫持 2.DNS劫持的方法 ...

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

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

最新文章

  1. IBM强化Watson对商业语言的理解能力—AI辩论一些关键技术首次商业化
  2. NASM学习之Windows下编写16位程序
  3. LeNet试验(二)权重参数随训练的变化
  4. springboot集成swagger2,以及swagger-ui.html访问404的问题解决:拦截器造成的
  5. 转载:div和flash层级关系问题
  6. winform教_电脑绝技教你22天学精Csharp之第十五天winform应用程序补充5
  7. python requests 代理ip_python requests 测试代理ip
  8. 转:Real6410 Linux 常见问题总结(截至2010/07/26)
  9. Android内存优化之——static使用篇
  10. django基础 第一章 环境搭建
  11. Qt下载(多种下载通道+所有版本)(付在线教程)
  12. Win2000 Server***监测
  13. uni-app +vue+微信小程序 发布线上
  14. 培训考试计算机系统,企业培训考试系统
  15. python中计数器的用法_python – 使用单例作为计数器
  16. java程序框图 质数_判断质数的程序框图和算法
  17. 闽南歌歌词有一句电子计算机,抖音wow you can really dance下一句是什么歌 歌词全文...
  18. 修复被劫持、篡改的IE主页
  19. python播放网络音乐_Python实现在线音乐播放器示例
  20. JDK17遇到报错 module java.base does not “opens java.util“ to unnamed module 问题解决

热门文章

  1. 第二篇:在MVPArms项目使用了androidx和butterknife报错
  2. 【转载】bat批处理教程 作者:hipi 日期:2006-11-05
  3. SIFT特征匹配算法——Vlfeat与Graphviz安装的相关问题解决
  4. Cordova 环境搭建+打包Android APK
  5. php关键字相似度查询,php查询相似度最高的字符串的方法
  6. 一、移动通信原理--第一章-概述
  7. Stevey's Google Platforms Rant
  8. 使用iText动态生成pdf,并用pdf.js在线预览
  9. Docker容器之Docker Toolbox下配置国内镜像源-阿里云加速器(Windows)
  10. 按键精灵+大漠插件简单数字验证码识别实践笔记