部分中间人攻击手法简介
字数 2368 2025-08-20 18:17:41

中间人攻击手法详解

中间人攻击简介

中间人攻击(Man-in-the-Middle Attack,简称MITM攻击)是一种网络安全攻击,攻击者通过在通信的两端之间插入恶意节点,从而达到监视、篡改或劫持通信流量的效果。

常见中间人攻击手法

  1. ARP欺骗(ARP Spoofing): 攻击者发送ARP欺骗包,让受害者误认为攻击者的MAC地址是目的IP对应的MAC地址,从而将流量导向攻击者。

  2. DNS欺骗(DNS Spoofing): 攻击者篡改DNS服务器的记录,使受害者访问网站时被重定向到攻击者控制的网站。

  3. SSL压制(SSL Stripping): 攻击者压制受害者和服务器之间的SSL/TLS加密连接,使用明文传输窃取信息。

  4. WiFi伪装(Evil Twin): 攻击者设置一个与正规WiFi相似的假冒网络,诱使用户连接,获取网络流量。

  5. 会话劫持(Session Hijacking): 攻击者通过获取会话标识符,接管受害者与服务器之间的会话。

ARP欺骗攻击详解

ARP协议原理

地址解析协议(ARP)是根据IP地址获取物理地址的TCP/IP协议。主机发送包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息确定目标的物理地址。

ARP欺骗手法

  1. 攻击者使用ARP欺骗工具发送ARP响应报文,声称自己的MAC地址是受害者要找的IP的MAC。
  2. 受害者接收到响应后会更新自己的ARP缓存,之后发往该IP的流量就会发往攻击者。

ARP欺骗效果

  • 窃听通信内容
  • 劫持会话
  • 进行网站钓鱼等攻击
  • 控制受害者和服务器之间的通信
  • 修改传输的数据包内容
  • 选择性劫持部分特定流量

实际操作步骤

  1. 网络拓扑准备:

    • 受害者:192.168.243.128 (00-0C-29-12-DC-7A)
    • 攻击者:192.168.243.129 (00:0c:29:f7:fb:a8)
    • 提前开启抓包工具对虚拟网卡进行抓包
  2. 执行ARP欺骗命令:

    arpspoof -i <网卡接口> -t <目标的内网地址> <网关ip>
    
  3. 验证攻击效果:

    • 在抓包软件中可以看到攻击者发出大量ARP response包
    • 检查受害者设备的ARP表,发现网关地址的MAC已被污染为攻击者的MAC
  4. 流量转发设置:

    su -
    echo 1 >/proc/sys/net/ipv4/ip_forward
    
    • 0为不转发,1为启用流量转发
    • 启用后受害者可以正常上网,同时流量被攻击者截获

DNS劫持攻击详解

DNS劫持原理

DNS劫持通过伪造DNS响应欺骗受害者,将域名解析到攻击者控制的IP地址。

DNS劫持手法

  1. 欺骗受害者的DNS服务器,发送虚假的域名解析响应
  2. 中毒本地网络的DNS缓存服务器
  3. 通过ARP欺骗成为"中间人"
  4. 攻击域名注册商或云服务器

DNS劫持效果

  • 受害者连接到攻击者指定的错误IP地址
  • 流量重定向到钓鱼网站或恶意服务器
  • 中间人攻击受害者与服务器的通信
  • 选择性劫持特定域名
  • 记录受害者的上网记录

实际操作步骤

  1. 搭建DNS服务器:

    • 使用AdGuard搭建DNS服务器
    • 关闭过滤规则、DNS黑白名单
    • 项目地址: https://github.com/AdguardTeam/AdGuardHome
  2. ARP欺骗下的DNS劫持:

    • 首先完成ARP欺骗成为中间人
    • 使用wireshark确认受害者默认DNS服务器(如192.168.243.2)
    • 使用iptables重定向DNS流量:
      iptables -t nat -A PREROUTING -p udp --dport 53 -d 192.168.243.2 -j DNAT --to-destination 192.168.243.129:53
      
    • 检查nat表规则:
      iptables -t nat -L
      iptables -L
      
    • 删除规则命令:
      iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-port 5353
      iptables -t nat -D PREROUTING -p udp --dport 53 -d 8.8.8.8 -j DNAT --to-destination 127.0.0.1:53
      
  3. 直接修改受害者DNS:

    • 控制受害者网络出口路由器或其电脑权限
    • 修改电脑或路由器上的DNS为攻击者的DNS服务器

