前言
在平时上网的过程中,经常会遇到在浏览器中输入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地址是多少
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服务器搭建
以及分析用户上网习惯等内容.