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

  1. 编辑DNS配置文件:
sudo vim /etc/ettercap/etter.dns
  1. 添加DNS记录:
www.taobao.com A 192.168.1.102
login.taobao.com A 192.168.1.102

DNS记录类型说明

  • A记录:指定域名对应的IP地址
  • PTR记录:IP地址的反向解析,主要用于邮件服务器验证

3. 实施ARP毒化

  1. 使用Ettercap进行ARP欺骗(具体操作参考ARP欺骗相关文档)
  2. 加载dns_spoof插件
  3. 开启嗅探功能

4. 设置钓鱼网站

  1. 启动Setoolkit:
setoolkit
  1. 选择社会工程学攻击(选项1)
  2. 选择网站攻击向量(选项2)
  3. 选择凭证窃取(选项3)
  4. 选择网站克隆功能
  5. 输入目标网站(如https://login.taobao.com/)
  6. 指定攻击机IP(192.168.1.102)

Setoolkit会自动启动Apache服务,无需手动配置。

四、攻击效果

  1. 目标用户访问被欺骗的域名(如login.taobao.com)时:

    • 域名被解析到攻击者服务器(192.168.1.102)
    • 显示与真实网站完全相同的登录界面
  2. 用户输入凭证后:

    • 凭证信息被攻击者捕获
    • 根据配置,可能重定向到真实网站或保持无法访问状态
  3. 攻击者可在后台查看捕获的凭证数据

五、防御措施

  1. 使用DNSSEC(DNS安全扩展)验证DNS响应真实性
  2. 部署HTTPS并启用HSTS防止SSL剥离攻击
  3. 配置静态ARP表项防止ARP欺骗
  4. 使用VPN或加密DNS(如DoH/DoT)
  5. 对用户进行安全意识培训,识别钓鱼网站

六、技术要点总结

  1. DNS欺骗依赖于ARP毒化,必须先控制网络流量
  2. Ettercap的dns_spoof插件简化了DNS欺骗过程
  3. Setoolkit提供了快速克隆网站的能力
  4. 单独使用Setoolkit会重定向到真实网站,配合DNS欺骗则持续拦截
  5. 实际攻击中常结合短域名、高仿域名等社工手段

通过这种组合攻击,攻击者可以有效地窃取用户凭证,而用户可能完全察觉不到异常。

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配置文件: 添加DNS记录: DNS记录类型说明 : A记录 :指定域名对应的IP地址 PTR记录 :IP地址的反向解析,主要用于邮件服务器验证 3. 实施ARP毒化 使用Ettercap进行ARP欺骗(具体操作参考ARP欺骗相关文档) 加载dns_ spoof插件 开启嗅探功能 4. 设置钓鱼网站 启动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欺骗则持续拦截 实际攻击中常结合短域名、高仿域名等社工手段 通过这种组合攻击,攻击者可以有效地窃取用户凭证,而用户可能完全察觉不到异常。