前言数据库
在平时上网的过程当中,常常会遇到在浏览器中输入a网站,而后出来的页面倒是b网站的页面,浏览器上的网址仍是a网站的网址.或者在输入了a网站的网址后,浏览器通过一个或几个跳转,跳到了b网站,此时浏览器上的网址也跟着发生了变化.浏览器
若是发生了上述状况,那么你颇有多是被dns劫持了,不少人不知道其中的原理,下面就来简单讲解黑客实现DNS劫持攻击的一种方式.缓存
DNS是什么?安全
DNS(Domain Name System,域名系统)因特网上做为域名和IP地址相互映射的一个分布式数据库,可以使用户更方便的访问互联网,而不用去记住可以被机器直接读取的IP数串。简单的将,就是咱们平时所访问的页面是保存在远端的服务器上面的.服务器
而在因特网中,各个主机是用IP地址来相互访问的,也就是你要上百度的网站,最原始的方法是在浏览器中输入百度服务器的ip地址来实现访问.IP地址是一段32位二进制数,后来为了输入方便,人们将它改成了点分十进制,例如192.168.1.1(更多知识请查阅相网络
关资料)这种形式,但是,这样的话访问几个网站还好,更多的话就须要记住不少IP地址,十分不便.为了解决这个问题(不单是),人们发明了DNS,在DNS服务器上面存放IP地址与域名的对应关系,这样就不用再记忆枯燥的数字了,例如须要访问百度,只须要知道它分布式
的域名是www.baidu.com,而不用关心它的IP地址是多少.那域名系统具体的工做流程是什么样的?学习
1.打开浏览器,在网址栏输入www.baidu.com网站
2.浏览器向DNS服务器询问www.baidu.com对应的IP地址是多少spa
3.获得IP浏览器去访问百度服务器
大概流程就是这样,实际状况复杂一些,那么浏览器怎么知道dns服务器地址的呢,其实在操做系统的IP设置里早已定义好,你会说,我没有定义啊?那么你的dns服务器的ip多是由局域网中的DHCP服务器提供的,无论哪一种方式,均可以在命令行界面中输入
ipconfig /all来查看或者点击以太网的详细信息来查看.
固然你能够选择ip地址自动获取,DNS本身定义,这个须要了解DHCP的知识:
DNS劫持是什么?
顾名思义就是黑客经过各类方式,将你的dns服务器地址改成黑客指定的地址,以提供错误的IP与域名对应关系,达到欺骗正常网络访问请求的目的.
可用的方式比较多,例如经过抢答,或者污染缓存的方式,本文试着重现一下较为简单的方式,修改路由器DHCP服务器来劫持下级DHCP客户端网络对网络的访问.
使用DHCP的主机一般不关心本身的dns服务器是什么,这种状况在手机上或者是对网络不了解的人的电脑上比较多见,这也给黑客提供了可乘之机.
网络安全意识不高的人有不少,家用路由器弱口令的分布状况能很好的证实这一点.侧面说明了网络安全任重道远.下面就从家用路由器入手,实现dns劫持.
注意:本文提供的方法为理解和学习之用,请勿用于对他人实施攻击.做者对于所产生的后果不负任何责任.
寻找目标
既然要对家用路由弱口令进行利用,那么就从宽带分配ip段入手.看看有没有路由器对wan口网络端开放管理页面并且可操做的.首先要对网络实施扫描,我比较喜欢使用Nmap,由于其可定制性很是强大,功能全面,除了上手有些难度外,几乎没有其余的缺点.
选取我所在的网络某个段,实施扫描,参数以下(关于nmap使用,可参考官方中文man page: https://nmap.org/man/zh/)
nmap *.76.0-10.0-255 -p80 -oG d:\Nmapout\test1.txt --open
上面指令的结果为显示 *.76.0-10.0-255 (实际地址隐去) 中开放80端口的ip,并将结果输出到文本文件.文件内容以下:
一共有20几个,选取几个IP进行访问,发现一个弱口令而且可操做的路由器:默认密码admin,进入路由器,修改dhcp服务器:
只须要将首选或者备用DNS改成你本身指定的,便可完成dns劫持,固然了,实际状况须要有能够控制的DNS服务器才能够,须要本身搭建dns服务器,并且,除了定向攻击意外,单独劫持一台路由器的dns没有实际意义.本文的第二篇会继续记录DNS服务器搭建
以及分析用户上网习惯等内容.