kali DNS劫持
一、描述
介绍:
DNS劫持(Domain Name System hijacking)是黑客经常使用的一种攻击方式,其原理是通过篡改DNS系统的域名解析结果,将某个域名解析到指定的IP地址,从而使得用户访问该域名所对应的网站时,被重定向到攻击者控制的虚假网站,进而实现种种欺骗行为,如钓鱼、木马下载、恶意软件等。
原理:
DNS劫持的核心原理就在于篡改域名解析结果,攻击者通过某种手段获取到通信链路上的DNS信息,然后将目标域名解析到他所想要的IP地址上,从而将用户引导到自己的虚假网站。
攻击方式包括以下方式:
1.本地劫持:将目标域名解析到本机的IP地址上,从而使用户在访问被劫持的域名时被重定向到自己的虚假网站。
2.路由器劫持:攻击者通过攻击用户路由器,修改其DNS服务器配置,从而获得更广泛的攻击范围。
3.中间人攻击:攻击者通过在数据传输过程中拦截DNS查询请求,并将自己的恶意解析结果插入其中,实现目标域名劫持的目的。
二、环境条件
靶机:Windows7
攻击机:kali Linux
同一个局域网下
三、实现步骤
工具:ettercap
1、修改配置文件
进入ettercap目录,修改dns配置文件
ip a或者ifconfig或nmcli均可查看ip地址
打开文件后,添加数据信息
*
表示所有的域名,不使用*
也可以,具体指定域名也可以,比如:www.baidu.com
保存退出即可
接下来启动kail自带的apache服务,输入命令service apache2 start打开apache服务,删除源文件(可以不删)重新编辑index.html文件,修改成自己想要的页面。
这里我对源html文件做了备份,自己简单写了一个html
修改的index.html代码如下:
根据自己的想法自定义即可
通过kali浏览器打开,尝试访问,观察apache是否启动成功
出现此界面(此界面为我们修改后的界面,也可以不修改,使用默认的界面),说明apache启动成功!
默认界面如下:
2、配置ettercap
在终端输入指令:
ettercap -v #查看版本
ettercap -h #查看帮助
ettercap -G
#启动图形化界面,G为大写
打开图形化界面,进行配置
扫描局域网下的活跃主机,并查看
使用快捷键Ctrl键+h调出列表,或者直接点击放大镜(扫描)旁边的视图也可以
将靶机的ip添加到目标1当中,网关的ip添加到目标2当中,并查看
Ctrl键+t进行查看
点击右上角的图标,进行ARP欺诈,测试是否成功:
全选即可
出现以下信息,说明测试完成
3.DNS劫持
接下来进行劫持
到靶机当中,首先我们正常的去访问网站,访问界面是正常的
发送的ping数据包以及回复数据也正常
ping百度
ping到csdn
然后回到kail当中继续配置,开始DNS劫持
菜单栏当中选择Plugins选项
选择第一项
打开以后,找到dns_spoof,双击
前面出现*
表示启动成功,以及观察通知栏的提醒信息
配置完成后,回到靶机当中再次访问
此过程注意:
关闭kali Linux的防火墙,不关闭可能网页无法显示
systemctl stop firewalld
此时ping百度和csdn,发现返回的是kali的ip地址,DNS欺骗成功
kali当中的ettercap工具界面信息:
访问网页的页面效果:
访问百度:
注:如果网页无法正常的显示或者卡顿,可尝试清理缓存,再访问重试即可
DNS劫持防护措施
1.使用HTTPS协议
HTTPS协议是一种加密通信协议,可以保证数据在传输过程中的安全性,防范黑客对数据的窃取和篡改,从而有效地防止DNS劫持的攻击。
2.使用DNSSEC
DNSSEC是一种旨在提高DNS安全性的扩展协议,其主要用于防御DNS欺骗攻击。DNSSEC通过数字签名来防止DNS响应被篡改,从而防范DNS劫持攻击。
3.使用VPN
使用虚拟私人网络(VPN)是防范DNS劫持的有效方法。VPN通过建立安全隧道,加密用户的网络流量,能够有效地阻止黑客对数据的窃取和篡改,并防止DNS劫持攻击导致的信息泄漏。
文章不妥之处,欢迎批评指正!