7.2 ARP欺骗原理与Ettercap实战(第19天)
核心目标
-
理解ARP协议与欺骗原理:深入掌握ARP协议的工作机制、ARP缓存中毒原理及其安全风险。
-
掌握Ettercap工具:熟练使用Ettercap进行ARP欺骗、DNS欺骗、会话劫持、密码嗅探等中间人攻击。
-
掌握防御措施:了解ARP欺骗的检测方法和防御策略,如静态ARP绑定、ARP监控工具。
模块一:ARP协议与欺骗原理
1.1 ARP协议基础
-
作用:将IP地址解析为MAC地址,实现局域网内通信。
-
工作流程:
-
主机A想与主机B通信,已知B的IP地址,但不知其MAC地址。
-
A广播发送ARP请求:"谁的IP是B的IP?请告诉A(A的MAC)"。
-
全网主机收到请求,只有B回复ARP响应:"B的IP对应B的MAC"。
-
A将B的IP-MAC映射存入本地ARP缓存表,后续通信使用。
1.2 ARP欺骗原理
-
核心:攻击者向目标主机发送伪造的ARP响应包,篡改其ARP缓存表,使目标误认为攻击者的MAC地址是网关或其他主机的MAC地址。
-
两种模式:
-
主机欺骗:欺骗目标主机,使其将攻击者视为网关。所有出站流量经过攻击者。
-
网关欺骗:欺骗网关,使其将攻击者视为目标主机。所有入站流量经过攻击者。
- 双向欺骗:通常同时实施主机欺骗和网关欺骗,实现全流量拦截。
-
1.3 ARP欺骗危害
-
流量监听:窃取明文传输的密码、会话Cookie、聊天记录等。
-
会话劫持:劫持已建立的会话,冒充用户进行操作。
-
数据篡改:修改传输中的数据(如网页内容)。
-
拒绝服务:通过ARP泛洪攻击导致网络中断。
模块二:Ettercap工具详解
2.1 Ettercap简介
-
功能:完整的套件,用于中间人攻击,支持ARP欺骗、DNS欺骗、SSL剥离等。
-
模式:
-
Unified:统一模式,功能最全。
-
Bridge:桥接模式,用于监听非交换网络。
-
-
界面 :命令行(
-T)、文本图形(-C)、GTK图形界面。
2.2 基本使用流程
-
启用IP转发:使攻击机能够转发数据包,避免目标网络中断。
echo 1 > /proc/sys/net/ipv4/ip_forward #注:开启IP转发以后,从受害者截取到的数据报文会被正常转发出去,使被攻击者不易察觉。 -
启动Ettercap:
sudo ettercap -T -i eth0 -M arp:remote /192.168.1.1// /192.168.1.100//- # -T: 文本界面 # -i: 指定网卡 # -M: 中间人攻击模式,arp:remote表示ARP欺骗 # 目标:网关// 和 目标主机// -
开始攻击:按提示操作,开始嗅探。
2.3 高级功能
-
DNS欺骗:篡改DNS响应,将特定域名解析到攻击者指定的IP。
# 编辑 /etc/ettercap/etter.dns # 添加:*.facebook.com A 攻击者IP sudo ettercap -T -i eth0 -M arp:remote -P dns_spoof /网关IP// /目标IP// #注:这里的目标ip填写的是受害者的ip(对网关说我是受害者 ,对受害者说我是网关) -
SSL剥离:将HTTPS连接降级为HTTP,窃取明文数据(需结合ARP欺骗)。
-
过滤脚本:编写自定义过滤脚本,实现数据包修改、内容替换等。
-
凭证嗅探:自动从流量中提取FTP、HTTP、SMTP、POP3等协议的明文密码。
模块三:实战场景与操作
3.1 基础ARP欺骗与嗅探
-
环境准备:确保攻击机、靶机、网关在同一局域网。关闭无关网络接口。
-
启动欺骗:
sudo ettercap -T -i eth0 -M arp:remote /192.168.1.1// /192.168.1.100// -
观察流量:在Ettercap界面中,可以看到流经攻击机的所有数据包。访问HTTP网站,尝试登录,观察Ettercap是否捕获到密码。
3.2 结合Wireshark深度分析
-
启动ARP欺骗。
-
使用Wireshark捕获:在攻击机上打开Wireshark,选择同一网卡,开始捕获。
-
过滤分析 :使用显示过滤器
http.request.method == POST查找提交表单的请求,追踪TCP流查看明文凭证。
3.3 会话劫持练习
-
捕获Cookie:当目标用户登录网站后,Ettercap可能捕获到Cookie。
-
使用Cookie :在浏览器中安装
EditThisCookie等插件,替换当前会话的Cookie为窃取的Cookie,尝试无需密码访问用户账户。
模块四:防御与检测
4.1 防御措施
- 静态ARP绑定:在主机上设置静态ARP条目,防止被篡改。
# Linux
sudo arp -s 网关IP 网关MAC
# Windows
arp -s 网关IP 网关MAC
-
使用ARP监控工具 :如
Arpwatch,监控ARP表变化并告警。 -
网络分段与VLAN:限制攻击范围。
-
启用DHCP Snooping和DAI:在交换机上配置,防御ARP欺骗。
4.2 检测方法
-
查看ARP缓存:检查是否存在多个IP对应同一MAC地址,或IP对应的MAC地址突然改变。
arp -a -
使用检测工具 :
XArp、ArpON等工具可主动检测ARP欺骗。
模块五:当日达标实战任务
5.1 基础ARP欺骗
-
环境搭建:确保你的Kali攻击机和Windows靶机在同一局域网(如使用VMware的NAT或Host-Only网络)。记录靶机IP和网关IP。
-
实施欺骗:在Kali上使用Ettercap对靶机实施ARP欺骗(双向欺骗靶机和网关)。在靶机上访问一个HTTP网站,在Kali上观察Ettercap的流量输出。
-
验证效果 :在靶机上执行
arp -a,查看网关的MAC地址是否已被篡改为Kali的MAC地址。
5.2 密码嗅探
-
准备靶机:在Windows靶机上访问一个HTTP登录页面(如DVWA的登录页,安全级别Low)。
-
启动嗅探:在Kali上启动Ettercap ARP欺骗,并开始嗅探。
-
提交凭证:在靶机上输入用户名密码(如admin/password)登录。
-
捕获分析:在Ettercap的输出中查找捕获到的HTTP POST请求和明文密码。记录结果。
5.3 防御实践
-
静态ARP绑定:在Windows靶机上,将网关的IP和正确的MAC地址进行静态绑定。再次尝试ARP欺骗,观察是否还能成功。
-
使用Arpwatch :在Kali上安装并运行
arpwatch,然后在另一台主机上尝试ARP欺骗,观察arpwatch的告警日志。
模块六:常见问题与解决方案
6.1 攻击失败
-
Ettercap找不到目标 :检查IP地址是否正确,网络是否连通。使用
netdiscover确认目标在线。 -
ARP欺骗后靶机断网 :确认已开启IP转发(
echo 1 > /proc/sys/net/ipv4/ip_forward)。 -
无法嗅探到HTTPS流量:HTTPS默认加密,Ettercap无法解密。可尝试SSL剥离,但现代浏览器多有防护。
6.2 工具使用
-
Ettercap文本界面不响应 :确保命令输入正确。按
h查看帮助,q退出。 -
DNS欺骗不生效 :检查
etter.dns配置文件,确保域名格式正确,重启Ettercap。
6.3 道德与法律
- 再次强调:ARP欺骗只能在你自己完全控制的网络环境中进行测试,如隔离的虚拟机网络。未经授权对他人网络进行ARP欺骗是违法的。
明日预告 :第20天将学习防火墙基础与规则配置,掌握iptables/netfilter防火墙的工作原理、规则配置、以及穿透防火墙的技术,为后续的横向移动和持久化打下基础。