DNS Spoof

DNS Spoof

HuAmI Lv3

DNS Spoof

摸上了Ettercap这款工具一直想做一下DNS劫持的,于是乎就开启了一个DNS劫持复现的过程~~~

(本演示仅用于教学,不可用于任何非法用途,违反法律造成的任何后果自行承担)

**Ettercap: ** Ettercap 是一个用于局域网流量分析与中间人攻击(MITM)实验的安全工具。

分类 内容 说明
工具类型 局域网安全测试工具 主要用于 MITM(中间人)攻击实验与防御验证
工作层级 二层为核心 依赖 ARP,而不是 ping / ICMP
使用前提 同一局域网 不同子网、跨路由基本无效
典型环境 内网 / 实验网 Kali、教学、授权测试
功能 作用 结果
主机发现 扫描局域网在线设备 Host List 里出现多个 IP
ARP 欺骗 构造中间人 选 Target1 / Target2
流量嗅探 捕获通信数据 能看到 HTTP / DNS
流量篡改 修改经过的数据 演示完整性破坏
插件系统 扩展攻击 / 检测 dns_spoof、arp_cop

接下来我就用集成了Ettercap工具的kali (linux虚拟机)来做演示:

演示前提条件 :

前提条件 是否必须 原因说明
同一局域网 必须 DNS 劫持基于二层/三层,跨路由无效
能成为中间人(MITM) 必须 必须“看到并拦截”DNS 请求
ARP 可被欺骗 必须 常见实现方式(Ettercap 依赖)
目标使用 非加密 DNS 必须 DoH / DoT 会直接失效
目标 DNS 请求能到达你 必须 不管是发给网关还是本地 DNS
合法授权环境 必须 实验/教学前提

首先我们进入kali虚拟机的环境中:

img

输入对应名称就可发现相关使用的命令和功能 ; (一般多用ettercap -G图形化窗口)

img

在开始实验前,我需要做一下准备,首先需要一台受害者虚拟机(我这里是win10),保证kali与win10虚拟机可以互ping(win10防火墙全部关闭)

然后查询当前win10的IP/ipconfig

img

我这里用的是桥接模式(即网关是真实存在的网关:192.168.10.1)

同时需要保证二者在同一网关下.然后我们在kali上搭建自己的平台.

启动apache的服务

1
service apache2 start

同时进入linux的系统文件夹中,寻找配置文件(即想让受害者看到的页面),默认位置在

1
/etc/ettercap/etter.dns

同时对dns文件进行配置,这里添加如图两行的文本(可以理解为将所有DNS解析到对应的服务地址)

img

这里我们将DNS解析的位置定位到我们自己的IP上(即kali的IP地址),保存并退出.

然后我自己简单做了一个index.html的页面来展示DNS劫持成功的结果(用trae),我们自己做了以后,放在下面的路径中.

1
/var/www/html/

然后我们可以自己测试一下,能否访问.

img

然后我们启动ettercap图形化的工具.默认选中eth0网卡,同时关闭sniffing at startup(网络嗅探).

img

然后点击在右上角的 完成后.点击左上角的 🔍(搜索样式的图标),对该网段下的所有hosts进行扫描,再点击🔍右侧的图标

img

我们就能看到该网段下正在使用的IP.

img

第一个为网段也就是路由器的地址,第二个是我另一台物理机的地址,第三个是其他物理机地址,第四个就是win10(受害)虚拟机的IP地址.

我们可以用手机连接wifi重复刚才操作来观察这个表单是否改变.

其次我们选中我们当前的网关作为target1(192.168.10.1),选中我们要劫持的主机(win10: 192.168.10.19)加入到target2(可以选择多个)

接着我们点击MITM中间人攻击的表单,选择ARP欺骗

img

默认OK,然后点击右边的三个点,找到plugins选项,选择 manage plugins, 选择DNS_Spoof

img

配置成功后点击左上的三角,开启劫持.此时在win10虚拟机上访问任何网站都会解析成我们之前设置的指定的页面.

img

  • Title: DNS Spoof
  • Author: HuAmI
  • Created at : 2026-01-03 18:12:57
  • Updated at : 2026-01-03 17:26:17
  • Link: https://redefine.ohevan.com/2026/01/03/DNS_Spoof/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
DNS Spoof