内网 MITM 中间人攻击完整实操|ARP 毒化 + DNS 劫持钓鱼全过程
前言
在内网渗透、等保测评、安全实训中,中间人(MITM)攻击是最经典、最容易复现的基础攻击手段。利用 ARP 协议无身份校验、DNS 解析可篡改两大底层漏洞,攻击者能悄无声息劫持内网全部流量,搭建钓鱼页面窃取账号密码。本文结合虚拟机实验环境,完整拆解攻击原理、Kali Ettercap 实操流程、攻击危害与企业防御方案。
温馨提示:本文仅用于安全学习、授权实验环境演练,严禁在未授权内网、公网实施任何攻击行为,违规操作承担法律责任。
一、中间人攻击核心底层原理
1. ARP 欺骗(ARP 毒化)底层逻辑
ARP 协议作用:IP 地址 ↔ MAC 物理地址映射,局域网通信依靠 MAC 转发数据包。 协议致命缺陷:无身份认证机制,主机收到 ARP 应答包直接更新本地 ARP 缓存,不会校验报文发送方真实性。 攻击者持续发送伪造 ARP 广播包:
- 对靶机:伪造网关 MAC = 攻击者 MAC
- 对网关 / 服务器:伪造靶机 MAC = 攻击者 MAC 双向毒化完成后,靶机与服务器所有网络流量都会先流经攻击者主机,实现流量监听、篡改。
2. DNS 劫持(DNS 欺骗)联动攻击逻辑
单纯 ARP 劫持只能抓流量,结合dns_spoof插件可篡改域名解析应答: 用户访问合法域名(如test.com)时,DNS 查询包被拦截,攻击者返回伪造 A 记录,将域名解析到 Kali 钓鱼网站 IP,用户浏览器自动跳转仿冒登录页面,输入账号密码全部留存。
3 整套攻击链路总结
攻击者 ARP 双向毒化劫持流量 → 拦截 DNS 请求 → 返回伪造解析记录 → 受害者跳转钓鱼站点 → 窃取登录凭据。
二、实验环境搭建
环境拓扑(三台虚拟机同一桥接 / NAT 网段)
- Attacker-PC:Kali Linux(攻击机,Ettercap+Apache 钓鱼)
- DC-Server:Windows Server 2025 域控、IIS 内网站点
- Client-PC:Win7 域内客户机(受害靶机) 网段示例:192.168.52.0/24
前置准备
- Kali 关闭防火墙,放行 80 端口 Apache 服务;
- 搭建仿冒登录钓鱼页面;
- 靶机、攻击机互通,无拦截策略。
三、分步实操:Ettercap 实现 ARP+DNS 劫持
步骤 1:搭建 Apache 钓鱼网站(Kali)
- 启动 Web 服务
bash
运行
systemctl start apache2 systemctl enable apache2 netstat -anptl | grep 80 # 验证80端口监听- 修改站点首页
/var/www/html/index.html编写带账号密码输入的仿后台登录页面,后端脚本接收并保存输入的账号密码到日志文件; - 浏览器访问 Kali 本机 IP,确认钓鱼页面正常加载。
步骤 2:配置 Ettercap DNS 欺骗规则
- 进入 Ettercap 配置目录,编辑劫持规则文件
bash
运行
cd /etc/ettercap vim etter.dns- 在文件末尾添加劫持规则
plaintext
test.com A 192.168.~~~ # 替换为你的Kali本机IP *.test.com A 192.168.~~~- 含义:所有访问test.com及其子域名的解析请求,全部指向攻击机 IP
- 保存退出 vim:按
ESC,输入:wq
步骤 3:图形化 Ettercap 实施中间人攻击
- 启动图形界面
bash
运行
ettercap -G- 选择网卡 eth0,点击对勾进入主界面;
- 扫描全网存活主机:
Hosts → Scan for hosts,扫描完成打开主机列表; - 设置双向欺骗靶机:
- Target1:DC-Server(域名服务器 / 网关)IP
- Target2:Client-PC 受害主机 IP
- 开启 ARP 毒化攻击:顶部
MITM → ARP Poisoning,默认双向毒化,确认启动; - 加载 DNS 欺骗插件:
Plugins → Manage plugins,双击dns_spoof启用,插件旁出现 * 代表激活成功。
步骤 4:靶机验证劫持效果
- Win7 CMD 刷新 DNS 缓存,清除旧解析记录
cmd
ipconfig /flushdns- ping test.com,返回 IP 为 Kali 攻击机地址,证明 DNS 解析被篡改;
- 浏览器访问
http://test.com,页面跳转 Kali 搭建的钓鱼登录站; - 在钓鱼页面输入账号密码,Kali 后台日志可抓取完整凭据。
四、中间人攻击真实危害
- 凭据窃取:内网 OA、后台、邮箱、域账号密码明文捕获;
- 页面篡改:正常网页植入木马、广告、恶意下载链接;
- 会话劫持:窃取 Cookie,无需密码直接登录用户账号;
- 业务中断:单向 ARP 欺骗可制造断网故障;
- 横向渗透:劫持流量获取内网服务地址,进一步攻击服务器。
五、企业内网防御方案(运维 / 等保必看)
1. 二层交换机防护(核心防御)
- 开启DAI 动态 ARP 检测,校验 ARP 报文合法性,拦截伪造 ARP 包;
- 部署 DHCP Snooping,绑定 IP-MAC 静态映射,杜绝 ARP 缓存篡改。
2. 终端 & 服务器加固
- 关键服务器、网关配置静态 ARP 绑定,拒绝动态更新缓存;
- 终端安装 EDR 安全软件,监控异常 ARP 广播;
- 优先使用 HTTPS 全站加密,HTTPS 流量无法简单劫持(无证书无法解密)。
3. DNS 安全加固
- 内网部署 DNSSEC,解析记录带数字签名,中间人无法篡改应答;
- 禁用不必要域名转发,使用加密 DNS DoH/DoT;
- 定期监控异常域名解析、批量跳转行为。
4. 网络准入管控
企业内网部署 NAC 准入控制,非法设备接入直接隔离,从源头杜绝攻击者主机接入局域网。
六、实验总结
- ARP 无认证是中间人攻击底层根源,DNS 配置不当放大劫持危害;
- Ettercap 一站式完成扫描、ARP 毒化、DNS 劫持,是内网渗透入门核心工具;
- HTTP 网站极易被劫持,HTTPS 能大幅提升攻击门槛;
- 防御核心:交换机安全特性 + 静态 ARP + 加密传输 + 网络准入多层防护。
拓展思考题(学习自测)
- 只做单向 ARP 欺骗会出现什么效果?双向欺骗的作用是什么?
- 为什么 HTTPS 网站无法通过本实验手段窃取账号?
- 发现内网存在 ARP 欺骗攻击,第一时间排查哪些设备?
博客尾部合规声明
本文仅用于网络安全学习、授权实验室安全演练,任何未经授权对企业、公共网络实施中间人劫持、流量窃听、钓鱼攻击均违反《网络安全法》《刑法》相关规定,请勿用于非法场景。