中间人攻击
了解攻击者如何拦截并篡改双方之间的通信
中间人攻击 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
什么是中间人攻击
在中间人(MitM)攻击中,攻击者秘密拦截并转发两方之间的通信,而双方都以为彼此在直接通信。攻击者可以读取、修改或注入数据。
ARP 欺骗
ARP(地址解析协议)欺骗会在局域网上发送伪造的 ARP 消息,将攻击者的 MAC 地址与合法的 IP 地址关联起来。这会将流量重定向到攻击者的机器。
这种攻击在未分段的二层网络上很有效——这正是网络分段很重要的原因。
DNS 欺骗
DNS 欺骗会返回伪造的 DNS 响应,将目标重定向到攻击者控制的服务器。结合虚假的登录页面后,这种攻击可以窃取凭据。DNSSEC 通过以加密方式验证 DNS 响应来防止这种攻击。
SSL 剥离
SSL 剥离会将 HTTPS 连接降级为 HTTP。攻击者位于客户端和服务器之间,对服务器保持 HTTPS 连接,同时向受害者提供 HTTP。正确配置的 HSTS(HTTP 严格传输安全)标头可以防止这种攻击。
恶意 Wi-Fi 接入点
攻击者会创建一个使用可信名称的 Wi-Fi 热点(例如,“Airport_Free_WiFi”)。受害者连接后,所有流量都会经过攻击者的设备。这种情况在咖啡馆和机场很常见——在不受信任的网络上始终使用 VPN。
BGP 劫持
BGP(边界网关协议)劫持是一种大规模中间人攻击,攻击者(通常是国家级行动者或恶意互联网服务提供商)宣布虚假的 BGP 路由,将互联网流量重定向到其基础设施。这种攻击一次可以影响数百万用户。
电子邮件中间人攻击:SMTP 拦截
当服务器未强制 SMTP 使用 TLS 时,攻击者可以拦截邮件。STARTTLS 降级攻击会移除传输中邮件的加密。SMTP MTA-STS 和 DANE 策略可以强制使用加密邮件传送。
HTTPS 证书攻击
如果受害者的设备信任恶意 CA,攻击者就可以出示伪造的 TLS 证书,从而解密 HTTPS 流量。证书透明度日志和浏览器证书固定(HPKP,虽然已弃用)可以降低这一风险。
检测技术
检测中间人攻击:
- ARP 表异常——MAC 地址重复
- 证书意外变更
- 延迟增加(流量经由额外跃点路由)
- 网络监控以及针对 ARP 欺骗的 IDS 警报
防护策略
防止中间人攻击:
- 全程使用安全超文本传输协议并启用 HSTS
- 使用 DNSSEC 确保 DNS 完整性
- 在移动应用中使用证书固定
- 在不受信任的网络上使用虚拟专用网络
- 网络分段与动态 ARP 检查(DAI)
中间人攻击中的渗透测试
渗透测试人员会使用以下工具:
- 使用
arpspoof或bettercap进行 ARP 欺骗 - 使用
mitmproxy或 Burp Suite 拦截超文本传输协议 - 使用
ettercap进行协议分析
始终需要书面授权。
bettercap -iface eth0
# then in bettercap:
arp.spoof on
net.sniff on快速检查:中间人攻击
哪种攻击会拦截安全超文本传输协议连接,并向受害者提供明文超文本传输协议,从而可能将其流量暴露为明文?
课程回顾
中间人攻击会拦截双方之间的通信。相关技术包括 ARP 欺骗、DNS 欺骗、SSL 剥离和恶意 Wi-Fi。防护需要使用配合 HSTS 的安全超文本传输协议、DNSSEC、证书透明度以及动态 ARP 检查等网络控制措施。虚拟专用网络可以保护不受信任网络上的流量。
常见问题解答
「中间人攻击」课时是免费的吗?
是的 — 「中间人攻击」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「中间人攻击」这节课中我会学到什么?
了解攻击者如何拦截并篡改双方之间的通信 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「中间人攻击」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。