HTTP/HTTPS流量劫持详解

工具准备 - mitmproxy

mitmproxy是一个交互式的中间代理HTTP和HTTPS的控制台界面。

特点

  • 中间人代理,拦截和修改流量
  • 保存完整的HTTP会话
  • 重放HTTP对话
  • 反向代理模式
  • 透明代理模式
  • 使用Python脚本化更改HTTP流量
  • SSL/TLS证书即时生成

工具使用

  • mitmproxy: 命令行界面
  • mitmdump: 命令行模式,类似tcpdump
  • mitmweb: Web界面

启动命令: mitmweb (默认监听8080端口)

流量重定向方法

  1. ARP欺骗后的流量重定向:

    # 将所有访问80和443流量转发至8080端口
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
    
    # 只转发指定IP的流量
    iptables -t nat -A PREROUTING -s 192.168.243.128 -p tcp --dport 80 -j REDIRECT --to-ports 8080
    iptables -t nat -A PREROUTING -s 192.168.243.128 -p tcp --dport 443 -j REDIRECT --to-ports 8080
    
  2. DNS劫持后的流量重定向:

    • 对要劫持的域名进行DNS重写
  3. 非标准端口的流量重定向:

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8443 -j REDIRECT --to-port 8080
    

信任根证书后的流量劫持

证书安装方法

  1. 自动安装:

    • 启动mitmproxy并配置目标设备代理设置
    • 在设备浏览器访问mitm.it
    • 选择对应平台的证书安装
  2. 手动安装:

    • mitmproxy CA证书位于~/.mitmproxy
    • 包含以下文件:
      • mitmproxy-ca-cert.pem: PEM格式证书
      • mitmproxy-ca-cert.p12: PKCS12格式证书(用于Windows)
      • mitmproxy-ca-cert.cer: 与.pem相同(某些Android设备需要)

具体安装步骤

  1. 手动导入根证书:

    • 双击证书文件导入本地计算机
    • 选择"受信任的根证书颁发机构"
  2. 命令行导入根证书(需要管理员权限):

    CertUtil -enterprise -f -addstore Root .\mitmproxy-ca-cert.cer
    

防护措施

  1. 不忽略HTTPS证书警告:

    • 当出现证书错误时不要强行继续访问
  2. 加强根证书管控:

    • 不安装可疑的根证书
    • 监控证书存储位置:
      • 当前用户证书: HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates
      • 本地计算机证书: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates
  3. 使用HIPS工具:

    • 如火绒等工具监控相关注册表变更
  4. 网络层防护:

    • 使用静态ARP表
    • 部署ARP防护软件
    • 使用DNSSEC保护DNS查询
  5. 安全意识:

    • 不连接可疑WiFi网络
    • 定期检查网络设置
    • 使用VPN加密所有流量
