文章总结: 本文深入解析了中间人攻击,重点讲解了其如何利用ARP协议的工作机制与缺陷(如无加密、依赖缓存、操作系统信任未经请求的响应)实施ARP欺骗。文中详细说明了攻击者如何通过工具ettercap伪造ARP响应,将自己插入客户端与网关之间,从而监听并窃取网络流量中的明文凭据。文章还探讨了进阶的伪造SSL/TLS证书攻击,并指出在楼宇控制、工业网络等特定场景中,此类攻击依然存在风险。 综合评分: 85 文章分类: 渗透测试,红队,内网渗透,WEB安全,恶意软件
中间人攻击的基本原理
原创
寰宇秘阁 寰宇秘阁
寰宇密阁
2026年3月31日 10:02 安徽
在内网攻击与防御中,一个非常“古老”、却依然重要的事实是:
只要认证数据以明文形式在网络中传输,就一定有被窃取的可能。
本节将从最基础的网络通信原理出发,解释 ARP 协议为何成为中间人攻击的突破口,以及攻击者是如何利用这一点实现内网监听与凭据窃取的。
一、从网络通信说起:数据是如何被发送的?
在大多数企业网络中,底层仍然以 IPv4 作为主要协议。 一台计算机向另一台计算机发送数据包,至少需要以下信息:
- 目标 IP 地址
- 目标 MAC 地址
- 使用的 端口号(如 HTTP、HTTPS)
这些信息分别对应 ISO/OSI 模型中的不同层级:
| OSI 层级 | 层名称 | 典型信息 | | — | — | — | | 第 2 层 | 数据链路层 | MAC 地址 | | 第 3 层 | 网络层 | IP 地址 | | 第 4 层 | 传输层 | TCP / UDP 端口 |
二、补充基础:ISO/OSI 七层模型
ISO/OSI 模型由 ITU 于 1984 年发布,目的是:
规范不同系统之间的通信方式,降低协议交互复杂度
七层从低到高分别是:
- 物理层(Physical)
- 数据链路层(Data Link)
- 网络层(Network)
- 传输层(Transport)
- 会话层(Session)
- 表示层(Presentation)
- 应用层(Application)
在本文讨论的攻击中,第 2 层和第 3 层 是关键。
三、为什么需要 ARP?
通常情况下:
- 我们知道目标的 IP 地址
- 但并不知道它的 MAC 地址
而在局域网内传输数据时,最终转发依赖的是 MAC 地址。
因此就出现了一个问题:
IP 地址 → MAC 地址,如何映射?
答案是:ARP(Address Resolution Protocol)
四、ARP 的工作机制
1. ARP 请求(ARP Request)
当主机需要与某个 IP 通信时,会向整个局域网广播:
“谁拥有这个 IP 地址?请告诉我你的 MAC 地址。”
这一过程具有几个重要特征:
- 使用 广播
- 不加密
- 无完整性校验
2. ARP 响应(ARP Reply)
如果某台主机拥有该 IP,它会回复一个 ARP 响应,其中包含:
- 自己的 IP 地址
- 自己的 MAC 地址
同样:
- 不加密
- 无完整性保护
五、ARP 的“天生缺陷”
1. ARP 只工作在同一网络内
- ARP 请求无法跨越路由器
- 跨网段时,数据会交给 默认网关
2. 操作系统“过于信任”
为了提高稳定性和容错性:
多数操作系统接受“未经请求”的 ARP 响应
其后果是:
- 新的 ARP 响应可以覆盖旧条目
- 不需要先发 ARP 请求
3. ARP 表的缓存时间
ARP 映射被缓存在本地 ARP 表中:
| 操作系统 | 默认有效期 | | — | — | | Linux | ~60 秒 | | Windows | ~120 秒 |
查看 ARP 表的命令:
arp -a
六、ARP 欺骗(ARP Spoofing)的本质
攻击者可以:
- 伪造 ARP 响应
- 告诉受害者:
- “某个 IP 地址对应的是我的 MAC”
- 把真实通信引流到自己
在交换网络中(交换机位于 OSI 第 2 层):
- 转发依据是 MAC 地址
- 攻击者成为流量接收者
七、从 ARP 欺骗到完整中间人攻击
完整的 Man-in-the-Middle(MITM) 攻击意味着:
-
攻击者同时欺骗:
-
客户端
-
网关
-
所有数据包必须经过攻击者
攻击者可以:
- 被动监听数据
- 记录明文凭据
- 选择性篡改流量
八、ettercap:ARP 欺骗的实战工具
1. 工具简介
常见 ARP 欺骗工具包括:
arpspoofettercapbettercap
其中:
arpspoof:只负责发送 ARP 响应ettercap / bettercap:提供完整 MITM 功能
由于 ettercap 预装在 Kali Linux 中,以下示例使用 ettercap。
九、实验环境与目标信息
- 攻击者:Kali Linux
- 目标主机:Windows 10
- 已知信息(通过
ipconfig获取):
IPv4 Address: 10.10.101.10
Default Gateway: 10.10.101.1
十、使用 ettercap 实施 ARP 欺骗
1. 参数说明
常用参数如下:
| 参数 | 说明 |
| — | — |
| -T | 文本模式 |
| -q | 安静模式 |
| -M | 指定 MITM 方法 |
| arp:remote | 使用 ARP 欺骗 |
2. 目标格式
ARP 欺骗只需要 IP 地址:
/<IP地址>//
3. 启动 ARP 欺骗
root@kali:~# ettercap -TqM arp:remote /10.10.101.10// /10.10.101.1//
此命令表示:
在 Windows 10(10.10.101.10) 与 网关(10.10.101.1)之间 建立中间人位置
十一、明文凭据的捕获效果
一旦 Windows 10 访问 未加密 HTTP 网站并登录, ettercap 会自动识别常见字段名并输出:
HTTP : 176.28.**.***:80 ->
USER: testuser
PASS: secretpass
INFO: http://test***.com/login.php
CONTENT: uname=testuser&pass=secretpass
如果未显示信息,可能原因包括:
- 网站使用 HTTPS
- 表单字段名不常见
字段配置文件位于:
/usr/share/ettercap/etter.fields
十二、正确退出 ettercap(非常重要)
❌ 不要直接使用 Ctrl + C
✅ 使用 交互模式下按 Q
原因是:
ettercap 会自动发送正确的 ARP 响应,恢复网络状态,避免断网事故
十三、进阶:伪造 SSL/TLS 证书
ettercap 支持:
- 复制目标网站证书字段
- 动态生成伪造证书
但需要额外配置:
1. 修改配置文件
编辑:
/etc/ettercap/etter.conf
- 将
ec_uid、ec_gid改为0 - 启用
redir_command_on/redir_command_off(iptables 部分)
2. 重新启动 ettercap
ettercap -TqM arp:remote /10.10.101.10// /10.10.101.1//
浏览器将提示证书不受信任,如果用户手动忽略警告,攻击者即可监听 HTTPS 流量。
十四、现实情况与趋势
如今在普通办公网络中:
- ARP 欺骗 已不再常见
- HTTPS / HSTS 广泛部署
- 浏览器警告更明显
但在以下场景中仍然危险:
- 楼宇和门禁控制系统
- 工业控制网络(ICS)
- 老旧生产系统
- 嵌入式设备网络
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:寰宇密阁 寰宇秘阁 寰宇秘阁《中间人攻击的基本原理》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论