MITM——DNS篇
字数 1329 2025-08-18 11:38:28
MITM攻击之DNS欺骗技术详解
一、基本概念
1. MITM攻击
中间人攻击(Man-in-the-Middle Attack)是一种通过拦截正常网络通信数据并进行篡改和嗅探的攻击方式,通信双方对此毫不知情。DNS欺骗是MITM攻击的典型应用之一。
2. DNS协议
DNS(域名系统)是TCP/IP协议族中的重要协议,负责将域名映射到对应的IP地址。DNS欺骗就是通过篡改DNS响应,将目标域名解析到攻击者控制的IP地址。
3. ARP协议
地址解析协议(ARP)用于根据IP地址获取物理地址(MAC地址)。ARP欺骗(ARP毒化)是实施DNS欺骗的前提条件。
二、所需工具
1. Ettercap
- 功能:全面的中间人攻击工具,支持实时连接嗅探、动态内容过滤
- 特点:内置dns_spoof插件可快速实现DNS欺骗
- 官网:http://www.ettercap-project.org
2. Setoolkit
- 全称:Social-Engineer Toolkit(社会工程工具包)
- 基于Python开发,集成了Metasploit框架
- 主要用于创建钓鱼网站和收集用户凭证
三、攻击流程
1. 环境准备
- 攻击机:ParrotSec虚拟机(192.168.1.102)
- 靶机:物理机(192.168.1.111)
2. 配置Ettercap
- 编辑DNS配置文件:
sudo vim /etc/ettercap/etter.dns
- 添加DNS记录:
www.taobao.com A 192.168.1.102
login.taobao.com A 192.168.1.102
DNS记录类型说明:
- A记录:指定域名对应的IP地址
- PTR记录:IP地址的反向解析,主要用于邮件服务器验证
3. 实施ARP毒化
- 使用Ettercap进行ARP欺骗(具体操作参考ARP欺骗相关文档)
- 加载dns_spoof插件
- 开启嗅探功能
4. 设置钓鱼网站
- 启动Setoolkit:
setoolkit
- 选择社会工程学攻击(选项1)
- 选择网站攻击向量(选项2)
- 选择凭证窃取(选项3)
- 选择网站克隆功能
- 输入目标网站(如https://login.taobao.com/)
- 指定攻击机IP(192.168.1.102)
Setoolkit会自动启动Apache服务,无需手动配置。
四、攻击效果
-
目标用户访问被欺骗的域名(如login.taobao.com)时:
- 域名被解析到攻击者服务器(192.168.1.102)
- 显示与真实网站完全相同的登录界面
-
用户输入凭证后:
- 凭证信息被攻击者捕获
- 根据配置,可能重定向到真实网站或保持无法访问状态
-
攻击者可在后台查看捕获的凭证数据
五、防御措施
- 使用DNSSEC(DNS安全扩展)验证DNS响应真实性
- 部署HTTPS并启用HSTS防止SSL剥离攻击
- 配置静态ARP表项防止ARP欺骗
- 使用VPN或加密DNS(如DoH/DoT)
- 对用户进行安全意识培训,识别钓鱼网站
六、技术要点总结
- DNS欺骗依赖于ARP毒化,必须先控制网络流量
- Ettercap的dns_spoof插件简化了DNS欺骗过程
- Setoolkit提供了快速克隆网站的能力
- 单独使用Setoolkit会重定向到真实网站,配合DNS欺骗则持续拦截
- 实际攻击中常结合短域名、高仿域名等社工手段
通过这种组合攻击,攻击者可以有效地窃取用户凭证,而用户可能完全察觉不到异常。