中间人攻击手法详解 中间人攻击简介 中间人攻击(Man-in-the-Middle Attack,简称MITM攻击)是一种网络安全攻击,攻击者通过在通信的两端之间插入恶意节点,从而达到监视、篡改或劫持通信流量的效果。 常见中间人攻击手法 ARP欺骗(ARP Spoofing) : 攻击者发送ARP欺骗包,让受害者误认为攻击者的MAC地址是目的IP对应的MAC地址,从而将流量导向攻击者。 DNS欺骗(DNS Spoofing) : 攻击者篡改DNS服务器的记录,使受害者访问网站时被重定向到攻击者控制的网站。 SSL压制(SSL Stripping) : 攻击者压制受害者和服务器之间的SSL/TLS加密连接,使用明文传输窃取信息。 WiFi伪装(Evil Twin) : 攻击者设置一个与正规WiFi相似的假冒网络,诱使用户连接,获取网络流量。 会话劫持(Session Hijacking) : 攻击者通过获取会话标识符,接管受害者与服务器之间的会话。 ARP欺骗攻击详解 ARP协议原理 地址解析协议(ARP)是根据IP地址获取物理地址的TCP/IP协议。主机发送包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息确定目标的物理地址。 ARP欺骗手法 攻击者使用ARP欺骗工具发送ARP响应报文,声称自己的MAC地址是受害者要找的IP的MAC。 受害者接收到响应后会更新自己的ARP缓存,之后发往该IP的流量就会发往攻击者。 ARP欺骗效果 窃听通信内容 劫持会话 进行网站钓鱼等攻击 控制受害者和服务器之间的通信 修改传输的数据包内容 选择性劫持部分特定流量 实际操作步骤 网络拓扑准备 : 受害者:192.168.243.128 (00-0C-29-12-DC-7A) 攻击者:192.168.243.129 (00:0c:29:f7:fb:a8) 提前开启抓包工具对虚拟网卡进行抓包 执行ARP欺骗命令 : 验证攻击效果 : 在抓包软件中可以看到攻击者发出大量ARP response包 检查受害者设备的ARP表,发现网关地址的MAC已被污染为攻击者的MAC 流量转发设置 : 0为不转发,1为启用流量转发 启用后受害者可以正常上网,同时流量被攻击者截获 DNS劫持攻击详解 DNS劫持原理 DNS劫持通过伪造DNS响应欺骗受害者,将域名解析到攻击者控制的IP地址。 DNS劫持手法 欺骗受害者的DNS服务器,发送虚假的域名解析响应 中毒本地网络的DNS缓存服务器 通过ARP欺骗成为"中间人" 攻击域名注册商或云服务器 DNS劫持效果 受害者连接到攻击者指定的错误IP地址 流量重定向到钓鱼网站或恶意服务器 中间人攻击受害者与服务器的通信 选择性劫持特定域名 记录受害者的上网记录 实际操作步骤 搭建DNS服务器 : 使用AdGuard搭建DNS服务器 关闭过滤规则、DNS黑白名单 项目地址: https://github.com/AdguardTeam/AdGuardHome ARP欺骗下的DNS劫持 : 首先完成ARP欺骗成为中间人 使用wireshark确认受害者默认DNS服务器(如192.168.243.2) 使用iptables重定向DNS流量: 检查nat表规则: 删除规则命令: 直接修改受害者DNS : 控制受害者网络出口路由器或其电脑权限 修改电脑或路由器上的DNS为攻击者的DNS服务器 HTTP/HTTPS流量劫持详解 工具准备 - mitmproxy mitmproxy是一个交互式的中间代理HTTP和HTTPS的控制台界面。 特点 中间人代理,拦截和修改流量 保存完整的HTTP会话 重放HTTP对话 反向代理模式 透明代理模式 使用Python脚本化更改HTTP流量 SSL/TLS证书即时生成 工具使用 mitmproxy : 命令行界面 mitmdump : 命令行模式,类似tcpdump mitmweb : Web界面 启动命令: mitmweb (默认监听8080端口) 流量重定向方法 ARP欺骗后的流量重定向 : DNS劫持后的流量重定向 : 对要劫持的域名进行DNS重写 非标准端口的流量重定向 : 信任根证书后的流量劫持 证书安装方法 自动安装 : 启动mitmproxy并配置目标设备代理设置 在设备浏览器访问mitm.it 选择对应平台的证书安装 手动安装 : mitmproxy CA证书位于 ~/.mitmproxy 包含以下文件: mitmproxy-ca-cert.pem : PEM格式证书 mitmproxy-ca-cert.p12 : PKCS12格式证书(用于Windows) mitmproxy-ca-cert.cer : 与.pem相同(某些Android设备需要) 具体安装步骤 手动导入根证书 : 双击证书文件导入本地计算机 选择"受信任的根证书颁发机构" 命令行导入根证书 (需要管理员权限): 防护措施 不忽略HTTPS证书警告 : 当出现证书错误时不要强行继续访问 加强根证书管控 : 不安装可疑的根证书 监控证书存储位置: 当前用户证书: HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates 本地计算机证书: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates 使用HIPS工具 : 如火绒等工具监控相关注册表变更 网络层防护 : 使用静态ARP表 部署ARP防护软件 使用DNSSEC保护DNS查询 安全意识 : 不连接可疑WiFi网络 定期检查网络设置 使用VPN加密所有流量