kali [DNS劫持] 实验(详细步骤)

一、描述

介绍

DNS劫持 (Domain Name System hijacking) 是黑客经常使用的一种攻击方式,其原理是通过篡改DNS系统的域名解析结果,将某个域名解析到指定的IP地址,从而使得用户访问该域名所对应的网站时,被重定向到攻击者控制的虚假网站,进而实现种种欺骗行为,如钓鱼、木马下载、恶意软件等。

原理

DNS劫持的核心原理就在于篡改域名解析结果,攻击者通过某种手段获取到通信链路上的DNS信息,然后将目标域名解析到他所想要的IP地址上,从而将用户引导到自己的虚假网站。

DNS攻击方式包括以下方式:

1.本地劫持:将目标域名解析到本机的IP地址上,从而使用户在访问被劫持的域名时被重定向到自己的虚假网站。

2.路由器劫持:攻击者通过攻击用户路由器,修改其DNS服务器配置,从而获得更广泛的攻击范围。

3.中间人攻击:攻击者通过在数据传输过程中拦截DNS查询请求,并将自己的恶意解析结果插入其中,实现目标域名劫持的目的。(本次实验使用方式)

使用的工具

启动工具:ettercap

Ettercap 是 Kali Linux 中一款强大的中间人攻击工具,主要用于网络嗅探ARP 欺骗DNS 劫持等操作。它支持命令行和图形界面两种模式,可对局域网内的流量进行监控和篡改。

 主要功能:
 1)、ARP 欺骗 - 伪造 ARP 响应,使目标主机与网关之间的通信流量流经攻击者主机
 ​
 2)、DNS 劫持 - 修改 DNS 响应,将目标域名解析到指定 IP
 ​
 3)、数据包嗅探 - 捕获并分析网络数据包
 ​
 4)、内容篡改 - 修改传输中的数据(如 HTTP 请求 / 响应)
 ​
 5)、密码提取 - 从流量中提取明文密码等敏感信息
 #Ettercap 插件主要分为以下几类:
 ##1. 嗅探增强类
    `p0f_fingerprint`:基于数据包特征进行操作系统识别
    `http_header`:提取 HTTP 请求 / 响应头信息
    `irc_passwd`:嗅探 IRC 聊天密码
 ##2. 中间人攻击类
    `dns_spoof`:DNS 劫持,修改域名解析结果
    `arpmitm`:ARP 欺骗基础模块
    `sslstrip`:HTTPS 降级攻击(需配合其他工具)
 ##3. 内容篡改类
    `html_codeinject`:向 HTML 页面注入自定义代码(如 JavaScript)
    `replace`:替换传输中的文件(如图片、可执行文件)
    `url_rewrite`:重写 URL 请求
 ##4. 信息收集类
    `etterlog`:记录所有嗅探到的流量
    `macof`:MAC 地址泛洪攻击
    `sniff_ports`:扫描目标开放端口
 ##5. 自动化攻击类
    `mitm_ssh`:SSH 中间人攻击(实验性)
    `mitm_smtp`:SMTP 中间人攻击
    `flooder`:发起 DoS 攻击

二、环境条件以及配置

靶机:Windows10

攻击机:kali Linux

网络环境:同一个局域网下

1、修改配置文件

进入ettercap目录,修改dns配置文件

 cd /etc/ettercap
 vim etter.dns

ip a或者ifconfig或nmcli均可查看ip地址

打开文件后,添加数据信息

 *(劫持所有网站)   A(记录类型)   IP(跳转到哪一个IP地址)
 *(劫持所有网站)   PTR(记录类型)   IP(跳转到哪一个IP地址)
 ​
 # * 表示所有的域名,不使用 * 也可以,具体指定域名也可以,比如:www.baidu.com
 ​
 # DNS 协议的两种核心记录类型:A 记录和PTR 记录
 ## A 记录:用于将域名映射到IP 地址。当你访问一个网站(如www.example.com)时,浏览器首先会向 DNS 服务器查询该域名对应的 A 记录。
 #作用:将所有域名(使用通配符*表示)的 A 记录查询都重定向到指定 IP
 ​
 ## PTR记录:反向 DNS 解析记录,与 A 记录相反,用于将IP 地址映射回域名。通常用于邮件服务器验证、网络管理等场景。
 #作用:将所有 IP 地址的反向查询(PTR 记录)都指向指定 IP 对应的域名

之后保存退出即可

接下来启动kail自带的apache服务

 service apache2 start

重新编辑index.html文件,修改成攻击者想要用户看到的页面。

 cd /var/www/html 
 vim index.html

默认的index.html界面如下:

2、配置ettercap
 #启动ettercap的图形化界面
 ettercap -G

先扫描一下局域网下活跃的主机

将靶机的ip添加到目标1当中,网关的ip添加到目标2当中,并查看:

Ctrl键+t进行查看:

点击右上角的图标,进行ARP欺诈,测试是否成功:

出现以下信息,说明测试完成

3.DNS劫持

接下来进行劫持

到靶机当中,首先我们正常的去访问网站,访问界面是正常的

发送的ping数据包以及回复数据也正常

然后回到kail当中继续配置,开始DNS劫持

菜单栏当中选择Plugins选项

选择第一项

打开以后,找到dns_spoof,双击

前面出现*表示启动成功,以及观察通知栏的提醒信息

配置完成后,回到靶机当中再次访问

此过程注意:

 #关闭kali Linux的防火墙,不关闭可能网页无法显示
 systemctl stop firewalld

此时ping百度,发现返回的是kali的ip地址,DNS欺骗成功;

靶机再次访问百度或者其他页面的时候,访问到的则是我们在kali上设置的页面(如果没有出现,可以清除一下浏览器缓存再次访问)

kali当中的ettercap工具界面信息:

DNS劫持防护措施

1.使用HTTPS协议

HTTPS协议是一种加密通信协议,可以保证数据在传输过程中的安全性,防范黑客对数据的窃取和篡改,从而有效地防止DNS劫持的攻击。

2.使用DNSSEC

DNSSEC是一种旨在提高DNS安全性的扩展协议,其主要用于防御DNS欺骗攻击。DNSSEC通过数字签名来防止DNS响应被篡改,从而防范DNS劫持攻击。

3.使用VPN

使用虚拟私人网络(VPN)是防范DNS劫持的有效方法。VPN通过建立安全隧道,加密用户的网络流量,能够有效地阻止黑客对数据的窃取和篡改,并防止DNS劫持攻击导致的信息泄漏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祁白_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值