沙漏安全团队
欢迎真正热爱技术的你!
DNS劫持的原理:
下面开始进行实验、
准备工作:
实验环境:kali2.0——IP(192.168.137.129)
win7——IP(192.168.137.130)默认网关(192.168.137.2)
欲劫持的页面——我们学校官网(www.xxxx.edu.cn)
首先,编辑/var/www/html/index.html
vim /var/www/html/index.html
<h1>hello,this is SLsec</h1>
<h2>hack by m0re!</h2>
然后编辑/etc/ettercap/etter.dns
学校官网==
然后命令行使用图形化ettercap工具
ettercap -G
选择默认就好,直接进入
先扫描,再列出局域网存活主机
然后将要欺骗的主机的默认网关add to target1
将主机的IP地址add to target2
按照上图顺序即可
然后激活dns_spoof模块
然后 manage plugins——>dns_spoof
双击,然后出现*即可
然后开始攻击
直接默认即可
然后win7就被劫持了。再访问学校官网就看到的是我提前设置好的了。
最后说一下实验后的总结
1.劫持的必须是支持http协议的网站,如果是https的,那么就无法劫持到我们想要得到的界面。就会显示拒绝连接,这个是困扰我一段时间的问题,因为劫持百度的就无法成功,还以为是操作问题或者实验环境的问题。
补充:关于百度劫持不成功的原因在下面会有解释,这里再啰嗦一句就是,劫持成功后受害者访问,如果是访问https://www.baidu.com,那么不会被劫持则会显示拒绝连接。如果是以http协议访问就可以成功。
2.其次,劫持过的网站,即使停止劫持,工具那边停止攻击之后,靶机再次访问之前被劫持的网站,仍然是被劫持时的界面。
主要是运营商以节省跨省流量结算费用为目标进行DNS劫持。当运营商系统发现HTTP访问的域名时会在区域内的服务器中缓存一份资源,后续用户再请求的时候其域名解析会被解析到运营商的服务器上去由运营商的服务器直接返回内容。
其应对方法只有使用HTTPS,但并不仅仅是在原有的域名HTTP的基础上切换HTTPS那么简单,还需要保障这个域名不支持HTTP访问并且没有被大范围使用HTTP访问过,如果不这样做的话会出现一个问题,运营商在DNS解析的时候并不知道这个域名是用什么协议访问的,当之前已经记录过这个域名支持HTTP访问后,不管后续是否是HTTPS访问,都会进行DNS劫持,这是如果使用的是HTTPS访问,会因为运营商的缓存服务器没有对应的SSL证书而导致请求无法建立链接,这时就会遇到请求失败的问题。
DNS欺骗攻击,与钓鱼技术结合使用会获得不错的效果。
钓鱼结合使用参考
https://www.cnblogs.com/hkleak/p/5186523.html
GitHub项目地址https://github.com/evait-security/weeman
文章中的那个原项目已被删除。
- 平顶山学院 沙漏安全团队 -
微信号 : 网络安全攻防训练营
欢迎真正热爱技术的你!
奋发努力
拼搏向上
本期编辑:bosoun_ho
本文始发于微信公众号(网络安全攻防训练营):DNS欺骗复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论