今天无意中看到一个同学写的关于Ettercap实现局域网dns劫持,感觉写的很好玩,也想学学,接下来我就把学习的成果展现出来。
环境准备:
1.kali2.0操作系统;
2.用到的软件:kali中的Ettercap,一个集成工具,里面包括了局域网主机扫描,arp欺骗,DNS劫持等功能;
3.受害PC:自己的虚拟机中的系统centos。
原理
DNS,全称为域名解析协议,是一种将域名解析为ip地址的协议,基于UDP的53端口。比如我们在浏览器访问百度域名,会先向dns服务器发送一次dns请求报文,询问百度的ip地址,dns服务器经过查询(或递归查询)会将百度的域名以及对应的ip地址以dns响应报文的形式发回给我们,然后我们才可以与所对应的ip建立TCP连接进行网络通信。dns劫持建立在arp欺骗的基础上,关于arp的文章之前有写过,链接:arp协议分析&python编程实现arp欺骗抓图片,通过arp欺骗可以监听受害者机器到网关之间的流量,如果可以过滤协议为UDP,端口为53端口的数据报文,也就是DNS报文,并且将dns响应中的域名所对应的ip地址改写成我们服务器的ip,受害者机器就会与我们的机器进行连接通信,这就是dns投毒的基本原理,kali的Ettercap就可以做到这一点。
1.打开ettercap的DNS文件进行编辑,在kali linux2.0下的文件路径为/etc/ettercap/etter.dns
2.编辑/var/www/html/index.html文件 改成你定义页面
3.输入命令ettercap -G来进入ettercap的图形界面
4.选择网卡点击Sniff–>Unfied sniffing—配置,网卡选择eth0
5.接下来点击Hosts–>Scan for hosts,扫描局域网中存活的ip,寻找攻击目标
7.将网关192.168.10.1 Add to Target1,将受害PC192.168.10.132 Add to Target2
11.下面开始dns劫持,点击Plugins–>Manage the plugins
13.最后点击strat>start sniffing开始DNS欺骗
14.我们这时用被攻击的PC访问百度,就会看到dns已经被劫持
同时可以欺骗室友的电脑和手机,呜呼,就是这么皮,就喜欢看他们突然惊叫“我去,咋没网啦!”,此时偷笑就好,免得被他们发现,让你跪着唱征服。
遇到恶作剧DNS劫持解决办法:
打开cmd命令行输入ipconfig /flushdns,刷新dns缓存即可。